VirtualBox: VERR_NEM_VM_CREATE_FAILED / raw-mode is unavailable
Something else on Windows already owns the hardware virtualisation extensions, so VirtualBox is pushed onto the Hyper-V layer or fails to create the VM at all. WSL 2, Docker Desktop, Windows Sandbox and memory integrity all switch Hyper-V on, usually without the user connecting that to the VM that stopped booting.
Quick fix
Read the commands before running them. Anything that restarts a service, deletes data or changes permissions should be tried on a non-production system first.
# Run as Administrator. "A hypervisor has been detected" means Hyper-V is on
systeminfo | findstr /C:"Hyper-V"
bcdedit /enum | findstr hypervisorlaunchtype
# Either keep Hyper-V and let VirtualBox 7 run on top of it (slower, but works)
# VM settings, System, Acceleration: Paravirtualization Interface = Default
# Or hand the extensions back to VirtualBox, which disables WSL 2 and Docker Desktop
bcdedit /set hypervisorlaunchtype off
DISM /Online /Disable-Feature:Microsoft-Hyper-V-Hypervisor /NoRestart
# Core isolation keeps Hyper-V alive even with the feature removed
# Windows Security, Device security, Core isolation, Memory integrity: Off
# Reboot, then confirm the hypervisor is gone before starting the VM
systeminfo | findstr /C:"Virtualization Enabled In Firmware"
# A full power cycle is needed after changing the firmware setting, not a restart
How to diagnose Virtualization errors
Virtualisation errors are usually about hardware virtualisation access: either it is disabled in firmware, or another hypervisor already holds it. On Windows, Hyper-V, WSL 2, Docker Desktop, Credential Guard and memory integrity all claim the virtualisation extensions, and VirtualBox or VMware then fails with a message that mentions VT-x but not the actual conflict.
If the quick fix above does not resolve it, work through these steps. They apply to this whole class of error, not just to this one message, which is usually what saves the time.
- Confirm virtualisation is enabled at the CPU level:
grep -E 'vmx|svm' /proc/cpuinfoon Linux, or the Performance tab of Task Manager on Windows. - On Windows, check what else is using the hypervisor:
bcdedit /enum | findstr hypervisorlaunchtypeand whether Hyper-V, WSL 2 or Core Isolation are enabled. - On Linux, check
/dev/kvmexists and that your user is in thekvmgroup; nested virtualisation must be enabled explicitly on cloud VMs. - Match guest additions and tools versions to the hypervisor version: mismatches cause shared folders, clipboard and display problems that look like guest OS bugs.
- For WSL, run
wsl --statusandwsl --update; most WSL 2 errors are a stale kernel or a disabled Virtual Machine Platform feature.
Tools worth reaching for
grep -E 'vmx|svm' /proc/cpuinfowsl --statusbcdedit /enumls -l /dev/kvmsystemctl status libvirtd
Authoritative references
Primary documentation for this error, worth reading before applying any fix in production.
Related Virtualization errors
- Hyper-V: Virtual switch not foundThe VM references a virtual switch that doesn't exist. The switch may have been deleted or…
- libvirt: Failed to connect socket to /var/run/libvirt/libvirt-sockvirsh connected to the session daemon rather than the system one, or the user is not in the…
- QEMU/KVM: /dev/kvm not availableKVM kernel module is not loaded or the user doesn't have permission to access /dev/kvm…
- Vagrant: Box not foundThe Vagrant box specified in the Vagrantfile has not been downloaded or the name is incorrect.
- VirtualBox: Kernel driver not installed (rc=-1908)The vboxdrv module is missing or refused to load, which normally follows a kernel upgrade…
- VirtualBox: VT-x is not availableHardware virtualization (VT-x/AMD-V) is disabled in BIOS or being used by another hypervisor…
- VMware: Disk consolidation neededThe VM has orphaned snapshot delta disks that need to be merged back. Usually happens after a…
- WSL 2: Kernel update requiredWSL 2 requires a Linux kernel component update that hasn't been installed yet.
Browse other categories
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
Something missing or wrong?
This entry is maintained by hand. If the fix is out of date, incomplete, or you have a better one, email a correction and it will be reviewed.