Windows 11 fails to install under QEMU/libvirt while VirtualBox succeeds — why?
by Paul Larochelle
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`)
- 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?
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.
Any insight or guidance would be highly appreciated.
Best regards, Paul
[signature_paul.png]
Paul Larochelle
819 342-5487
Envoyé avec la messagerie sécurisée [Proton Mail.](https://proton.me/mail/home)
1 day, 11 hours
Cannot restore internal snapshots since libvirt 11.2.0
by anonym
Hi!
Since libvirt 11.2.0 attempting to restore internal snapshots fails for
me with:
error: Failed to revert snapshot foo1
error: operation failed: load of internal snapshot 'foo1' job
failed: Device 'libvirt-1-format' is writable but does not support snapshots
I reported this issue to GitLab [0] where there is more info and a
reproducer, but I also wanted to ask the wider community here if anyone
has experienced this and maybe even come up with a workaround?
[0] https://gitlab.com/libvirt/libvirt/-/issues/771
Cheers!
1 week, 2 days