libvirt не может загрузить гостевую систему windows-uefi с хранилищем virtio

libvirt не может загрузить гостевую систему windows-uefi с хранилищем virtio

у меня hyper-v gen2 win-guest и мне нужно мигрировать на kvm с libvirt. Я конвертирую одного гостя из vhdx в qcow2 с qemu-img, запускаю его с qemu-system и hda-drive, устанавливаю драйверы virtio. После этого я запускаю его с virtio storage с помощью этой командной строки:

 qemu-system-x86_64 -machine type=pc-q35-2.8 \
-accel kvm -cpu host \
--bios /usr/share/OVMF/OVMF_CODE.fd \
-m 2048 -smp 2 \
-drive file=/var/lib/libvirt/image
/dc02.qcow2,index=0,media=disk,if=virtio \
-spice addr=192.168.69.108,port=5910,disable-ticketing

Гость успешно запускается, командлет PowerShell «get-disk» отображает «Red Hat VirtIO SCSI Disk Device», так что все выглядит нормально.

Следующая команда была:

    virt-install --name dc02 --memory 1024,maxmemory=2048 \
--vcpus 1 --cpu host --boot uefi,hd,network \
--disk /var/lib/libvirt/images/dc02.qcow2,bus=virtio \
--network bridge=br.27,model=virtio --video=qxl \
--memballoon virtio --hvm --controller usb3 \
--machine=q35 --graphics spice,listen=192.168.69.108

Гостевая система запускается и попадает в цикл загрузки с BSOD «Недоступное загрузочное устройство» и не загружается даже в безопасном режиме. Изменение virtio на sata помогает запустить гостевую систему, но мне нужен virtio.бревнодля bootloop. Где я ошибся?

Я нашел решение, и оно было довольно простым. Я решил взять virtio-drive из другого win-гостя и прикрепить его к проблемному гостю, как я сделал на первом этапе с qemy-system

    virt-install --name dc02 --memory 1024,maxmemory=2048 --vcpus 1 \
--cpu host-passthrough --boot uefi,hd,network \
--disk /var/lib/libvirt/images/dc02.qcow2,bus=sata \
--disk /var/lib/libvirt/images/parus03.qcow2,bus=virtio \
--network bridge=br.27,model=virtio --video=qxl \
--memballoon virtio --hvm --controller usb3 \
--machine=q35 --graphics spice,listen=192.168.69.108

Guest успешно стартует, get-disk показывает два диска: QEMUDISK и Red Hat VirtIO SCSI Disk Device. Я выключаю vm, удаляю parus03.qcow2, заменяю "sata" на "virtio" для dc02 и запускаю vm. Она успешно загружается, get-disk показывает "Red Hat VirtIO SCSI Disk Device". Так что я получаю то, что хочу.

Связанный контент