Назад | Перейти на главную страницу

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

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

 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. журнал для бутлупа. Где я ошибся?

Я нашел решение, и это было довольно просто. Я решил взять 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

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