Quick answer: VERR_NEM_NOT_AVAILABLE means VirtualBox couldn’t use VT-x or AMD-V directly and then couldn’t fall back to Windows’ own hypervisor either. If the message mentions WinHvPlatform.dll or WHvCapabilityCodeHypervisorPresent is FALSE, turn on Windows Hypervisor Platform, run bcdedit /set hypervisorlaunchtype auto and restart. If you’d rather give VirtualBox the CPU to itself, switch the Windows hypervisor off instead. If it says Not in a hypervisor partition (HVP=0), start with virtualization in the BIOS.
In this guide
Which message do you have?
The code is always the same, but the sentence in front of it tells you what’s missing. Open the error’s Details and match the first line:
| Message before the code | What it points to | Where to go |
|---|---|---|
| Not in a hypervisor partition (HVP=0) | No usable VT-x/AMD-V and no Windows hypervisor running, very often virtualization switched off in firmware | Our HVP=0 guide |
| The native API dll was not found (C:\Windows\system32\WinHvPlatform.dll) | Windows Hypervisor Platform isn’t installed | Route A or B below |
| WHvCapabilityCodeHypervisorPresent is FALSE! Make sure you have enabled the ‘Windows Hypervisor Platform’ feature | The platform files exist but the hypervisor isn’t running at boot | Route A or B below |
These wordings come from error dialogs users have posted; Oracle doesn’t publish a list of them. The reading in the middle column follows from how Microsoft documents the platform API, explained next.
What NEM is, in plain terms
VirtualBox normally drives the processor’s virtualization features (Intel VT-x or AMD-V) itself. Only one program can own that hardware at a time, and Microsoft’s troubleshooting article on the conflict says so directly: when Hyper-V is running, other virtualization apps may fail to start VMs or fall back to a slower mode.
That slower mode is what VirtualBox’s logs call NEM. Since VirtualBox 6.0, Oracle says VirtualBox detects Hyper-V automatically and runs guests through it, and labels this experimental. It does that through Microsoft’s Windows Hypervisor Platform API, which lives in WinHvPlatform.dll in System32 and has been available since the Windows 10 April 2018 Update. Microsoft documents a capability check, WHvCapabilityCodeHypervisorPresent, that tells a program whether the Windows hypervisor is actually running.
So the error appears when VT-x/AMD-V is taken or unavailable, and the NEM fallback fails too: either the DLL isn’t there or the check says no hypervisor is running.
Pick a route
- Route A (keep Hyper-V) if you use WSL 2, Docker Desktop, Windows Sandbox, Hyper-V VMs, or want to keep Memory integrity on. VMs run, but often slower; you’ll see the green turtle in the VM’s status bar.
- Route B (hypervisor off) if VirtualBox is the only virtualization you need and you want full speed. Those other features stop working until you switch back.
Route A: keep Hyper-V and turn on Windows Hypervisor Platform
- Press Win + R, type
optionalfeaturesand press Enter. - Tick Windows Hypervisor Platform and select OK. Leave Hyper-V and Virtual Machine Platform as they are.
- Open Terminal or Command Prompt as administrator and make sure the hypervisor starts at boot:
bcdedit /set hypervisorlaunchtype auto
Restart the PC, not just sign out. If you prefer the command line for the feature, this does the same as the checkbox:
DISM /Online /Enable-Feature /FeatureName:HypervisorPlatform
Microsoft’s WSL troubleshooting page uses the same hypervisorlaunchtype auto setting, and you can check the current value with bcdedit /enum | findstr -i hypervisorlaunchtype. Also make sure VirtualBox itself is up to date. If the VM now starts but crawls, see how to speed up VirtualBox and fix turtle mode.
Route B: switch Windows’ hypervisor off
Before you start: this turns off Memory integrity, a Windows Security protection against malicious drivers. Microsoft’s article on the conflict says that when you disable Hyper-V you should also disable the security features that depend on it, so plan to undo this if you stop needing VirtualBox.
- Open Windows Security > Device security > Core isolation details and turn Memory integrity off.
- In
optionalfeatures, clear Hyper-V (Pro and Enterprise only), Windows Hypervisor Platform, Virtual Machine Platform and Windows Sandbox, then select OK. - In an administrator terminal, run the command below.
- Shut down completely and start the PC again.
bcdedit /set hypervisorlaunchtype off
To confirm, run systeminfo. If the Hyper-V section still says A hypervisor has been detected, something is still starting it. VirtualBox forum moderators point to Credential Guard, the Group Policy setting Computer Configuration > Administrative Templates > System > Device Guard > Turn On Virtualization Based Security, and “Secured-core” options in some firmware. To go back later, run bcdedit /set hypervisorlaunchtype auto, tick the features again and turn Memory integrity back on.
If it still fails
- Check firmware virtualization. Run
systeminfo: if it shows Virtualization Enabled In Firmware: No, neither route can work until you enable Intel VT-x or AMD SVM in the BIOS/UEFI. Our HVP=0 guide walks through that. - Windows 11 24H2 keeps the hypervisor on. Some users report that the hypervisor stays active even after every step in Route B. In that case Route A is usually the practical answer.
- You’re inside a VM. If this Windows copy is itself a virtual machine, the outer hypervisor has to expose nested virtualization. On Hyper-V that’s
Set-VMProcessor -VMName <Name> -ExposeVirtualizationExtensions $true, run on the outer host while the VM is off. - A different VirtualBox error appears. If the VM now fails with a session error instead, see Failed to open a session for the virtual machine.
One setting you can ignore here is the VM’s Paravirtualization Interface. Some guides suggest setting it to Hyper-V, but it only controls what the guest OS sees, not whether VirtualBox can use NEM.
Related guides
- Not in a Hypervisor Partition (HVP=0): How to Fix the VirtualBox Error on Windows
- How to speed up VirtualBox on Windows 11 and 10 (fix the slow turtle mode)
- Failed to open a session for the virtual machine: VirtualBox fixes
Leave a Reply