Nested Virtualization on Windows 10

Discussions about using Windows guests in VirtualBox.
Post Reply
KernelDude
Posts: 1
Joined: 5. Oct 2018, 17:23

Nested Virtualization on Windows 10

Post 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..
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Nested Virtualization on Windows 10

Post 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.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply