回覆列表
  • 1 # 5415641654156

    更新一下,因為原先回答中的方法在升級1803之後發現不夠準確。

    我原以為我找到了捷徑,最後還是需要用bcdedit來關掉,慚愧。這樣和其他回答差不多了,不過我想補充點我踩到的坑。

    我的系統環境是windows 10 專業版,升級1803之後停止服務的方法不好使了,於是我就從控制面板-程式-啟用或關閉windows功能裡解除安裝掉了(好像還“bcdedit /set hypervisorlaunchtype off”了一下,這裡記不清了),才能正常使用mumu模擬器,否則mumu啟動就藍色畫面。當時沒糾結,只認為系統更新之後失效了。最近開始用docker for windows,它要用hyper-V,又碰到了這個問題,折騰了一下,順便更新下回答,以免誤導大家。

    我在win10上經常使用VMware,VirtualBox,Genymotion(安卓開發用的模擬器,基於VirtualBox),一些遊戲用的安卓模擬器,比如mumu等。

    這些程式的共同點就是與win10自帶的hyper-V衝突,如果想用這些程式就需要把hyper-V卸掉,或者關閉,關閉方法其他回答中提到了,就是在cmd裡執行bcdedit /set hypervisorlaunchtype off。

    執行bcdedit可以看到hypervisorlaunchtype的狀態,有off和auto,沒有on,如果開啟需要執行bcdedit /set hypervisorlaunchtype auto。啟用之後應該要重啟一下才能起效,親身試驗設為auto之後不重啟docker for windows也啟動不了。而“Hyper-V虛擬機器管理”服務還是改成手動比較好,否則mumu會提示hyper-V未關閉,docker for windows啟動時也能把服務啟動。

    我之前認為停止“Hyper-V虛擬機器管理”服務起作用可能是因為先參照其他回答執行了bcdedit /set hypervisorlaunchtype off導致的。當時hyper-V的服務仍開機自動執行,mumu模擬器可以啟動但是提示Hyper-V未關閉,而停止服務之後mumu模擬器提示沒了。我只認為是停止服務起的作用,忽略了hypervisorlaunchtype設定為off的操作。也許是後來系統更新讓hypervisorlaunchtype變了auto,mumu直接藍色畫面。所以為了讓mumu模擬器可以正常使用,這兩部分都必不可少。(至於off前後mumu什麼表現讓我認為off沒用實在記不清了)

    我簡單測試了下,VMware和VirtualBox不需要停止服務。而只開啟服務,沒有把hypervisorlaunchtype設為auto並重啟,docker for windows啟動不了。

    VMware、VirtualBox(包括Genymotion):hypervisorlaunchtype offmumu:hypervisorlaunchtype off(否則藍色畫面)、服務停止(否則提示hyper-V未關閉)docker for windows:hypervisorlaunchtype auto、服務可以自啟動

    如果不想每次都開啟關閉可以執行bcdedit /copy {current} /d "Windows10 no Hyper-V"複製當前的啟動項為一個新的啟動項,然後安裝hyper-V,這樣就有兩個啟動項,一個有hyper-V,一個沒有。在開機時可以選擇。

    我之前回答中說執行bcdedit /copy {current} /d "Windows10 no Hyper-V"這條命令出錯,是因為在powershell中執行的,可能是因為識別不了{}導致出錯。在cmd裡是好使的。

    但是要注意,這是在沒有安裝hyper-V時候執行的,{current}的hypervisorlaunchtype是off。如果你已經安裝了hyper-V,或者hypervisorlaunchtype是auto,那麼你在複製啟動項的時候要注意哪一個啟動項是要開啟hyper-V的,“Windows10 no hyper-V”是新啟動項的描述,有沒有no不要弄混了。在執行之後會得到新啟動項的識別符號,如果修改當前啟動項,可以用bcdedit /set hypervisorlaunchtype off,如果修改非current啟動項,則需要指明識別符號,bcdedit /set {識別符號} hypervisorlaunchtype off

    現在已經2018年了,我的win10是新安的1709專業版,算是目前最新的吧。

    因為安裝mumu模擬器遇到此問題,它給的方法是在Windows功能裡把Hyper-V的功能勾掉,和第一個答案一樣,但是我操作之後重啟遇到“user profile service 無法載入使用者配置檔案”,雖然還是能進入桌面,但這個方法讓我蛋疼,一是出現了不知原因的問題,一閃而過,不知道有沒有有沒有其他影響,會不會留下什麼bug,二是如果我想用hyper-V的時候還得重新裝,用模擬器還得取消,很麻煩。

    其他答案裡用bcd的,“”,這條命令我執行不了。

    執行成功了,但是重啟Hyper-V並沒有關閉。

    最後我發現只要在“計算機管理-服務”裡把“Hyper-V虛擬機器管理”服務改為手動並停止就行了,順便確保其他Hyper-V的服務已停止(其他的服務預設都是手動(觸發器啟動),除了“Hyper-V主機計算服務”都是停止的,把它也停了就行了),然後安裝模擬器就沒有問題了,用VMwareWorkstation14安裝Ubuntu也沒有問題。

    需要Hyper-V的時候把它啟動就行了,如果不啟動Hyper-V管理器無法連線本機伺服器。

  • 中秋節和大豐收的關聯?
  • 離子共存的條件有哪些?