Nested Virtualization CPU Feature Unsupported Fix in Hyper-V

Server & Cloud Intermediate 👁 6 views 📅 Jun 20, 2026

This error pops up when your hypervisor doesn't expose the right CPU features to a VM. Here's how to fix it fast.

The 30-Second Fix: Check Your Host Hypervisor

You're trying to run a VM inside a VM, and you get some variation of "CPU feature unsupported" or "nested virtualization not available." The culprit here is almost always that your host hypervisor hasn't exposed the CPU virtualization extensions to the guest VM. This is a feature flag that's off by default in most hypervisors.

On a Windows machine with Hyper-V, open PowerShell as admin and run this:

Get-VMProcessor -VMName "YourVMName" | fl ExposeVirtualizationExtensions

If it returns False, that's your problem. On VMware ESXi, check the VM's CPU settings — look for "Expose hardware assisted virtualization to the guest OS." In KVM/libvirt, it's the host-passthrough CPU mode or adding <feature policy='require' name='vmx'/> for Intel.

30-second fix: On Hyper-V, run this PowerShell command:

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

Then power-cycle the VM. Not just restart — full shutdown and start. That enables the feature immediately. If it works, you're done. If not, move to the moderate fix.

The Moderate Fix (5 Minutes): Verify Hardware and Permissions

If the 30-second fix didn't work, your host might not actually support nested virtualization. You need to check three things:

  1. Physical CPU support: Your host CPU needs Intel VT-x or AMD-V. Run systeminfo in CMD and look for "Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed." If you see normal CPU features listed, your hardware supports it.
  2. Hypervisor version: Nested virtualization on Hyper-V requires Windows Server 2016 or later, or Windows 10/11 Pro/Enterprise. Older versions won't work.
  3. VM generation: Only generation 2 VMs support nested virtualization. Check with Get-VM -Name "YourVMName" | fl Generation. If it's gen 1, you'll need to recreate the VM as gen 2.

Also, check that the VM has at least 4 GB of RAM. Nested VMs are memory-hungry. If you're running on VMware ESXi, make sure the VM's virtual hardware version is 8 or later, and that the CPU is set to "Intel VT-x/EPT or AMD-V/RVI" in the VM's CPU virtualization settings.

If all that checks out, but it still fails, move to the advanced fix.

The Advanced Fix (15+ Minutes): Registry Tweaks and Scripts

For Hyper-V specifically, there's a registry setting that can block nested virtualization even when everything else looks right. This is rare, but I've seen it on systems where someone manually disabled Hyper-V's nested features via group policy.

Open regedit and navigate to:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization

Look for a DWORD named ExposeVirtualizationExtensions. If it's set to 0, change it to 1. If it doesn't exist, create it as a DWORD and set it to 1. Then reboot the host.

On VMware ESXi, you might need to check the VM's .vmx file directly. SSH into the ESXi host and edit the VM's configuration file (usually in /vmfs/volumes/datastore1/VMName/VMName.vmx). Add or change these lines:

vhv.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"

The first line enables nested virtualization. The second one fixes a common CPUID issue that causes the error on some Intel CPUs. Save the file and power on the VM.

For KVM on Linux, the fix is mostly about CPU mode. Edit the VM's XML with virsh edit VMName and change the CPU section to:

<cpu mode='host-passthrough' check='none'/>

Then restart the VM. If you still get the error, check that the host kernel has nested virtualization enabled:

cat /sys/module/kvm_intel/parameters/nested

If it returns 0 or N, you need to enable it. Add options kvm-intel nested=1 to /etc/modprobe.d/kvm.conf and reboot the host.

What If Nothing Works?

Sometimes the hardware just doesn't cut it. Older Intel Xeon E5 v2 or AMD Opteron chips don't support nested virtualization at all. Check your CPU model against the manufacturer's spec sheet. If it's not listed, you're out of luck — you'll need a newer host or a different approach (like using containers instead).

Also, don't bother with third-party tools like VirtualBox for nested virtualization. They're flaky. Stick with Hyper-V, VMware, or KVM. And never try to run nested VMs on a laptop with a low-power CPU — it'll crash fast.

Was this solution helpful?