VirtualBox BSODs on Windows 10 often stem from conflicts between Intel HAXM and Hyper-V, as modern Windows versions disable HAXM when Hyper-V is active. The solution involves disabling Hyper-V components or switching to WHPX acceleration. This guide details how to resolve the kernel panic by adjusting system settings and VirtualBox configuration.
Understanding the Root Cause
The Blue Screen of Death (BSOD) in this context typically occurs because Intel Hardware Accelerated Execution Manager (HAXM) cannot coexist with Microsoft Hyper-V on recent versions of Windows 10 and 11. Starting with Windows 10 version 1903, Hyper-V is enabled by default for many features, including WSL 2 and Windows Sandbox. When Hyper-V is active, it takes exclusive control of the CPU's virtualization extensions (VT-x/AMD-V). Consequently, HAXM fails to initialize, leading to driver crashes and system freezes when VirtualBox attempts to launch a virtual machine.
This conflict manifests as errors like KMODE_EXCEPTION_NOT_HANDLED or general system instability. It is not a hardware failure but a software layering issue where two hypervisors fight for the same hardware resources. To fix this, you must either remove Hyper-V entirely or switch VirtualBox to use the Windows Hypervisor Platform (WHPX), which allows both technologies to share the hardware.
Step 1: Disable Hyper-V and Related Features
If you do not require WSL 2, Docker Desktop (using the WSL 2 backend), or Windows Sandbox, the most stable fix is to disable these features. This restores exclusive access to VT-x for HAXM. Follow these steps carefully:
- Turn off Optional Features: Open the Control Panel and navigate to Programs and Features. Click on Turn Windows features on or off in the left sidebar. Uncheck the following boxes if they are selected:
- Hyper-V
- Windows Hypervisor Platform
- Windows Subsystem for Linux
- Virtual Machine Platform
- Windows Sandbox
- Disable via Command Line: For a more thorough removal, open Command Prompt as Administrator and run the following command to ensure all hypervisor launch options are disabled:
bcdedit /set hypervisorlaunchtype off - Restart Your Computer: A full reboot is required for the changes to take effect and for the BIOS-level virtualization locks to reset.
After restarting, verify that Hyper-V is no longer running. You can check this by opening Task Manager, going to the Performance tab, and clicking on CPU. Look at the bottom right corner; it should say "Virtualization: Enabled" but should not mention Hyper-V being active in the background services.
Step 2: Reinstall or Update Intel HAXM
Once Hyper-V is disabled, you may need to reinstall or update Intel HAXM to ensure it registers correctly with the system. Older versions of HAXM have known bugs that cause BSODs even on older Windows builds.
- Download the Latest Version: Visit the official GitHub repository for Intel HAXM releases and download the latest installer for Windows (usually a
.exefile). - Run the Installer: Execute the installer as an administrator. If prompted, allow it to make changes to your device.
- Verify Installation: After installation, open the Intel HAXM control panel (if installed) or check Device Manager under System devices to ensure the Intel HAXM driver is present and has no yellow warning icons.
If you previously had issues with random network adapters or other BSODs unrelated to virtualization, refer to our guide on Windows 10 BSOD Randomly to rule out broader system instability before blaming VirtualBox.
Step 3: Switch VirtualBox to WHPX (Alternative Solution)
If you need Hyper-V for other applications like Docker or WSL 2, you cannot disable it. In this case, you must configure VirtualBox to use the Windows Hypervisor Platform (WHPX) instead of HAXM. WHPX is designed to work alongside Hyper-V.
- Open VirtualBox Settings: Launch VirtualBox. Go to File > Preferences (or VirtualBox > Preferences on macOS).
- Navigate to Acceleration: Select the General tab, then click on the System sub-tab. Look for the Acceleration section.
- Select WHPX: Change the Guest OS Type or Hardware Virtualization setting to Windows Hypervisor Platform (WHPX). Note that this option is only available if Hyper-V is enabled on the host.
- Apply and Restart VMs: Click OK and restart any running virtual machines. The new acceleration method will take effect immediately upon powering on the VM.
Ensure that the Enable Nested Virtualization box is unchecked unless specifically required, as this can sometimes cause additional overhead or instability. If you encounter specific memory-related BSODs after making these changes, consult our article on Fixing BSOD ATTEMPTED_WRITE_TO_READONLY_MEMORY to address potential memory management conflicts.
Step 4: Verify VT-x/AMD-V in BIOS
Finally, ensure that hardware virtualization is enabled in your computer’s BIOS/UEFI settings. Without this, neither HAXM nor WHPX can function efficiently, leading to poor performance or crashes.
- Access BIOS: Restart your computer and press the key specified during boot (commonly F2, F10, DEL, or ESC).
- Locate Virtualization Tech: Find the setting named Intel Virtualization Technology, VT-x, SVM Mode, or AMD-V. It is usually found under Advanced, CPU Configuration, or Security.
- Enable and Save: Set the value to Enabled, save changes, and exit.
By ensuring that the correct hypervisor is selected in VirtualBox and that conflicting Windows features are managed properly, you can eliminate the BSOD issues caused by Intel HAXM incompatibility.
Frequently Asked Questions
Why does VirtualBox crash only when I start a specific VM?
This usually indicates that the specific VM is configured to use hardware virtualization while the host system lacks the necessary permissions or drivers. Ensure the VM's settings under System > Processor have "Enable VT-x/AMD-V" checked, and verify that HAXM or WHPX is correctly installed on the host.
Can I use Docker and VirtualBox together without BSODs?
Yes, but you must use WHPX for VirtualBox. Since Docker Desktop on Windows uses Hyper-V/WSL 2 by default, HAXM will be blocked. Switching VirtualBox to WHPX allows both to share the hypervisor layer without conflict.
How do I know if HAXM is actually running?
You can check by opening the Command Prompt and running sc query haxm. If it returns "STATE: RUNNING," HAXM is active. If it says "STOPPED" or is not found, the driver is not loaded, likely due to Hyper-V interference.
Does disabling Hyper-V affect my ability to use Windows Sandbox?
Yes. Disabling Hyper-V and related features turns off Windows Sandbox, WSL 2, and Docker Desktop (WSL 2 backend). If you rely on these tools, you must use the WHPX alternative in VirtualBox instead of trying to disable Hyper-V.
What if I still get a BSOD after switching to WHPX?
If BSODs persist with WHPX, the issue may lie in the guest OS configuration or corrupted system files. Run sfc /scannow in an elevated Command Prompt to repair Windows system files. Additionally, ensure your VirtualBox version is up to date, as older versions have bugs with newer Windows updates.