前言:為了嚐鮮Windows 1903(五月更新),得付出代價啊。。。
當執行vagrant up
時,看著bash終端上執行到==> homestead-7: Running 'pre-boot' VM customizations... ==> homestead-7: Booting VM...
然後直接丟擲如下異常提示:
...
...
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["startvm", "da766e1e-a423-4f4d-a37e-8523e39b294f", "--type", "headless"] Stderr: VBoxManage.exe: error: Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
重點是error: Raw-mode is unavailable courtesy of Hyper-V
這句話,其餘的可以忽略
排坑開始:
- 系統平臺:Windows 10 1903(千萬千萬不要手賤,能不升級就不升級!!!)
- VirtualBox 6.0.8 r130520(如果低於此版的,務必升級到此版本!)
必須保證以下兩點大前提:
①在使用VirtualBox
時不能開啟Hyper-V
,這一點和docker不同,docker必須要啟用它。
②保證開啟了虛擬化VT-X
檢視Hyper-V
是否 關閉
控制皮膚→程式→程式和功能→啟用或關閉Windows功能
不勾選 即為關閉,'確定'後需要重啟計算機才會生效
檢視虛擬化VT-X
是否 開啟
工作管理員→效能→CPU
如果不放心,還可以去BIOS中檢視具體的設定項Virtualization
需要為Enable
- 以為這樣就成功了?
如果不出意外,在按照上面的方法檢查後,輸入vagrant up
依然無效,報同樣的錯誤!!! - 要想成功解決問題,還是得靠搜尋啊。這種問題,靠國內的百度是沒救了(P.S.搜了一大圈都是在浪費時間,沒一個是管用的!),推薦Bing國際版(暫時可以替代下Google)
以管理員的方式啟動CMD,輸入bcdedit
回車,結果如下圖顯示:
注意我標記的地方,hypervisorlaunchtype
這裡必須保證是Off
,透過上面①②步的檢查,按道理來說是沒任何問題的,但實際上問題就是出在這裡,不是很明白為什麼這裡的設定會對其有影響。
執行上面的命令後一般這裡的預設的值為Auto
,因而就導致前面你無論怎麼設定,執行vagrant up
時都是會報錯的(不知道是不是1903版本造成的)。按照如下指令修改:
禁用掉Hyper-V:bcdedit /set hypervisorlaunchtype off
然後重啟電腦,再執行vagrant up
就成功了
開啟Hyper-V:bcdedit /set hypervisorlaunchtype auto
需要重啟電腦生效
附上鍊接:https://discuss.erpnext.com/t/virtualbox-wont-run-raw-mode-unavailable-courtesy-of-hyper-v/34541/10
本作品採用《CC 協議》,轉載必須註明作者和本文連結