libvirt no puede iniciar el invitado Windows-uefi con almacenamiento virtio

libvirt no puede iniciar el invitado Windows-uefi con almacenamiento virtio

Tengo hyper-v gen2 win-guest y necesito migrar a kvm con libvirt. Convierto un invitado de vhdx a qcow2 con qemu-img, lo inicio con qemu-system y hda-drive, instalo los controladores virtio. Después de eso, lo inicio con el almacenamiento virtio con esa línea de comando:

 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

El invitado se inicia correctamente, el cmdlet de PowerShell "get-disk" muestra "Dispositivo de disco SCSI Red Hat VirtIO", por lo que todo parece estar bien.

El siguiente comando fue:

    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

El invitado se inicia y entra en el ciclo de arranque con BSOD "Dispositivo de inicio inaccesible" y no arranca ni siquiera en un inicio seguro. Cambiar virtio a sata ayuda a iniciar el invitado, pero necesito virtio.registropara bucle de arranque. ¿Dónde me equivoqué?

Encontré una solución y fue bastante simple. Decido tomar virtio-drive de otro win-guest y adjuntarlo al invitado problemático como lo hice en el primer paso con 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

Estrellas invitadas exitosas, get-disk muestra dos discos: QEMUDISK y Red Hat VirtIO SCSI Disk Device. Apago vm, elimino parus03.qcow2, reemplazo "sata" por "virtio" para dc02 e inicio vm. Su arranque exitoso, get-disk muestra "Dispositivo de disco SCSI Red Hat VirtIO". Entonces obtengo lo que quiero.

información relacionada