您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstation 的最低要求

前些天捣鼓docker还比较顺利,以为一切OK,但是今天用到虚拟机,出现了这个提示:

hyperv虚拟机 进bios hyper v虚拟机 无法启动_百度

看意思应该是因为之前开启docker时,安装了Hype-v所引起,这个好办,于是直接卸载掉好了。

hyperv虚拟机 进bios hyper v虚拟机 无法启动_bc_02

然后再去打开虚拟机,但是问题仍然存在!怎么办呢?我的认知水平也就到这里了,只能去百度了,好在这个问题好多人遇到。

太复杂的直接跳过,直接看简单的。

在运行中输入msinfo32查看系统信息。

hyperv虚拟机 进bios hyper v虚拟机 无法启动_百度_03

这一条是正在运行状态,这个不行必须是关闭状态,怎么关闭呢?也有办法虽然好像不太行,但是也记录一下,下面这个图是别人的,我电脑上的可能被后面的操作覆盖了,因此已经没有这几项了,虽然我之前也添加了。

hyperv虚拟机 进bios hyper v虚拟机 无法启动_百度_04

打开注册表-》依次找到路径

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard

修改或者新增4项,分别为:

ConfigureSystemGuardLaunch值为2

EnableVirtualizationBasedSecurity值为0

RequireMicrosoftSignedBootChain值为1

RequirePlatformSecurityFeatures值为1

然后换个路径

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

新增1项内容,如下:

LsaCfgFlags值为0

hyperv虚拟机 进bios hyper v虚拟机 无法启动_bc_05

然后重启电脑,但是我的电脑重启之后,基于虚拟化的安全性仍然是开着的,这个每个电脑可能不太一样。

那怎么办呢?接着百度,这次我查的是怎么关掉这一项。

解决办法,需要下载一个工具,地址如下:

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

如果路径失效了,可以自己百度,下载下来的东西叫 dgreadiness_v3.6.zip

下载下来然后解压:

hyperv虚拟机 进bios hyper v虚拟机 无法启动_hyperv虚拟机 进bios_06

这个时候,使用管理员打开PowerShell,切换到上面的解压目录,然后执行:

.\DG_Readiness_Tool_v3.6.ps1 -Disable

但是,此时我的电脑报错了,这个没截图,大体意思是我电脑无法执行脚本,这个时候需要执行一个命令:

set-ExecutionPolicy RemoteSigned

然后输入,同意

hyperv虚拟机 进bios hyper v虚拟机 无法启动_重启_07

然后再执行

.\DG_Readiness_Tool_v3.6.ps1 -Disable

可能还会有红色的提示,但是不用管,电脑会重启,重启过程中出现

hyperv虚拟机 进bios hyper v虚拟机 无法启动_hyperv虚拟机 进bios_08

有两个页面来回切换,你直接按F3,之后再按空格继续,电脑就重启了,重启成功之后再看系统信息中,这一条已经关闭了。

hyperv虚拟机 进bios hyper v虚拟机 无法启动_bc_09

于是我兴致冲冲的去打开虚拟机,但是问题还存在!!!我一瞬间有一种敲鼠标的冲动,但是考虑到是公司财产,不能破坏,就忍住了。

怎么办?

那只能回到最初的问题上找办法,一通查找之后,发现

通过执行一个命令来关闭Hype-V服务。

bcdedit /set hypervisorlaunchtype off

其实可以先直接在命令行中输入bcdedit来查看状态

hyperv虚拟机 进bios hyper v虚拟机 无法启动_重启_10

 

 

但是我试过之后还是没有解决问题,我真的快奔溃了!其实这个地方我忘记有没有重启电脑,所以没办法判断是否真的是无效的。

我图然想到既然关闭了启动类型,那么现在服务的状态呢?于是我打开了服务:

hyperv虚拟机 进bios hyper v虚拟机 无法启动_bc_11

 

 

发现竟然有服务是开启状态,这怎么能行,立马关掉了,再去试试虚拟机仍然不行,我看到他的启动类型是自动,立马改成手动,然后重启电脑。

OK,终于解决了。

也许前面的步骤已经可以生效了,但是这里面可能有我一些操作不当,导致折腾了这么久。问题是在后面的时间里,我可能会不断的在这两者之间进行切换,怕忘了,先记录下来!!!