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

У меня есть Hyper-V Gen2 Win-Guest и мне нужно перейти на 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", поэтому все выглядит нормально.

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

    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

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

Я нашел решение, и это было довольно просто. Я решил взять virtio-drive у другого win-guest и подключить его к проблемному гостю, как я это делал на первом шаге с 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". Так что я получаю то, что хочу.

0 ответов

Другие вопросы по тегам