解决Windows10运行VMware Workstation出现与Device Guard不兼容致使没法建立与运行虚拟机问题

前言: 在win10中安装docker后,须要开启Hype-V,可是当运行VMware Workstation虚拟机时发现其与Device/Credential Guard 不兼容的错误。推荐使用解决方案一docker

缘由:

Windows 10默认不会打开Hyper-V,可是安装Docker须要打开Hyper-V, Hyper-V是微软提出的一种系统管理程序虚拟化技术,可以实现桌面虚拟化 。而Windows 10开启Hyper-V后与VMware Workstation冲突从而没法新建虚拟机,由于它们都须要使用CPU,开启其中一个就会形成CPU被占用,另外一个就不能使用。bash

解决方案一:

关闭Hyper-V,重启电脑app

打开cmd命令窗口(管理员)输入关闭Hyper-V的命令用来禁用虚拟机监控程序,而后重启电脑就完美解决不兼容的问题,具体命令以下:操作系统

bcdedit /set hypervisorlaunchtype off

开启Hyper-V,重启电脑code

若是须要开启Hyper-V,在cmd命令窗户 (管理员) 输入开启Hyper-V的命令用来开启虚拟机监控程序,而后重启电脑就可使用Windows 10 中的docker了,具体命令以下:blog

bcdedit /set hypervisorlaunchtype auto

解决方案二:

经过增长Windows 10启动项,来解决这个问题。一个开启Hyper-V,一个关闭Hyper-V,在系统启动页面选择对应的启动项就能够了。就好比一台电脑安装多个操做系统,开机时须要选择要进的操做系统,状况相似。ip

新建启动项get

  1. 打开cmd命令窗口(管理员),输入下面命令,新建启动项cmd

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

  2. 而后将执行获得的那一串序列号填入下面的指令进行执行,执行以后会提示“操做成功完成”。虚拟机

    bcdedit /set {5e895997-dfa5-11ea-acdf-86de2325951c} hypervisorlaunchtype off
  3. 输入下面命令,能够查看启动项列表,如要删除,参考下方 第6小节 bcdedit 经常使用命令指引

    bcdedit /enum

  4. cmd命令窗口(管理员),输入下面命令,关闭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
  5. 重启计算机,按照系统引导时的提示选择对应的系统。

  6. Bcdedit 经常使用命令指引

    # 显示Bcdedit所有命令帮助
    bcdedit /?
    # 指定显示store命令帮助,命令前面的斜杠可要可不要
    bcdedit /? /store
    # 查看启动项列表
    bcdedit /enum
    # 查看全部
    bcdedit /enum all
    # 设置某个启动项描述
    bcdedit /set {GUID} description "Windows 10 With Hyper-V"
    # 设置启动项显示排列顺序
    bcdedit /displayorder {current} {GUID1} {GUID2}
    # 将指定OS项添加到启动管理显示顺序末尾
    bcdedit /displayorder  {GUID} /addlast
    # 建立新的启动项目
    bcdedit /create /d "New entry"
    # 复制启动项目
    bcdedit /copy {GUID} /d "New entry"
    # 删除启动项
    bcdedit /delete {GUID}
    # 完全删除指定的启动项
    bcdedit /delete {GUID} /cleanup
    # 设置GUID序列为默认启动项
    bcdedit /default {GUID}
    # 设置默认的启动菜单显示超时时间,单位秒 
    bcdedit /timeout 15

为你推荐: