Kernel KVM virtualization development
 help / color / mirror / Atom feed
* nVMX: Windows 11 with nested Hyper-V fails to boot when MBEC is exposed to L1 (7.2)
@ 2026-11-05 18:42 Panayotis Katsaloulis
  2026-11-05 23:45 ` Sean Christopherson
  0 siblings, 1 reply; 2+ messages in thread
From: Panayotis Katsaloulis @ 2026-11-05 18:42 UTC (permalink / raw)
  To: kvm

Hi,

After updating the host from 7.1.13 to 7.2.9, a Windows 11 guest that
runs its own hypervisor (VBS / Hyper-V, hypervisorlaunchtype Auto) no
longer boots. It fails very early (no bugcheck, no minidump, bootstat
not updated) and ends in Automatic Repair ("Your device ran into a
problem and couldn't be repaired"). Startup Repair reports no root
cause.

Hiding MBEC from the guest is enough to make it boot again:

   -cpu host,migratable=on,vmx=on,vmx-mbec=off,hv-...

Host:
   CPU:      Intel Core i9-13900 (Raptor Lake)
   Kernel:   7.2.9 (distro kernel, Manjaro), kvm_intel nested=Y, mbec=Y
   QEMU:     11.1.2 (also reproduced with 11.1.1)
   libvirt:  12.8.0
   OVMF:     edk2 202608, Secure Boot, swtpm 0.10.2 (TPM 2.0, CRB)
   Machine:  pc-q35-9.2

Guest:
   Windows 11 24H2 (build 26100), UEFI + Secure Boot, VBS enabled,
   hypervisorlaunchtype Auto, 8 GiB, host-passthrough CPU.
   Hyper-V enlightenments: relaxed, vapic, spinlocks, vpindex, runtime,
   synic, stimer, frequencies, tlbflush, ipi, evmcs, avic, hypervclock.

Results (host kernel 7.2.9 in all cases):

   vmx  vmx-mbec  hv-evmcs  QEMU    result
   on   default   on        11.1.2  fails (Automatic Repair)
   off  n/a       on        11.1.2  boots
   on   default   on        11.1.1  fails
   on   off       on        11.1.1  boots
   on   default   off       11.1.1  fails

The same guest, with an identical QEMU command line (compared from the
libvirt log; only fds/ids differ), last booted fine on 2026-10-23 on
7.1.13 with QEMU 11.1.1. So disabling eVMCS does not help, and QEMU
and libvirt do not seem to be involved; the only difference that
matters is whether MBEC is offered to L1.

What I could not test:
   - 7.1.x with the exact same setup again (no longer installable here)
   - latest 7.2.y / 7.3.y
   - kvm_intel.mbec=0 (I expect it to behave like vmx-mbec=off)

Someone else reports the same symptom (7.1.8 works, 7.2.x fails,
Windows 11 26100 with nested Hyper-V), without a root cause:
https://discuss.cachyos.org/t/windows-11-kvm-guest-with-nested-hyper-v-boot-loops-on-linux-cachyos-7-2-x-works-on-7-1-8/36134

I can test patches or collect traces if that helps.

Thanks,
Panayotis

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: nVMX: Windows 11 with nested Hyper-V fails to boot when MBEC is exposed to L1 (7.2)
  2026-11-05 18:42 nVMX: Windows 11 with nested Hyper-V fails to boot when MBEC is exposed to L1 (7.2) Panayotis Katsaloulis
@ 2026-11-05 23:45 ` Sean Christopherson
  0 siblings, 0 replies; 2+ messages in thread
From: Sean Christopherson @ 2026-11-05 23:45 UTC (permalink / raw)
  To: Panayotis Katsaloulis; +Cc: kvm, Paolo Bonzini

On Thu, Nov 05, 2026, Panayotis Katsaloulis wrote:
> Hi,
> 
> After updating the host from 7.1.13 to 7.2.9, a Windows 11 guest that
> runs its own hypervisor (VBS / Hyper-V, hypervisorlaunchtype Auto) no
> longer boots. It fails very early (no bugcheck, no minidump, bootstat
> not updated) and ends in Automatic Repair ("Your device ran into a
> problem and couldn't be repaired"). Startup Repair reports no root
> cause.
> 
> Hiding MBEC from the guest is enough to make it boot again:
> 
>   -cpu host,migratable=on,vmx=on,vmx-mbec=off,hv-...
> 
> Host:
>   CPU:      Intel Core i9-13900 (Raptor Lake)
>   Kernel:   7.2.9 (distro kernel, Manjaro), kvm_intel nested=Y, mbec=Y
>   QEMU:     11.1.2 (also reproduced with 11.1.1)
>   libvirt:  12.8.0
>   OVMF:     edk2 202608, Secure Boot, swtpm 0.10.2 (TPM 2.0, CRB)
>   Machine:  pc-q35-9.2

Paolo was theorizing that might be related to Hyper-V expecting PFEC_SS to be
set[1] (Hyper-V appears to enable CET if and only if MBEC/GMET is available).

And IIRC, the host and guest hangs from an early bug report[2] were due to bugs
in the host's handling of hrtimers that affected only KVM VMX, but I don't think
we ever explained the outright failure to boot.

Paolo, do we have any patches to try out, or more concrete ideas/theories?

[1] https://lore.kernel.org/all/20261012165651.130826-1-pbonzini@redhat.com
[2] https://lore.kernel.org/all/85548beb-1486-40f9-beb4-632c78e3360b@proxmox.com

> Guest:
>   Windows 11 24H2 (build 26100), UEFI + Secure Boot, VBS enabled,
>   hypervisorlaunchtype Auto, 8 GiB, host-passthrough CPU.
>   Hyper-V enlightenments: relaxed, vapic, spinlocks, vpindex, runtime,
>   synic, stimer, frequencies, tlbflush, ipi, evmcs, avic, hypervclock.
> 
> Results (host kernel 7.2.9 in all cases):
> 
>   vmx  vmx-mbec  hv-evmcs  QEMU    result
>   on   default   on        11.1.2  fails (Automatic Repair)
>   off  n/a       on        11.1.2  boots
>   on   default   on        11.1.1  fails
>   on   off       on        11.1.1  boots
>   on   default   off       11.1.1  fails
> 
> The same guest, with an identical QEMU command line (compared from the
> libvirt log; only fds/ids differ), last booted fine on 2026-10-23 on
> 7.1.13 with QEMU 11.1.1. So disabling eVMCS does not help, and QEMU
> and libvirt do not seem to be involved; the only difference that
> matters is whether MBEC is offered to L1.
> 
> What I could not test:
>   - 7.1.x with the exact same setup again (no longer installable here)
>   - latest 7.2.y / 7.3.y
>   - kvm_intel.mbec=0 (I expect it to behave like vmx-mbec=off)
> 
> Someone else reports the same symptom (7.1.8 works, 7.2.x fails,
> Windows 11 26100 with nested Hyper-V), without a root cause:
> https://discuss.cachyos.org/t/windows-11-kvm-guest-with-nested-hyper-v-boot-loops-on-linux-cachyos-7-2-x-works-on-7-1-8/36134
> 
> I can test patches or collect traces if that helps.
> 
> Thanks,
> Panayotis
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-05 23:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05 18:42 nVMX: Windows 11 with nested Hyper-V fails to boot when MBEC is exposed to L1 (7.2) Panayotis Katsaloulis
2026-11-05 23:45 ` Sean Christopherson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox