Hyper-V抢占CPU虚拟化资源导致VMware等无法启动;需先用msinfo32确认“基于虚拟化的安全性”是否为“正在运行”,再依次关闭内存完整性、禁用Hyper-V(bcdedit)、清理DeviceGuard注册表项,并关闭相关Windows功能。

Win11开启Hyper-V后,VMware、VirtualBox或WSL2等虚拟机无法启动,甚至直接报错“未能启动虚拟机”“此主机不支持VT-x”或卡在启动界面,根本原因是Hyper-V抢占了CPU硬件虚拟化资源,导致其他虚拟化软件失去访问权限。
确认是否被Hyper-V占用虚拟化资源
按下 Win + R,输入 msinfo32 回车打开系统信息窗口。
在右侧滚动查找“基于虚拟化的安全性”这一项。
若其值为【正在运行】,说明Hyper-V及相关安全组件已激活并独占VT-x/AMD-V,VMware等必然失败——这是最关键的诊断依据,必须先确认再操作。
若显示“已禁用”,问题不在Hyper-V,应排查BIOS虚拟化开关或驱动冲突。
关闭内核隔离(内存完整性)
这是最轻量、最安全的修复动作,适用于仅需运行VMware且不依赖Windows安全防护的用户。
打开“Windows 安全中心” → 点击“设备安全性” → 进入“内核隔离详细信息”。
将【内存完整性】开关设为“关”,系统会提示需要重启。
注意:某些启用BitLocker的设备会在此处弹出警告,需先暂停BitLocker加密才能修改该选项,否则开关无法点击。
重启后再次运行 msinfo32,确认“基于虚拟化的安全性”已变为“已禁用”。
彻底禁用Hyper-V管理程序
如果关闭内存完整性无效,说明Hyper-V服务仍在后台加载,必须从启动层切断。
以管理员身份运行PowerShell或CMD,执行:
bcdedit /set hypervisorlaunchtype off
执行成功后会返回“操作成功完成”。这一步【不可逆】,会完全阻止Windows启动时加载Hypervisor,VMware即可接管VT-x。
立即重启电脑。重启后任务管理器→性能→CPU中“虚拟化”状态仍显示“已启用”,但VMware可正常启动虚拟机。
清理注册表残留的VBS开关
方法一:手动修改注册表
按 Win + R 输入 regedit 打开注册表编辑器。
导航至:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
找到名为 EnableVirtualizationBasedSecurity 的DWORD项,双击将其数值数据改为 【0】。
方法二:一键导入.reg文件(推荐)
新建文本文档,粘贴以下内容,保存为 disable-vbs.reg,双击运行:
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard]"EnableVirtualizationBasedSecurity"=dword:00000000
无需重启,该设置会在下次开机时生效;如需立即生效,建议配合 bcdedit 命令使用。
验证并排除嵌套冲突
第一步:检查物理BIOS/UEFI中VT-x或SVM是否真实开启。
第二步:进入UEFI后定位到Advanced → CPU Configuration,确认Intel Virtualization Technology为Enabled。
第三步:若曾启用过Windows Sandbox、WSL2或DevEco模拟器,它们会隐式依赖Hyper-V,需一并关闭:
控制面板 → 程序 → 启用或关闭Windows功能 → 取消勾选“Windows沙盒”“Windows子系统用于Linux”“虚拟机平台”“Windows Hypervisor Platform”。
取消全部勾选后点击确定,系统提示重启,立即执行。











