How to fix Hardware assisted virtualization and data execution protection must be enabled in the BIOS in Docker
This error occurs when Docker Desktop cannot detect hardware virtualization support. You need to enable virtualization (VT-x/AMD-V) in your BIOS/UEFI settings and ensure Hyper-V or WSL 2 is properly configured in Windows.
Quick fix
Fixes Hardware assisted virtualization and data execution protection must be enabled in the BIOS
systeminfo- Check current virtualization status
- Enable virtualization in BIOS/UEFI
- Enable Hyper-V Windows features
- Enable WSL 2 (for Windows Home or as alternative)
systeminfoHardware assisted virtualization and data execution protection must be enabled in the BIOS
What this error means
When Docker Desktop starts on Windows, it checks for hardware virtualization support. Docker requires either Hyper-V (Windows Pro/Enterprise) or WSL 2 (Windows Home/Pro) to run containers, and both of these technologies depend on CPU virtualization features being enabled. This error appears when Docker detects that: - Hardware virtualization (Intel VT-x or AMD-V/SVM) is disabled in BIOS/UEFI - Data Execution Prevention (DEP/NX bit) is disabled - The Windows Hypervisor Platform is not enabled - Required Windows features (Hyper-V or WSL 2) are not installed The error message "Docker Desktop is unable to detect a Hypervisor" or "Hardware assisted virtualization and data execution protection must be enabled in the BIOS" indicates that the underlying virtualization layer that Docker needs is not available or properly configured.
Typical symptoms
- Docker Desktop fails to start with a virtualization error dialog
- Error message: 'Hardware assisted virtualization and data execution protection must be enabled in the BIOS'
- Docker Desktop shows 'Unable to detect a Hypervisor' error
- Task Manager Performance tab shows 'Virtualization: Disabled'
- Docker Desktop installer warns about missing virtualization support
- WSL 2 based engine fails to initialize
Common causes
- Hardware virtualization (VT-x/AMD-V) is disabled in BIOS/UEFI settings
- Data Execution Prevention (DEP/NX bit) is disabled in BIOS
- Hyper-V Windows feature is not enabled (Windows Pro/Enterprise)
- Windows Hypervisor Platform feature is not enabled
- WSL 2 is not installed or properly configured (Windows Home)
- Hypervisor launch type is set to 'Off' in Windows boot configuration
- Conflicting software disabled the hypervisor (VirtualBox, VMware, anti-cheat software)
- Windows version does not support required virtualization features
- Secure Boot or other BIOS settings interfering with virtualization
How to fix "Hardware assisted virtualization and data execution protection must be enabled in the BIOS"
First, verify whether virtualization is currently enabled on your system:
Using Task Manager:
1. Press Ctrl+Shift+Esc to open Task Manager
2. Click the "Performance" tab
3. Select "CPU" from the left panel
4. Look for "Virtualization:" at the bottom - it should say "Enabled"
Using System Information:
systeminfoLook for the "Hyper-V Requirements" section at the bottom. If you see "A hypervisor has been detected. Features required for Hyper-V will not be displayed", virtualization is working.
If virtualization shows "Disabled", proceed to enable it in BIOS.
Restart your computer and enter BIOS/UEFI settings. The key varies by manufacturer:
| Manufacturer | BIOS Key |
|-------------|----------|
| Dell | F2 or F12 |
| HP | F10 or Esc |
| Lenovo | F1 or F2 |
| ASUS | F2 or Del |
| Acer | F2 or Del |
| MSI | Del |
For Intel CPUs, look for:
- "Intel Virtualization Technology" or "Intel VT-x"
- "VT-d" (for directed I/O)
- Usually found under: Advanced > CPU Configuration
For AMD CPUs, look for:
- "SVM Mode" (Secure Virtual Machine)
- "AMD-V"
- Usually found under: Advanced > CPU Configuration or Tweaker > Advanced CPU Settings
Enable both virtualization AND NX/XD bit:
- "Execute Disable Bit" or "NX Mode" (should be Enabled)
Save changes and exit BIOS (usually F10).
After enabling virtualization in BIOS, enable the required Windows features.
For Windows Pro/Enterprise (using Hyper-V):
1. Press Win + R, type optionalfeatures, press Enter
2. Check the following boxes:
- Hyper-V (expand and check all sub-items)
- Windows Hypervisor Platform
3. Click OK and restart when prompted
Using PowerShell (as Administrator):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -AllUsing DISM (as Administrator):
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /AllRestart your computer after enabling these features.
Windows Home doesn't have Hyper-V, but Docker Desktop can use WSL 2 instead.
Enable WSL and Virtual Machine Platform:
# Enable WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# Enable Virtual Machine Platform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartRestart your computer, then set WSL 2 as default:
wsl --set-default-version 2Update WSL to the latest version:
wsl --updateIn Docker Desktop Settings, ensure "Use the WSL 2 based engine" is checked.
Sometimes the hypervisor launch type gets set to "Off" by other software. Fix this with:
Check current setting:
bcdeditLook for hypervisorlaunchtype. If it says "Off", change it:
Enable hypervisor auto-start (run as Administrator):
bcdedit /set hypervisorlaunchtype autoYou should see "The operation completed successfully."
Restart your computer for changes to take effect.
Note: Some anti-cheat software and virtualization tools set this to "Off". You may need to disable or configure them.
Certain software can conflict with Hyper-V and Docker:
Common conflicts:
- VirtualBox (versions before 6.0): Update to 6.0+ or uninstall
- VMware Workstation (versions before 15.5.5): Update or uninstall
- Android emulators: Some disable Hyper-V on install
- Anti-cheat software: Games like Valorant's Vanguard can disable hypervisor
- Cygwin: Some configurations conflict with Docker
If you use VirtualBox:
VirtualBox 6.0+ can work alongside Hyper-V, but performance may be reduced. Consider using Docker's built-in virtualization instead.
After removing conflicting software:
1. Re-enable Hyper-V if it was disabled
2. Run bcdedit /set hypervisorlaunchtype auto
3. Restart your computer
If Hyper-V is partially installed or corrupted, reinstall it:
Using PowerShell (as Administrator):
# Disable Hyper-V
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
# Restart computer, then re-enable
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# Also enable containers feature
Enable-WindowsOptionalFeature -Online -FeatureName Containers -AllUsing Windows Features GUI:
1. Open "Turn Windows features on or off"
2. Completely uncheck Hyper-V and all sub-components
3. Click OK and restart
4. Return and re-enable Hyper-V
5. Restart again
Docker Desktop has specific Windows version requirements:
Minimum requirements:
- Windows 10 64-bit: Version 22H2 (Build 19045) or higher
- Windows 11 64-bit: Version 23H2 (Build 22631) or higher
- Windows Pro, Enterprise, or Education for Hyper-V
- Windows Home can use WSL 2 backend
Check your Windows version:
winverIf your Windows version is too old:
1. Run Windows Update to get the latest version
2. Go to Settings > Update & Security > Windows Update
3. Install all available updates
Windows Home users:
- You cannot use Hyper-V, only WSL 2
- Ensure Docker Desktop is configured for WSL 2 backend
If nothing else works, perform a clean reinstall:
Reset Docker Desktop:
1. Open Docker Desktop (if possible)
2. Go to Settings > Troubleshoot
3. Click "Reset to factory defaults"
Clean uninstall and reinstall:
1. Uninstall Docker Desktop from Windows Settings > Apps
2. Delete remaining Docker data:
Remove-Item -Recurse -Force "$env:APPDATA\Docker" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Docker" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:PROGRAMDATA\Docker" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:PROGRAMDATA\DockerDesktop" -ErrorAction SilentlyContinue3. Restart Windows
4. Download latest Docker Desktop from https://www.docker.com/products/docker-desktop/
5. Run installer and follow prompts
6. Restart when prompted
Advanced notes
Understanding the virtualization stack:
Docker Desktop on Windows uses a layered virtualization approach:
1. CPU Virtualization (VT-x/AMD-V): Hardware feature that must be enabled in BIOS
2. Windows Hypervisor Platform: Windows component that exposes virtualization to applications
3. Hyper-V or WSL 2: The actual virtualization backend Docker uses
4. Docker Engine: Runs inside a lightweight VM managed by Hyper-V or WSL 2
Hyper-V vs WSL 2 backend:
| Feature | Hyper-V | WSL 2 |
|---------|---------|-------|
| Windows Editions | Pro/Enterprise/Education | All editions |
| Performance | Good | Better (native Linux) |
| File system sharing | Slower | Faster |
| Memory usage | Fixed allocation | Dynamic |
| Linux kernel | Moby VM | Real Linux kernel |
WSL 2 is now the recommended backend for most users.
Secure Boot considerations:
Secure Boot is generally compatible with Hyper-V and Docker. However, if you're having issues:
- Try disabling Secure Boot temporarily to test
- Ensure your BIOS firmware is up to date
- Some older systems require Secure Boot disabled for virtualization
Corporate/Enterprise environments:
- Group Policy may control Hyper-V settings
- Windows Defender Credential Guard may conflict
- Check with IT if virtualization features are managed centrally
Nested virtualization:
If running Windows in a VM (e.g., on cloud or another hypervisor), ensure nested virtualization is enabled on the host:
- VMware: Enable "Virtualize Intel VT-x/EPT or AMD-V/RVI"
- Hyper-V: Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
- Azure/AWS: Use VM sizes that support nested virtualization
Frequently asked questions
- What does "Hardware assisted virtualization and data execution protection must be" mean?
- When Docker Desktop starts on Windows, it checks for hardware virtualization support. Docker requires either Hyper-V (Windows Pro/Enterprise) or WSL 2 (Windows Home/Pro) to run containers, and both of these technologies depend on CPU virtualization features being enabled. This error appears when Docker detects that: - Hardware virtualization (Intel VT-x or AMD-V/SVM) is disabled in BIOS/UEFI - Data Execution Prevention (DEP/NX bit) is disabled - The Windows Hypervisor Platform is not enabled - Required Windows features (Hyper-V or WSL 2) are not installed The error message "Docker Desktop is unable to detect a Hypervisor" or "Hardware assisted virtualization and data execution protection must be enabled in the BIOS" indicates that the underlying virtualization layer that Docker needs is not available or properly configured.
- How do I fix "Hardware assisted virtualization and data execution protection must be"?
- This error occurs when Docker Desktop cannot detect hardware virtualization support. You need to enable virtualization (VT-x/AMD-V) in your BIOS/UEFI settings and ensure Hyper-V or WSL 2 is properly configured in Windows.
- What causes "Hardware assisted virtualization and data execution protection must be"?
- Hardware virtualization (VT-x/AMD-V) is disabled in BIOS/UEFI settings Data Execution Prevention (DEP/NX bit) is disabled in BIOS Hyper-V Windows feature is not enabled (Windows Pro/Enterprise)
- Is the "Hardware assisted virtualization and data execution protection must be" error serious?
- Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.
Official resources & further reading
- ๐Docker Official Documentation
- ๐Install Docker Desktop on Windows - Docker Docs(Official Docs)
- ๐Common troubleshooting topics - Docker Docs(Official Docs)
- ๐ฌ
- ๐ฌHardware assisted virtualization must be enabled - Docker Forums(Stack Overflow)
- ๐
- ๐
- ๐
- ๐
- ๐