Libvirt QEMU/KVM cannot create windows VM in Fedora 39

I recently tried the upgrade to Fedora 39. Almost everything works fine, except when trying to boot a windows virtual machine with libvirt. When I try to start an old windows vm image or create a new one, the screen of the vm just stays black. I do not even get the tianocore logo when booting the vm. Note that I can create a Fedora 38 vm just fine, the issue only seems to affect windows virtual machines. Any suggestions of how to fix this problem?
The problem occurs on both of my machines where I have tried Fedora 39.

EDIT: Plot twist: Similar bug occurs when trying to create a Fedora 39 virtual machine in UEFI secureboot mode. Default is apperently legacy BIOS (wasn’t support for booting on BIOS suggested to be removed?).
Found the bug to be reported here: 2241388 – Existing OVMF_VARS_4M.secboot.qcow2 UEFI VMs fail to boot with edk2 20230825-16

Issue seems to be in the edk2-ovmf package. Copr with fixed package is available here: kraxel/edk2.testbuilds Copr

Thanks, though I think the issue here is different. The issue here seems to be affecting any vm when using UEFI with secureboot, regardless if it is a windows vm or a Fedora vm. When selecting UEFI without secureboot in libvirt, then everything seems to work. edk2-ovmf update is being worked on to fix this, in the mean time the copr works great.

Note that the issues I was experiencing affected both OVMF_CODE.secboot.fd as well es OVMF_CODE.secboot.qcow2. Note that I do not need to use any _4M version after installing the copr edk2-ovmf package.

1 Like