centos7: boot error dracut-initqueue after converting virtual disk

I installed centos7 on Ubuntu 16.04 KVM with qcow2 disk format.

To deploy my centos maschine I need it in vhdx disk format to support Microsoft's Hyper-V. I used qemu-image to convert it from qcow2 file format to vhdx.

qemu-img convert -O vhdx centos.qcow2 centos.vhdx

When I create in Microsoft's Hyper-V a new generation 1 vm with the centos.vhdx disk file I get an error like

dracut-initqueue[220]: Warning dracut-initqueue timeout - starting timeout scripts

See my bootscren: Bootscreen

How I can fix this issue?


Solution 1:

Download the Centos7 DVD, boot from the DVD and rescue a centos system.

Follow this: https://wiki.centos.org/TipsAndTricks/CreateNewInitrd

Be sure to skip to "to build it for a specific kernel version"

I have had the same going from Virtualbox to Hyper-V.

Solution 2:

Run this in the VM before you clone it:

dracut --force --no-hostonly

After you clone the VM, boot it and run:

dracut --force

If you've already cloned the VM, you can connect the virtual disk to IDE to boot it (as noted by others) and run the first command. Make sure you shutdown the VM and re-attach the disk to the correct controller before running the second command.

The first command rebuilds the initramfs with all drivers available. The second command rebuilds the initramfs with only the drivers needed by the current system (default). Tested by going from Hyper-V to ESXi 6.5 w/ PVSCSI.

From: https://fedoramagazine.org/initramfs-dracut-and-the-dracut-emergency-shell/