The exact error message
Docker Desktop displays one of these when virtualization is off:
- Hardware assisted virtualization and data execution protection must be enabled in the BIOS.
- Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.
- Hyper-V cannot be installed: A hypervisor is already running.
Step 1 — Confirm the symptom
Open Task Manager (Ctrl+Shift+Esc), switch to Performance → CPU, and look at the bottom-right info block. The line you’re looking for:
Virtualization: Disabled L1 cache: 384 KB L2 cache: 5.0 MB L3 cache: 12 MB
If it reads Disabled, you’re in the right place. If it’s already Enabled, the symptom is something else — usually a missing WSL 2 kernel; jump to WSL 2 troubleshooting.
Step 2 — Reboot into BIOS/UEFI
The cleanest way on Windows 10 and 11 is via the OS itself: Settings → System → Recovery → Advanced startup → Restart now. On the next boot you’ll see Choose an option → Troubleshoot → Advanced options → UEFI Firmware Settings → Restart. This skips the manufacturer-specific “press F2 fast enough” dance entirely.
Or, if you prefer the keyboard shortcut at boot:
- Lenovo, Dell, HP business laptops:
F1orF2. - ASUS, MSI, Gigabyte desktops:
Del. - Surface devices: hold
Volume Upwhile powering on. - Most other laptops:
EscorF10.
Step 3 — Find and enable the virtualization setting
Where the toggle lives depends on your motherboard or laptop vendor. The label varies, too. Here are the common paths:
| Vendor | Path | Setting name |
|---|---|---|
| Lenovo | Security → Virtualization | Intel Virtualization Technology |
| Dell | Advanced → Virtualization Support | Enable VT-x for Direct I/O |
| HP | Security → System Security | Virtualization Technology (VTx) |
| ASUS | Advanced → CPU Configuration | Intel (VMX) Virtualization Technology |
| MSI | OC → CPU Features | SVM Mode (AMD) / Intel VT-x |
| Gigabyte | M.I.T. → Advanced CPU Settings | SVM (AMD) / VT-d (Intel) |
Toggle the setting to Enabled, press F10 (or whichever key your firmware uses for save-and-exit) and boot back into Windows.
Step 4 — Verify
Open Task Manager → Performance → CPU again. Virtualization should now read Enabled. Or from PowerShell:
PS> systeminfo | findstr /B /C:"Hyper-V"
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: YesAll four lines should read Yes. Now relaunch Docker Desktop — the engine should start without the BIOS error.
Special cases
Inside a VM (nested virtualization)
If you’re running Windows inside VMware Workstation, VirtualBox, or Parallels, the host needs to expose virtualization to the guest. In VMware, edit the VM → Processors → check Virtualize Intel VT-x/EPT or AMD-V/RVI. In VirtualBox, the host CPU must support nested virtualization (Intel 9th gen+, AMD Zen 3+) and you enable it with VBoxManage modifyvm "name" --nested-hw-virt on.
Cloud Windows VMs
Most cloud providers don’t expose nested virtualization on standard instance types. On Azure, only specific instance families (Dv3, Ev3, and newer) support it. On AWS, metal/.metal instances do. If your cloud Windows VM can’t enable VT-x, switch instance types or run Docker Desktop locally instead.
Locked-down enterprise laptops
Some employer-managed laptops have BIOS access disabled or virtualization restricted by policy. Your IT team can enable it remotely via management tooling — file a ticket with “Enable Intel VT-x / AMD SVM for Docker Desktop” in the title.
Frequently asked questions
How do I check if hardware virtualization is enabled on Windows?
Open Task Manager, switch to the Performance tab, and select CPU. The right-hand panel reports "Virtualization: Enabled" or "Disabled". From PowerShell, `Get-ComputerInfo` and look for the `HyperVRequirementVirtualizationFirmwareEnabled` field.
Where in BIOS is the virtualization setting?
It varies by manufacturer. On Lenovo laptops it is typically Security → Virtualization → Intel Virtualization Technology. On Dell it is Advanced → Virtualization Support. On HP it is Security → System Security → Virtualization Technology. On most desktop motherboards (ASUS, MSI, Gigabyte) the option is under Advanced → CPU Configuration as "Intel VT-x" or "SVM Mode" on AMD.
What if my BIOS does not have a virtualization option?
On older or business-locked machines, virtualization may be permanently disabled by the OEM. Check your CPU model on Intel ARK or AMD's site to confirm it supports VT-x or AMD-V; if it does, the option exists somewhere. Look under Advanced, Security, or CPU Configuration. Updating the BIOS firmware sometimes adds the menu.
Do I need both VT-x and VT-d?
For Docker Desktop, only VT-x (or AMD-V) is required. VT-d (Intel) and AMD-Vi/IOMMU are needed for PCI passthrough — useful for advanced VM workloads but not for Docker Desktop's nested KVM/Hyper-V scenarios.