Summary

VirtualBox, VMware Workstation, and VMware Player do not work on machines with Hyper-V enabled. These instructions will allow you to use Hyper-V and other virtualization apps on the same machine by rebooting with Hyper-V off.

Step-by-step solution

To resolve this conflict, create a new boot menu option that reboots the computer with Hyper-V temporarily disabled. This will allow switching between Hyper-V and VirtualBox, VMWare Workstation, VMWare Player, or any other type 2 hypervisor by rebooting and choosing to temporarily disable Hyper-V.

The solution is to create a new boot entry with the “hypervisorlaunchtype off” option using bcdedit.

Step 1: Open an Administrator command prompt. Use CMD. This does not work in PowerShell.

Step 2: Run the following command:

bcdedit /copy {current} /d "Disable Hyper-V"

You will see the following result:

The entry was successfully copied to <your GUID will appear here>.

Step 3: Run the following command:

bcdedit /set {<use the GUID from step 2>} hypervisorlaunchtype off

You will see the following result:

The operation completed successfully.

Here is a screen-shot of the process. Your GUID will be different than mine.

Image of terminal session

Step 4: Reboot the machine while holding down the shift key. You will be presented with a boot option to “Use another operating system”. Select your new “Disable Hyper-V” option. The machine will boot with Hyper-V disabled and VirtualBox will work.

Screenshot of Window 10 bootup screen.

To recap, we copied the {current} boot entry to a new entry with a description of “Disable Hyper-V”. Then we edited the new boot entry by adding a parameter: hypervisorlaunchtype off. If you are curious, the opposite option is hypervisorlaunchtype auto.

Bonus tip: You can create a batch file to force a quick reboot with the “Disable Hyper-V” boot option selected.

bcdedit.exe /bootsequence {<use your GUID that was displayed in step 2>}
shutdown.exe /r /t 0 /f

More about the issue

Hyper-V is a type 1 hypervisor, running directly on the host hardware. When Hyper-V is enabled Windows 10 is loaded as a virtual machine. Hyper-V loads before Windows and grabs control of the CPUs VT-x extensions. This means Windows no longer has access to the VT-x extensions of the CPU, which are needed by type 2 hypervisors.  Therefore, VirtualBox and VMWare Workstation cannot run.

Comparison of Type 1 and Type 2 Hypervisors
Image Source: www.ibm.com

VirtualBox and VMware Workstation (or VMware Player) are type 2 hypervisors, running as applications in Windows 10, which is shown as the blue box marked Operating system in the diagram. In this case, Windows 10 is communicating directly with the host hardware. Windows isn’t using the VT-x extensions, leaving them available for use by the type 2 hypervisors.

Because only one hypervisor at a time can take control of VT-x support, it is not possible to run a type 2 hypervisor while Hyper-V is enabled.

This article is cited by multiple websites: