记一次 Vagrant 排坑经历:error: Raw-mode is unavailable courtesy of Hyper-V
前言:为了尝鲜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 协议》,转载必须注明作者和本文链接
推荐文章: