必须满足CPU支持VT-x且BIOS开启、宿主机为Win10/11专业版或企业版并启用Hyper-V、系统版本≥10565、虚拟机配置版本≥8.0且关机状态下执行Set-VMProcessor启用嵌套扩展,缺一不可。

要确认Windows 10系统能否在Hyper-V虚拟机里再运行一层虚拟机(比如装WSL2、Docker Desktop或另一个VM),必须逐层验证硬件、固件、系统功能和虚拟机配置是否全部满足嵌套虚拟化前提,缺一不可。
第一步:确认CPU原生支持VT-x且BIOS已启用
打开任务管理器(Ctrl+Shift+Esc)→切换到“性能”选项卡→点击左侧“CPU”→滚动到底部查看“虚拟化”状态。若显示“已禁用”,说明要么CPU不支持,要么BIOS里没开。
右键“开始”→“系统”→记下处理器完整型号(如Intel Core i7-8700K),然后访问ark.intel.com或AMD官网对应页面,搜索该型号,在“Security & Reliability”或“Features”栏确认标有【Intel VT-x】或【AMD-V】且状态为“Yes”。仅支持≠已启用——必须进BIOS手动打开。
按Win+I进入“设置”→“系统”→“恢复”→“高级启动”→点“立即重新启动”→蓝屏界面选“疑难解答”→“高级选项”→“UEFI固件设置”→重启后进入BIOS。在“Advanced”、“CPU Configuration”或“Security”菜单中找到Intel Virtualization Technology(VT-x)或SVM Mode(AMD-V),设为Enabled并保存退出。
第二步:验证宿主机Hyper-V角色是否完整启用
以管理员身份运行PowerShell,执行:
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
返回结果中“State”必须为“Enabled”。若为“Disabled”或“DisablePending”,需立即运行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart
然后手动重启电脑。注意:家庭版Windows 10不支持Hyper-V,此步必然失败。
第三步:检查是否满足嵌套虚拟化专属条件
方法一:运行微软官方检测脚本
先确保已安装Git或直接用PowerShell下载:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Get-NestedVirtStatus.ps1" -OutFile "$env:USERPROFILE\Desktop\Get-NestedVirtStatus.ps1"
然后执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
.\Get-NestedVirtStatus.ps1
该脚本会一次性输出五项结果:CPU是否支持嵌套、Hyper-V是否启用、系统版本是否≥10565、VBS是否关闭、是否存在冲突驱动。其中【系统版本低于10565将直接判定不支持】——这是硬性门槛,旧版Windows 10(含所有正式版)均不兼容嵌套虚拟化。
方法二:手动交叉验证关键项
① 运行winver,确认版本号≥10.0.10565(即Insider Preview Build 10565或更高);
② 在PowerShell中运行:systeminfo | findstr "Virtualization-based security",若返回“正在运行”,必须先禁用VBS(通过组策略或Disable-WindowsOptionalFeature -FeatureName VirtualMachinePlatform);
③ 确认当前使用的是Intel CPU——截至2026年10月,AMD-V在Windows嵌套虚拟化中【仍无官方支持】,即使BIOS开启SVM Mode也无效。
第四步:针对目标虚拟机做运行时验证
关闭待测的Hyper-V虚拟机(必须是完全关机,不是“保存”或“暂停”)。
在管理员PowerShell中执行:
Get-VMProcessor -VMName "YourVMName" | Select-Object ExposeVirtualizationExtensions
若返回False,说明尚未启用嵌套扩展;此时需运行:
Set-VMProcessor -VMName "YourVMName" -ExposeVirtualizationExtensions $true
启动该虚拟机后,在其内部打开命令提示符,运行:
systeminfo | findstr "Hyper-V Requirements"
重点看“嵌套虚拟化”一行是否显示“已启用”。若仍显示“已禁用”,请回头检查动态内存是否已关闭、MAC欺骗是否开启、内存是否固定分配且≥4GB。

















