必须验证cpu虚拟化四项指标:vm monitor mode extensions、virtualization enabled in firmware、second level address translation、data execution prevention available全部为“是”,才支持wsl2或hyper-v;可用systeminfo、powershell或securable工具分别检测。

当你准备安装Docker Desktop、WSL2或Hyper-V,却卡在“不支持虚拟化”报错时,必须快速确认CPU是否具备完整虚拟化能力——不是只看BIOS有没有开,而是要验证硬件原生支持+固件已启用+二级地址转换+数据执行保护四项全部到位。
用systeminfo命令一次性查齐四项核心指标
这是Windows原生命令,无需安装任何工具,直接输出Hyper-V全部硬件依赖项的实时状态,结果最贴近底层真实能力。
1、按Win + R打开运行框,输入cmd回车,启动命令提示符。
2、粘贴执行:systeminfo,等待输出完成(通常5~8秒)。
3、滚动到输出最底部,定位【Hyper-V 要求】区域,逐行核对以下四项是否全部显示为【是】:
→ VM Monitor Mode Extensions
→ Virtualization Enabled In Firmware
→ Second Level Address Translation
→ Data Execution Prevention Available
只要其中任意一项是【否】,就说明当前系统不具备运行WSL2或Hyper-V的完整硬件条件。比如“Virtualization Enabled In Firmware”为否,代表BIOS里VT-x/AMD-V根本没开;而“Second Level Address Translation”为否,则大概率是老款CPU(如Intel Core 2系列)压根不支持SLAT,连进BIOS设置都没用。
用PowerShell直读CPU物理标志位
该方法绕过systeminfo的汇总逻辑,直接调用WMI接口读取处理器原生特性,适合排查systeminfo显示异常或远程批量检测场景。
右键开始按钮 → 选择【Windows PowerShell(管理员)】。
复制粘贴执行:Get-CimInstance -ClassName Win32_Processor | Select-Object Name, VirtualizationFirmwareEnabled, SecondLevelAddressTranslationExtensions。
观察返回值:【VirtualizationFirmwareEnabled为True】表示固件层已开启虚拟化(前提是CPU支持);【SecondLevelAddressTranslationExtensions为True】则确认CPU具备SLAT能力——这两项同时为True,才是WSL2运行的硬门槛。
用SecurAble工具做离线终极验证
当系统无法联网、权限受限或你怀疑Windows自身报告失准时,SecurAble.exe这个单文件小工具能脱离操作系统,直接探测CPU物理指令集。
方法一:下载并运行SecurAble
从官方镜像站下载SecurAble.exe(约15KB),双击运行,界面会立刻显示三栏状态:
→ “Locked”列显示“YES”:CPU锁频未影响虚拟化检测
→ “NX”列显示“YES”:数据执行保护(DEP)可用
→ “64-bit”列显示“YES”:CPU支持64位扩展
→ 最关键的“Hardware DEP”和“Hardware Virtualization”两行若都标绿✔,说明CPU原生支持且BIOS已启用。
方法二:离线部署脚本自动判读
将SecurAble.exe与以下批处理保存在同一文件夹,命名为check-vt.bat:
@echo off
SecurAble.exe > result.txt
findstr /C:"Hardware Virtualization: YES" result.txt >nul && echo ✅ 硬件虚拟化已启用 || echo ❌ 硬件虚拟化未启用
del result.txt
双击运行该批处理,控制台将直接输出✅或❌结论,无需人工识别界面。











