On 5/19/25 19:30, Paul Larochelle via Users wrote: > Hello, > > I'm writing to better understand a surprising discrepancy I encountered > while attempting to install Windows 11 in different virtualization > environments. > > On my Arch Linux system, I tested two setups: > > 1. **VirtualBox (GUI):** Windows 11 installs successfully out of the box. > 2. **QEMU/KVM with libvirt (manually crafted XML):** Windows 11 refuses > to install, stating that the system doesn't meet the requirements. > > The libvirt domain configuration includes: > - UEFI boot using OVMF (`OVMF_CODE.4m.fd` and `OVMF_VARS.ms.fd`)
I have no idea what these ^^^ are since they are not what I usualy encounter. Nevertheless, it looks there's OVMF_CODE_4m.secboot.fd which would suggest it has secure boot enabled while the _CODE you chose hasn't? > - TPM 2.0 emulator (`tpm-crb` with `backend type='emulator' version='2.0'`) > - Secure Boot enabled (verified using Microsoft-signed vars) > - 8 GiB of RAM, 4 vCPUs > - VirtIO disk + virtio-win ISO attached > - QXL or VirtIO video model > - `<hyperv>` feature set enabled > - Valid boot order (CD-ROM first, then disk) > > Despite this, Windows 11 either refuses installation with the "This PC > can't run Windows 11" message or fails to detect a valid bootable device. > > In contrast, VirtualBox seems to pass all checks without exposing TPM > configuration explicitly or enabling Secure Boot manually. > > --- > > **My question:** > > What is VirtualBox doing under the hood that makes Windows 11 accept the > environment without issues? > > - Is it exposing a minimal TPM implicitly? > - Is it modifying SMBIOS/ACPI fields in a way that satisfies Windows > validation logic? > - Are there known tricks or missing XML elements in libvirt domains to > replicate this behavior? Using virt-install I install Windows 11 happily. I never tried to come up with domain XML from scratch myself and I'm with the project for ~15 years. There are tools for that. Is there something specific that you need and virt-install is not offering? > > My goal is not to bypass Microsoft's requirements, but rather to > understand the technical differences and replicate a compliant setup in > QEMU/libvirt, ideally without resorting to ISO modifications. This was never the case for me. Michal