Windows Guest Best Practices / error in documentation

I believe “Windows Guest Best Practices” section for OpenNebula has several contradictory instructions.
Documentation says:
On each host, you should backup the original firmware files in case you need to restore or use them as well:

cd /usr/share
mkdir backup_OVMF
mv edk2 qemu OVMF backup_OVMF/

After that you should copy the new files into their places:

cd /path/to/download/RPM/extracted/usr/share/
cp -r edk2 qemu OVMF /usr/share/.

Unfortunately when the qemu folder included in any rpm files (I used RockyLinux 9 edk2-ovmf-20240524-6.el9_5.3.noarch.rpm) contains only firmware subfolder. If original /usr/share/qemu folder is moved to backup and replaced, it’s missing all necessary files to lunch any VM.

Next instruction says:
You’ll also need to update the configuration file at /etc/one/vmm_exec/vmm_exec_kvm.conf to include these new files as well. Example:

OVMF_UEFIS = "/usr/share/OVMF/OVMF_CODE.fd /usr/share/OVMF/OVMF_CODE.secboot.fd /usr/share/AAVMF/AAVMF_CODE.fd /usr/share/backup_OVMF/OVMF/OVMF_CODE.fd /usr/share/backup_OVMF/OVMF/OVMF_CODE.secboot.fd"

downloaded OVMF folder has only following 4 symlinks:
OVMF_CODE.secboot.fd → …/edk2/ovmf/OVMF_CODE.secboot.fd
OVMF_VARS.fd → …/edk2/ovmf/OVMF_VARS.fd
OVMF_VARS.secboot.fd → …/edk2/ovmf/OVMF_VARS.secboot.fd
UefiShell.iso → …/edk2/ovmf/UefiShell.iso

Suggested entry would point to non-exist files, i.e /usr/share/OVMF/OVMF_CODE.fd
Even thought I fixed both issues by coping all files from …/usr/share/edk2/ovmf straight to /usr/share/OVMF,
and was able to boot Windows 11 ISO, the end result is till nogo.

After going through several screen: “Press any key to boot from CD or DVD…”, “Tianocore”, few minutes for the ISO to load, I eventually saw the Windows Setup window. Clicked through: chose language, time, keyboard, product key, … PC does not currently meet Windows 11 requirements.
VM logs has no errors.

Hello @lelik67,

Thank you for highlighting these issues. Let see if I can walk you through those points and add some clarity:

1. Backing Up Firmware:

The documentation advises backing up the original firmware files:

cd /usr/share
mkdir backup_OVMF
mv edk2 qemu OVMF backup_OVMF/

However, as you’ve observed, replacing the entire qemu directory can lead to missing essential files, especially if the RPM package’s qemu folder contains only the firmware subdirectory. To avoid this, it’s advisable to back up and replace only the specific firmware subdirectories, ensuring that other critical files within the qemu directory remain unaffected.

2. OVMF Folder and Configuration:

You’ve noted discrepancies with the OVMF folder contents and the configuration paths. The documentation suggests updating /etc/one/vmm_exec/vmm_exec_kvm.conf with paths like /usr/share/OVMF/OVMF_CODE.fd. If these files are symbolic links pointing to /usr/share/edk2/ovmf/, it’s essential to verify their validity. If they don’t exist, adjusting the configuration to point directly to the correct locations, such as /usr/share/edk2/ovmf/OVMF_CODE.fd, can resolve this issue.

3. Windows 11 Installation Requirements:

Encountering the “PC does not currently meet Windows 11 requirements” message indicates that the VM’s configuration might be missing necessary features, such as TPM (Trusted Platform Module) support. To address this:

  • Enable TPM Support: Ensure that the VM template includes TPM passthrough or emulation.
  • Enable Secure Boot: Verify that Secure Boot is enabled in the VM’s firmware settings.
  • Meet Hardware Requirements: Confirm that the VM meets all other Windows 11 hardware requirements, such as sufficient CPU cores, RAM, and disk space.

Best regards,