VirtualBox 6.0 - Use VirtualBox and Hyper-V at the same time thanks to the Hyper-V API

Page 1 / 1

Since version 6.0, VirtualBox is able to use the Hyper-V API to coexist next to Hyper-V.
But, performance will be worse and it does not work with all versions of Windows 10.

This solution is therefore only useful if you want to be able to use virtual machines simultaneously with Hyper-V and VirtualBox.
Note that you can also use a multi-boot to boot or not with Hyper-V (if you want) so you don't have to uninstall and reinstall Hyper-V every time.

  1. Prerequisites
  2. Use Hyper-V paravirtualization with VirtualBox 6
  3. Info : versions 1079 and earlier of Windows 10 are not supported

1. Prerequisites

For this to work, you must use a version of Windows 10 that is supported by VirtualBox 6.

According to our tests, only Windows 10 v1803 x64 is supported by versions 6.0 and 6.0.14 of VirtualBox (even if the virtual machines will be slower).

Indeed, for this to work, the "Hyper-V" AND "Windows Hypervisor Platform" features need to be enabled on Windows 10.
However, the "Windows Hypervisor Platform" feature is only available from Windows 10 v1803.
And from the version 1809 of Windows 10, the virtual machine will try to start and will freeze on a black screen.

Important : this will not work on Windows 8 either, because this "Windows Hypervisor Platform" feature is not present.

2. Use Hyper-V paravirtualization with VirtualBox 6

If Hyper-V is enabled in Windows 10 features, but the "Windows Hypervisor Platform" feature is disabled, VirtualBox will only use Hyper-V Paravirtualization.

If you attempt to start the virtual machine, VirtualBox will tell you that the "Windows Hypervisor Platform" feature must be enabled in Windows 10 and that Intel virtualization technology (VT-x) is not available.

Plain Text

WHvCapabilityCodeHypervisorPresent is FALSE! Make sure you have enabled the 'Windows Hypervisor Platform' feature.
(VERR_NEM_NOT_AVAILABLE).

VT-x is not available (VERR_VMX_NO_VMX).

Result Code : E_FAIL (0x80004005)
Composant : ConsoleWrap
Interface : IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Once you have enabled the "Hyper-V" and "Windows Hypervisor Platform" features in Windows 10, VirtualBox will use accelerations : VT-x/AMD-V, Nested Paging, Hyper-V Paravirtualization.

This time, you can start your virtual machine without any problem.
In addition, you will see a green bird icon (with a V) at the bottom right indicating that VirtualBox is using Hyper-V paravirtualization instead of its own virtualization technology.

Once the guest OS is installed, install the guest additions as usual by going to : Devices -> Insert Guest Additions CD image.

As you can see, the guest additions have been installed correctly even though the virtual machine is virtualized via Hyper-V.

Indeed, you will still benefit VirtualBox virtual hardware and therefore VirtualBox features.

3. Info : versions 1079 and earlier of Windows 10 are not supported

As mentioned at the beginning of this tutorial, you will need Windows 10 v1803 for this to work.
Indeed, the "Windows Hypervisor Platform" is only available from version 1803 and this one allows VirtualBox to be based on the native Hyper- V to work next to it.

Info : enabling the Hyper-V feature masks the availability of Intel VT-x for other virtualization software.
But, enabling the "Windows Hypervisor Platform" feature can fix this problem. However, since this feature is not available before version 1803 of Windows 10, VirtualBox can no longer work next to Hyper-V.

If you create a virtual machine in VirtualBox, you will see that the Hyper-V Paravirtualization acceleration is displayed, because Hyper-V is installed on the host PC.
But, the "VT-x/AMD-V" acceleration is not displayed, because Hyper-V reserve it and it's no longer accessible by VirtualBox.

As a result, the virtual machine will not boot, because the native Hyper-V API is not present in your version of Windows 10 and the Intel virtualization technology (VT-x) is not available for VirtualBox.

Plain Text

The native API dll was not found (C:\Windows\system32\WinHvPlatform.dll)
(VERR_NEM_NOT_AVAILABLE).

VT-x is not available (VERR_VMX_NO_VMX).

Result Code : E_FAIL (0x80004005)