Page 1 of 1

Nested Virtualization on Windows 10

Posted: 5. Oct 2018, 17:34
by KernelDude
Dear all,

Using Windows 10 Enterprise Edition. Need to determine whether any of the following is possible:
1- Running VirtualBox in VT-X mode while Hyper-V is enabled on the host Windows 10 Enterprise.
2- Running Hyper-V in Windows 10 Enterprise running as guest inside VirtualBox.

With regard to #1, can not get Hyper-V and VirtualBox to work side-to-side. Had to disable Hyper-V auto launch for VirtualBox to work in VT-X mode. Is there a work around solution?

With regard to #2, set paravirtualization type as Hyper-v in VirtualBox settings. But, can not find any other way to activate Hyper-v within guest Windows 10 running in VirtualBox. As a side note, Hyper-V in host had to be disabled as it is only way to get VirtualBox to run in VT-X mode given issue #1 above.

Having Hyper-V active in either host and guest is only way to get Microsoft Edge Application Guard Technology to work.

Thank you..

Re: Nested Virtualization on Windows 10

Posted: 5. Oct 2018, 21:22
by socratis
KernelDude wrote:1- Running VirtualBox in VT-X mode while Hyper-V is enabled on the host Windows 10 Enterprise.
Not at the moment.
KernelDude wrote:2- Running Hyper-V in Windows 10 Enterprise running as guest inside VirtualBox.
Not at the moment.
KernelDude wrote:Is there a work around solution?
No. The trick with VT-x is that it has to be shared, since it's "only one" available slot for its use. For example, VMware and VirtualBox do not use VT-x at the same time, but rather take turns. To put it simply, every program that uses VT-x should do this: VT-x lock, execute, VT-x unlock. This way other processes can use VT-x in turns.

On the other hand, Hyper-V permanently takes over VT-x and doesn't let anyone else use it. If a program uses VT-x from the moment it is loaded, and doesn't let go till the moment it dies, you have a problem. So, please complain to Microsoft about that.
KernelDude wrote:With regard to #2, set paravirtualization type as Hyper-v in VirtualBox settings.
That's simply to expose the Hyper-V API to the guest, not to enable Hyper-V in the guest. See ch. 10.4 Paravirtualization providers from the User Manual.