
Hi The first issue of booting UEFI guests at all is resolved, honestly I don't know what I messed up the first time with Windows guests. TL;DR: Q35 and UEFI (with or without SecureBoot) should do the job in many cases.
Can you give a try of the workaround in https://bugzilla.redhat.com/show_bug.cgi?id=1727987#c0 ?
At least it works for RHEL 8 (and most probably CentOS 8). Thanks for pointing to this Bugzilla. But no, I'm pretty certain it's only partially related in the case for Debian. I've tried to replicate your findings with both RHEL and CentOS 8.0 ISOs but failed to get the guests booted into the installed (Stops at "pciehp... Failed to check link status") nonetheless I'll share my findings with Debian on that bug if possible.
TL;DR: The issue affecting Debian and openSuse however ends up being the same: Lack of a persistent NVRAM in oVirt guests as Michael Skrivanek as outlined there. While openSuse has its own signing keys but in the "default right"place for OVMF (boot/bootx64.efi), Debian has obtained a Microsoft-signed shim loader like RHEL but doesn't put in the place where the non-persisted OVMF is looking for (debian/shimx64.efi). ("mokutil --db" from a UEFI guest shows the 2 main Microsoft UEFI CAs included in the OVMF image of oVirt guests.) Ubuntu - confirmed with 18.04 - seems to do something clever: They seem to put an extra copy of ubuntu/shimx64.efi into the default location boot/boox64.efi where even the most broken UEFI implementations (read: often old physical ones in my experience) look for a loader. RHEL8 seems to do a similar thing on other UEFI platforms, but I've only been able to get RHEL8 booted/installed in UEFI mode on (FreeBSD) bhyve as of writing. Debian doesn't do that sort of thing (yet) so you need to copy debian/shimx64.efi to BOOT/BOOTX64.EFI then booting works. You need to manually update that copy on Debian whenever they ship a new version of that binary but at least it does work. Regards, Mathieu