Generally, this is because the xen-blkfront.ko module is not loaded during the startup. You need to modify OS kernel startup parameters. Figure 1 shows the startup screen after the login to the ECS.
Perform the following operations to modify OS kernel boot parameters:
These operations must be performed after the OS starts. You are advised to modify kernel boot parameters in the ECS used for creating the image.
vi /boot/grub2/grub.cfg
Search for the line that contains root=UUID= and add xen_emul_unplug=all to the end of the line.
menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core) with debugging' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-bf3cc825-7638-48d8-8222-cd2f412dd0de' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' bf3cc825-7638-48d8-8222-cd2f412dd0de
else
search --no-floppy --fs-uuid --set=root bf3cc825-7638-48d8-8222-cd2f412dd0de
fi
linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=bf3cc825-7638-48d8-8222-cd2f412dd0de xen_emul_unplug=all ro crashkernel=auto rhgb quiet systemd.log_level=debug systemd.log_target=kmsg
initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img
}