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

如果你会遇到下面的问题(找不到命令 DG_Readiness_Tool_v3.6.ps1),继续看下去

如果没遇到就电脑就会30s自动重启,可以直接跳到下面重启后的部分

windows推荐使用

.\DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot

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

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

然后Y更改执行策略

更改成功!

重新运行

.\DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot

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

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

 重启之后,会进入到下面这个画面

这就是最早官方文档要我们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后无法打开VMware,

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

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

查询了一下,发现vmware和docker不兼容,上面的VMware与 Device/Credential Guard 不兼容问题,也是这么引起的,

参考

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,解决VMware与 Device/Credential Guard 不兼容
以管理员身份运行cmd:
bcdedit /set hypervisorlaunchtype off
重启

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

绕了好大一圈才想通

 

posted @ 2019-06-30 17:39  PowerZZJ  阅读(9800)  评论(0编辑  收藏  举报