VMware与 Device/Credential Guard 不兼容,解决办法及心得

百度要你取消Hyper-V功能,但我要用docker,以及一些相关的帖子都无效的情况下

https://blog.csdn.net/u013667796/article/details/85843151

自己根据官方文档进行研究解决办法,

https://kb.vmware.com/s/article/2146361

需要关闭DG/CG,然后链接都微软的相关文档

https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage

直接找Disable方法

要编辑组策略和删除注册表的。感觉不太好惹,继续下翻看到

惊喜,有一步解决的工具

https://www.microsoft.com/en-us/download/details.aspx?id=53337

下载下来解压

里面的脚本就是这个ps1后缀的文件,根据官方文档,非英文系统要把脚本的

$OSArch = $(gwmi win32_operatingsystem).OSArchitecture

改为

$OSAch = $((gwmi win32_operatingsystem).OSArchitecture).tolower()

保存

ps1要用powershell打开,管理员启动!管理员启动!管理员启动!

定位文件夹位置,我是在下载文件夹下的,

然后运行

DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot

可能你会遇到下面如图的问题,没遇到就电脑就会30s自动重启,可以跳过下面这一段

然后我根据建议在前面加了.\运行

依旧有问题,根据网址来到

https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-6

全页大致扫读一边,讲的是powershell运行的脚本的权限问题

先在powershell中输入

Get-ExecutionPolicy

可以看到我们先在是处于受限状态,不能运行脚本

然后更改权限为RemoteSigned

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

更改成功!

重新运行

.\DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot

会有一张类似下面这张图的(我已经修改过一遍了,可能有点不一样)

中间会说系统不到指定表是正常的,这些原本就是要被删除的,找不到也无所谓

 然后就是重启,回进入到下面这个画面

这就是最早官方文档要我们Disable的东西,F3确认,

下一个是要我们是否disabe虚拟化的基础安全的东西,我也F3确认了,

然后开机,打开VMWare,继续学习鸟哥的linux课程了。

最后,如果需要重新enable的话可以根据上面的微软官方文档中的信息重新启用组策略

https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage

最后的最后,附上随手找到的一个关于这个Decive guard的介绍

https://docs.microsoft.com/zh-cn/previous-versions//dn986865(v=vs.85)

后续,打开后Docker无法打开

报“Hardware assisted virtualization and data execution protection must be enabled”

查询了一下,发现vmware和docker不兼容,参考

https://blog.csdn.net/u012588542/article/details/85378508

https://blog.csdn.net/W_C_X/article/details/89474587

但是没有这么复杂的解决办法,用docker就启用守护进程,重启,用vmware就关闭守护进程,重启

1,如果用docker,
在cmd,以管理员身份运行:
bcdedit /set hypervisorlaunchtype auto
重启
2,开启虚拟机linux
在cmd中,以管理员身份运行:
bcdedit /set hypervisorlaunchtype off
重启

现在知道了,最开始那个csdn的帖子的那一行命令的用处了,自己当时还不知道要用管理员运行那一行命令。。。

绕了好大一圈才解决

猜你喜欢

转载自www.cnblogs.com/powerzzjcode/p/11110542.html