最近在打开VMware Workstation虚拟机的时候突然发现无法新建和开启已有虚拟机,开始以为是在BIOS里关闭了Intel VT-x,但是检查一遍后,发现确实都已经开启了。研究了很久,以为是Device Guard的问题,但是最后发现,只是Hyper-V的问题,只需要关闭Hyper-V即可解决该问题。
现象
运行已创建的虚拟机出现
VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation。有关更多详细信息,请访问http://www.vmware.com/go/turnoff_CG_DG。
原因分析
Windows10开启Hyper-V后与VMware Workstation冲突导致无法运行和新建虚拟机。
一般来说Windows10默认不会打开Hyper-V,但是安装Docker默认会打开Hyper-V。
解决方法
禁用Hyper-V
步骤
打开Windows PowerShell(管理员)
或者
打开命令行提示符 ( 管理员 )
运行命令
禁用Hyper-V服务:
>bcdedit /set hypervisorlaunchtype off
启用Hyper-V服务:
>bcdedit /set hypervisorlaunchtype auto
重启主机
完成。
总结
不要试图在控制面板>卸载程序>打开或关闭 Windows 功能中关闭 Hyper-V,否则在重启后会导致更新配置失败并回滚重启。
官方解决方案文档(中文、英文)中的前面1-6步都是基于Itanium硬件平台,可以跳过不看,直接执行下面的基于Legacy BIOS boot的步骤,一共3步,但是中文的翻译有个坑,就是执行命令 bcdedit /set hypervisorlaunchtypeoff 缺了一个空格,导致执行命令会报错,而英文版原文是正确的。
另外,由于VMware Workstation和Hyper-V冲突,那么就意味着VMware Workstation和Docker也冲突。
如果要重新开启Hyper-V,只需执行 bcdedit /set hypervisorlaunchtype auto 命令并重启即可。
虽然警告信息中显示与Device Guard不兼容,但是并不是,其实只是Hyper-V的问题。
参考
https://kb.vmware.com/s/article/2146361?lang=zh_CN