如何为 VMWare 禁用 Hyper-V
571 字
3 分钟
如何为 VMWare 禁用 Hyper-V
前言
要验证当前 Hyper-V 是否启用,有两个方法
VMWare
这是最直接,也是我们最关心的方法,在虚拟机的 “Settings” -> “Options” -> “Advanced” -> “Settings” 中,如果出现一个关于“侧通道缓解”的选项,证明当前 VMWare 和 Hyper-V 共存。
msinfo32
Win + R 运行 msinfo32,滑到最下面,如果出现:“已检测到虚拟机监控程序…”,证明当前 Hyper-V 正在运行;
如果是若干个“Hyper-V - xxxx 是”的条目,则证明没有启用。
禁用 Hyper-V
1. 禁用内存完整性
在“Windows 安全中心” -> “设备安全性” -> “内核隔离”中禁用“内存完整性”(需要重启生效,等会一并重启即可)
2. 禁用 Credential Guard
两种方式二选一,如果你的系统支持组策略,建议优先通过组策略修改。
组策略
Win + R 运行 gpedit.msc 或直接打开本地组策略,在“本地计算机策略” -> “计算机配置” -> “管理模板” -> “系统” -> “Device Guard” 中将“打开基于虚拟化的安全”策略设置为“已禁用”。
注册表
如果你的系统不支持本地组策略,可以直接编辑注册表对应键。
“如果在未启用 UEFI Lock 且未组策略的情况下启用 Credential Guard,则编辑注册表项即可禁用它。”1
Warning
“删除这些注册表设置可能不会禁用 Credential Guard。 它们必须设置为值 0。”1
密钥路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa密钥名称: LsaCfgFlags类型: REG_DWORD值: 0密钥路径: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard密钥名称: LsaCfgFlags类型: REG_DWORD值: 03. bcdedit 显式关闭
打开管理员 Powershell 或 cmd,执行:
bcdedit /set hypervisorlaunchtype off4. 启用 CPU 的硬件虚拟化支持
在 BIOS/UEFI 菜单中,启用对应的 CPU 虚拟化支持
- AMD: AMD-V
- Intel: VT-x
重启计算机
Note
考虑到你的“关机”可能不是真正的“关机”,请直接选择“重启”
检验
现在 VMWare 的虚拟机设置中,刚刚的“侧通道缓解”选项应当消失,且 msinfo32 的结果也有所不同。
References
Footnotes
如何为 VMWare 禁用 Hyper-V
https://nekoside.com/posts/disable-hyper-v/
