使用Docker时,Windows10 VMware与Hyper-V冲突解决以及Device Guard问题

目录

•写在前面

•错误

•解决方案一

•解决方案二

•bcdedit几个简单指令

•关闭guard(硬核)


•写在前面

真是个很有意思的事情,最近上手Docker的时候,我在自己的Linux系统上使用Docker,不过因为自己的电脑是Windows10系统,所以想着在自己的Docker上也玩玩Docker,谁想到,一安装执行就出现了问题,正常使用Docker的时候,我想要运行我的虚拟机VMware的时候,竟然出现了错误,原地爆炸,我虚拟机VMeare原本好好的,怎么就出现了错误。后来解决之后才知道,因为我使用Docker是需要开启Hyper-V的,但是开启Hyper-V之后,是会与VMware发生冲突的,所以两个只能二选一,使用Docker的时候开启Hyper-V,使用VMware关闭Hyper-V,这里记录几种开启关闭的方式。

•错误

开启了Hyper-V之后,VMware出现的错误如下

关闭了Hyper-V之后,Docker出现的错误如下

•解决方案一

当需要使用 vmware 时,我们按开启的方式,再次关闭 Hyper-V ,这样,软件就能正常的打开了。但这样操作,有一个不好的地方,每开启或关闭一次,系统都必需要重启一次,这导致每次系统都进行了一次程序的安装和卸载,费时不高效。如下:

•解决方案二

建立两个启动项,一个开启了 Hyper-V,而另一个则关闭,这样,我们可以在需要该功能时,在系统启动界面自由的选择相应的启动项,而不用频繁的安装和卸载 Hyper-V。启动项是啥意思?其实就是在我们开机的时候的一些默认设置,相当于我们在开机的时候选择系统一样,可以想象一下,我们在电脑中装有多个操作系统的时候,我们在开机需要选择我们想要进入的操作系统,而启动项也是一个意思,有多个启动项的时候,开机的时候会让我选择自己想要的操作系统进入。建立新的启动项,并将 Hyper-V 功能关闭,命令如下(注意了,在cmd命令行需要用管理员身份执行哦):

bcdedit /copy {default} /d "Windows 10 With Hyper-V"

然后将执行得到的那一串序列号填入下面的指令进行执行,执行之后会提示“操作成功完成”。


bcdedit /set {xxxxxxxxxxxxxxxxxxx} hypervisorlaunchtype off

这个时候,我们可以通过命令:bcdedit /enum,查看启动项列表。

•bcdedit几个简单指令


# 查看帮助
bcdedit /?
# 查看启动项列表
bcdedit /enum
# or 查看所有
bcdedit /enum all
# 设置某个启动项配置值
bcdedit /set {xxxx} description "Windows 10 With Hyper-V"
# or
bcdedit /set {xxxx} hypervisorlaunchtype on
# 设置启动项显示排列顺序
bcdedit /displayorder {current} {xxxxx} {xxxxxx}
# 创建新的启动项
bcdedit /create /d "A New One"
# 复制启动项
bcdedit /copy {xxxx} /d "A Copy One"
# 删除启动项
bcdedit /delete {xxxx}
# or 彻底删除
bcdedit /delete /cleanup {xxxx}
# 设置默认启动项
bcdedit /default {xxxxx}
# 设置默认的启动菜单显示时间,单位秒
bcdedit /timeout 10

•关闭guard(硬核)

管理员身份执行以下指令

mountvol X: /s 
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y 
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d “DebugTool” /application osloader 
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path “\EFI\Microsoft\Boot\SecConfig.efi” 
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} 
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS 
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X: 
mountvol X: /d

重启计算机,按照系统引导时的提示关闭device guard。

发布了78 篇原创文章 · 获赞 440 · 访问量 73万+

猜你喜欢

转载自blog.csdn.net/DBC_121/article/details/103893031