Immediately after starting a VM in VirtualBox, I receive a error box that contains the following error message:
Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED).
I am running Windows 10 Professional, Version 1903 and have confirmed that Hyper-V is not enabled.
68 Answers
- Open the "Turn Windows features on or off" settings (type
optionalfeaturesin the start menu or Win + R). - Untick "Windows Sandbox" and "Hyper-V" .
- Restart windows twice.
This is a new feature in Windows 10 v1903 that uses Hyper-V on the backend (even if it's not enabled in Windows Features), which makes this feature not compatible with VirtualBox.
12According to this VirtualBox forum post, there are several features which might use Microsoft Hyper-V, which is not compatible with VirtualBox:
Look in the "Control Panel" » "Programs and Features" » "Turn Windows features on or off", and make sure that the none of the following are active:
- Application Guard
- Credential Guard
- Device Guard
- <any> * Guard
- Containers
- Hyper-V
- Virtual Machine Platform
- Windows Hypervisor Platform
- Windows Sandbox
- Windows Subsystem for Linux (WSL)
If that doesn't work, enter the following command:
bcdedit /set hypervisorlaunchtype offfollowed by a cold boot, i.e. shut down the computer, pull the power plug for 10 seconds, reboot.
For me, just disabling "Virtual Machine Platform" and restarting TWICE made it work.
WSL 1 will still work. I'm not so sure about WSL 2, which is currently available in the Windows Insider Program.
4Finally solved the issue.
- Turn off Hyper-v
- Turn off Windows sandbox
by navigating to "Turn windows features on or off".
Restart the machine twice and then try to Start vm in virtualbox.
4In my case, turning Windows Sandbox and Hyper-V off and restarting my PC dozens of times didn't work. I even tried turning the features back on, then back off, then restarting another dozen times.
What did work, was disabling Memory integrity from Core isolation in Windows Security, possibly because it uses virtualization features, as do Hyper-V and the Windows Sandbox.
Now I can finally start my VMs again.
3I've gone through that same problem too and it was caused due to having an older version on my machine at that given time (version 6.0.22).
In order to solve it, I've gone to Virtual Box's download page, downloaded the version 6.1.16 for Windows hosts and installed this newer version
Then, as you can see in the next images, that error is gone
1Hyper-V needs to be disabled but not uninstalled. I wanted to maintain Hyper-V functions some of the time and have the option to reboot into windows with Hyper-V disabled.
I ran the following in an administrator powershell prompt:
bcdedit /copy {current} /d "Windows 10 no Hyper-V"The entry was successfully copied to {95524711-fa90-11e9-b0c8-927c2d2c6eb6}.
Copy the GUID into the next command:
bcdedit /set "{95524711-fa90-11e9-b0c8-927c2d2c6eb6}" hypervisorlaunchtype offThe operation completed successfully.
Click restart while holding the shift button And keep holding shift
Select "Other Operating Systems" and your "No Hyper-V" option is in there.
If you want to change the default mode (either with hyper-v enabled or disabled), run msconfig and change the default on the boot tab.
Thanks to Scott Hanselman for inspiring this post.
You don't need to disable Containers! Here's how to do it based on this article
VBoxManage setextradata "<VM Name>" "VBoxInternal/NEM/UseRing0Runloop" 0 1 When Docker Desktop is running
When you currently do not need any docker container, that is running on your system, it is sufficient to close docker desktop by right clicking the icon in the right on your task bar:
Then select "Quit Docker Desktop" and the VM is supposed to run again. You can even restart Docker Desktop after that and relaunch your containers without breaking either the VM or containers.
(For sure not every functionality is guaranteed, but it's worth a test.)
Newer versions of Virtual Box are probably better in doing so (my post was created with VirtualBox 6.1)