If you’re trying to install Docker Desktop on a Hyper-V virtual machine and get hit with the frustrating error:

"Virtualization support not detected. Docker Desktop couldn’t start as virtualization support is not enabled on your machine."

—Don’t worry! You're not alone, and this issue is fixable. In this blog post, I’ll walk you through why this happens and how to fix it in just a few simple steps.


Why This Error Happens

Docker Desktop for Windows relies on hardware virtualization features (like Intel VT-x or AMD-V) to function. If you’re running Docker inside a virtual machine (VM) on Hyper-V, it won’t work unless that VM has nested virtualization enabled. By default, Hyper-V virtual machines do not expose virtualization extensions to the guest OS. That’s why Docker fails to detect them.


️ Step-by-Step Fix

✅ Step 1: Shut Down Your VM

Before making changes, you must turn off your VM. You can’t enable nested virtualization while it’s running. You can do this via the Hyper-V Manager or PowerShell:

Stop-VM -Name "YourVMName"

Replace "YourVMName" with the name of your virtual machine.


✅ Step 2: Enable Nested Virtualization

Now, open PowerShell as Administrator and run the following command:

Set-VMProcessor -VMName "YourVMName" -ExposeVirtualizationExtensions $true

This tells Hyper-V to allow the guest VM to access virtualization features.


✅ Step 3: Confirm It’s Enabled (Optional)

You can verify that the change was successful:

Get-VMProcessor -VMName "YourVMName" | Select-Object -Property ExposeVirtualizationExtensions

If it returns True, you’re good to go.


✅ Step 4: Start Your VM and Launch Docker

Now start your VM:

Start-VM -Name "YourVMName"

Log in and start Docker Desktop again. It should now detect virtualization support and run normally.

Running Docker inside a Hyper-V VM isn't the most common use case, but it's entirely possible with a little configuration. Enabling nested virtualization is the key. Let me know in the comments if you hit any snags or if you have another trick for managing Docker in a virtualized environment!