解決Windows10運行VMware Workstation出現與Device Guard不兼容導致無法創建與運行虛擬機問題


前言: 在win10中安裝docker后,需要開啟Hype-V,但是當運行VMware Workstation虛擬機時發現其與Device/Credential Guard 不兼容的錯誤。推薦使用解決方案一

原因:

Windows 10默認不會打開Hyper-V,但是安裝Docker需要打開Hyper-V, Hyper-V是微軟提出的一種系統管理程序虛擬化技術,能夠實現桌面虛擬化 。而Windows 10開啟Hyper-V后與VMware Workstation沖突從而無法新建虛擬機,因為它們都需要使用CPU,開啟其中一個就會造成CPU被占用,另一個就不能使用。

解決方案一:

關閉Hyper-V,重啟電腦

打開cmd命令窗口(管理員)輸入關閉Hyper-V的命令用來禁用虛擬機監控程序,然后重啟電腦就完美解決不兼容的問題,具體命令如下:

bcdedit /set hypervisorlaunchtype off

開啟Hyper-V,重啟電腦

如果需要開啟Hyper-V,在cmd命令窗戶 (管理員) 輸入開啟Hyper-V的命令用來開啟虛擬機監控程序,然后重啟電腦就可以使用Windows 10 中的docker了,具體命令如下:

bcdedit /set hypervisorlaunchtype auto

解決方案二:

通過增加Windows 10啟動項,來解決這個問題。一個開啟Hyper-V,一個關閉Hyper-V,在系統啟動頁面選擇對應的啟動項就可以了。就比如一台電腦安裝多個操作系統,開機時需要選擇要進的操作系統,情況類似。

新建啟動項

  1. 打開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
    

為你推薦:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM