usedocker

// troubleshooting · virtualization

Docker Desktop: virtualization not enabled — how to fix

Docker Desktop refuses to start with "Hardware assisted virtualization and data execution protection must be enabled in the BIOS" — the single most common first-launch error on Windows. Your CPU supports virtualization (almost every chip from the last decade does), but the motherboard ships with it switched off. Fixing it is a five-minute reboot into BIOS/UEFI. This page walks through the exact steps for the major laptop and motherboard families.

By The Containers Desk Editorial team, usedocker.com

Last updated · Last verified

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: F1 or F2.
  • ASUS, MSI, Gigabyte desktops: Del.
  • Surface devices: hold Volume Up while powering on.
  • Most other laptops: Esc or F10.

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:

VendorPathSetting name
LenovoSecurity → VirtualizationIntel Virtualization Technology
DellAdvanced → Virtualization SupportEnable VT-x for Direct I/O
HPSecurity → System SecurityVirtualization Technology (VTx)
ASUSAdvanced → CPU ConfigurationIntel (VMX) Virtualization Technology
MSIOC → CPU FeaturesSVM Mode (AMD) / Intel VT-x
GigabyteM.I.T. → Advanced CPU SettingsSVM (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: Yes

All 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.

Sources

  1. [1] Hyper-V system requirements (Microsoft Learn)
  2. [2] Enable virtualization in BIOS/UEFI (Intel)
  3. [3] AMD-V / SVM virtualization (AMD)
  4. [4] virtualization tag on Stack Overflow