问题描述
目前网络上教你关闭 Hyper-V 的方法(也是我以前用的方法)是在控制面板的开启或关闭Windows特性里反选Hyper-V和虚拟机管理平台。
具体的操作方法有的是让你图形界面操作,有的是用 powershell 命令,下面的命令对应反选整个 Hyper-V 。
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
也有的给的是下面的命令,对应的就是仅反选 Hyper-V 平台的 Hypervisor 虚拟机服务。
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor
还有用 dism 的。
dism /online /disable-feature /featurename:microsoft-hyper-v-all
虽然花样百出但是 Windows 11 24H2 上没用。
今天在翻 MS Learn 的时候注意到,在关闭 Hyper-V 的文章里提到,想要运行其他 Hypervisor 的话要同时关闭 Credential Guard 和 Device Guard,对应的是 msinfo32
打开的系统信息窗口里看到的基于虚拟化的安全特性(图中 Virtualization-based security)
所以这篇博客记录的就是怎么干掉这个 VBS 。注意这会降低 Windows 的安全性,除非知道自己在做什么否则请不要操作。执行文中操作产生的一切后果自负。
操作流程
1. 正常关闭 Hyper-V 功能。
到 控制面板 > 程序 > 程序和功能 > 启用或关闭Windows功能 下,反选:
- Hyper-V
- 虚拟机平台
2. 关闭 Device Guard
打开组策略编辑器 gpedit.msc
,找到 本地计算机策略>计算机配置>管理模板>系统>Device Guard 。
在右侧选单编辑 打开基于虚拟化的安全 ,选择禁用。
3. 关闭 Credential Guard
这里要借助一个微软的脚本,下载地址在这里。
下载解压得到 DG_Readiness_Tool_v3.6.ps1
这个脚本和一堆文件。
对我知道这种鬼玩意儿很烦,我懒得看脚本内容去分析到底哪些步骤起作用了。
而且这个链接还可能说死就死。幸好不算大所以我留了一份在博客上。
在解压后的文件夹里以管理员权限运行 powershell 执行下面的命令。
.\DG_Readiness_Tool_v3.6.ps1 -Disable
可能会飘个红报错,自己到 C:\DGLogs\DeviceGuardCheckLog.txt
看日志,一般是 del
找不到文件,无视。
4. 重启
注意快速启动可能有影响,自己找怎么关快速启动。
重启后会在引导的时候问是否关闭 Device Guard 和 Credential Guard,按 F3 或者 Win 键确定,ESC 跳过。
这里都确定关闭。开机后回到 Windows 桌面,再打开 msinfo32
就会看到生效了。