Nested Hyper-V not working error 41 – Hypervisor launch failed; Either VMX not present or not enabled in BIOS

hyper-vhypervisorvirtualization

I would like to run hyper-v on a hyper-v server which in theory is possible. But when I try to start a VM in the child hyper-v I get an error. I checked the Event log and there it is, code 41. Hypervisor launch failed; Either VMX not present or not enabled in BIOS.
We are running the host Hyper-V on an HP DL580 gen8 with 4x Xeon E7-4890 v2, 512GB Ram and 4TB accessible storage and 2x 10Gb Network.

So I've checked the BIOS and Virtualization is enabled, VT-d was enabled, I disabled it, because I read it on an old TechNet blog that U should disable it.

VT-x enabled, No-Execute Protection enabled, HT enabled, 0 Cores disabled and Power Management set to OS Controlled.

It did not made any difference that VT-d is enabled or not. The child Hyper-V always gives the same error. Oh and there is another error, if I manage the VM with Windows Admin Center when I click Virtual Machines I get an error notification that Powershell can't get CPU info, but in overview it shows the correct cpu and core count.

The child hyper-v is running in a Gen.2 VM if it makes any difference.
Oh and both the Host and VM is Hyper-V Server 2019 (Core)

I read a loads of TN forum posts, blog entries about this error, but almost all suggest the same. Disable/Enable: VT, Trusted Execution, Disable Execute Bit… and turn off the machine and start up else the changes won't take effect. But this didn't helped me.
How can I make this work?

Best Answer

Did you try to expose the Virtualization Extensions to the VM?

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

Source: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization