之前遇到过VMWare Workstation虚拟机无法启动,提示“不支持在此主机上使用虚拟化性能计数器。”、“模块‘VPMC’启动失败”,通过文章《Vmware 无法开启虚拟化,提示模块“vpmc”启动失败》进行解决之后,虚拟机能正常启动了。
但最近把操作系统升级到 Windows 11 24H2后,再次打开VMWare Workstation启动虚拟机,该问题再次重现,奇怪的是,上述文章中提到的“内核隔离”功能,一直处于关闭状态,而且Hyper-V也是没有安装,却仍然出现这个提示。经过一番了解,原来是从24H2版本开始,系统默认会开启 Device/Credential Guard功能,而这个功能的原理和“内核隔离”一样,利用虚拟化技术保护系统免受恶意软件的侵害,但这个功能会导致一些虚拟化软件无法正常使用,比如VMWare Workstation,因此如果需要用VMWare Workstation的,需要关闭Device/Credential Guard功能。关闭方法如下:
一、打开注册表编辑器:打开“运行”,输入“gpedit.msc”,然后回车;
二、进入“计算机配置”——“管理模板”——“系统”——“Device Guard”,找到并双击“打开基于虚拟化的安全”,然后选择“已禁用”,最后按“确定”保存。
三、在“运行”中执行“gpupdate /force”更新组策略,更新完成后建议重启电脑。
当然,如果您的电脑是家庭版,系统默认没有内置组策略管理工具,那么可以通过修改注册表来实现,修改的位置在:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceGuard,查看是否存在EnableVirtualizationBasedSecurity键值,如果存在,把设置值设为0;如不存在,则可以新建一个为该名称的DWORD值,把值设置为0。最后,建议重启电脑。
从网上搜索而来的还有另一个办法,那就是在PowerShell或命令提示符(管理员模式)中执行以下命令来关闭Hyper-V:
bcdedit /set hypervisorlaunchtype off
执行以上命令后重启电脑。
进行了以上的操作之后,我把电脑重启了一下,但重启了之后,VMware Workstation 的虚拟机依旧无法正常启动,后面发现还需要在“服务”中把Hyper-V的相关服务项目设置为“禁用”,或者让这些服务处于不运行状态,如下图:
如果以上方法都不生效,还可以试一下以下方法:
一、下载以下文件(文件来自微软),然后解压缩:
链接:https://pan.baidu.com/s/1TTRMdbI6VUexrHnCjEuzIQ?pwd=ieov (提取码:ieov)
二、解压后,打开PowerShell,然后定位到解压后的文件夹,执行以下脚本:
.\DG_Readiness_Tool_v3.6.ps1 -Disable
如果执行后提示“无法加载文件,因为在此系统上禁止运行脚本”,则先执行以下两个指令:
- Set-ExecutionPolicyRemoteSigned
- Set-ExecutionPolicy -ExecutionPolicyRemoteSigned
执行后再重新执行.\DG_Readiness_Tool_v3.6.ps1 -Disable
三、执行脚本的时候,可能会提示“是否要运行来自此不可信发布者的软件?”,可以选择“运行一次”(按键盘“R”),或者“始终运行”(按键盘“A”),按实际需求执行;
四、执行完毕后,重启电脑
五、电脑重启的时候,在自检画面过后、启动Windows之前,会出现如下提示:
翻译如下:
您是否想禁用“凭据保护”(“Credential guard”的直译)功能?
禁用这个功能会让恶意软件读取登录到Windows系统中所有用户的密码以及其它凭据信息。为了确保这操作在组织中是正确的,请在禁用保护功能前联系您的系统管理员。
按Windows徽标键或F3键禁用凭据保护”功能,按“ESC”键跳过此步骤。
根据上述的意思,按Windows徽标键或F3键,就会禁用Credential guard功能,禁用后,系统会自动再重启一次,重启后重新打开VMWare Workstation,一般就能顺利打开虚拟机了。
最后,提醒一下大家,如果大家没有使用虚拟机的需求,建议大家还是不要关闭 Device/Credential Guard功能,以确保系统安全。