Virtualbox has its own nested virtualization – currently (version 6.0 2019) only for AMD based virtualization.
However when Hyper-V is enabled, it can't use it's own virtualization, because Hyper-V takes exclusive access to VT-x/AMD-V so it uses Hyper-V as a fallback to start the virtual machine, instead of it's own.
Hyper-V does support nested virtualization as well. How do I direct Virtualbox to start the virtual machine with Hyper-V's nested virtualization enabled?
[Edit]: Notice, I am not asking about exposing a para-virtualization interface to the guest, I am asking about nested VT-x/AMD-V virtualization. Thank you!
Best Answer
You don't. It's confusing, but that's not what this means.
VirtualBox uses the Hyper-V API in Windows and the KVM API in Linux VMs. It's for the guest OS rather than the host.
Per VirtualBox documentation:
Exposing a paravirtualization provider to the guest operating system does not rely on the choice of host platforms. ...and...
Oracle VM VirtualBox's implementation currently supports paravirtualized clocks, APIC frequency reporting, guest debugging, guest crash reporting and relaxed timer checks. This provider is recommended for Windows guests.
From: https://www.virtualbox.org/manual/ch10.html#gimproviders