问题
Windows10家庭版安装Docker Toolbox后,再安装了Hyper-v。之后出现一些列难顶的问题。
之后打开Docker Quickstart Terminal,报错如下:
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
看了一下,就是由于安装了Hyper-V,导致Docker Toolbox中的虚拟机不能正常启动了。找了很多办法,关闭Hyper-V依旧没有奏效。
解决办法
第一步:关闭Hyper-V服务,取消勾选
![](https://i-blog.csdnimg.cn/blog_migrate/7927c4e6134dad5416ccc0c2a6e1fdf7.jpeg)
第二步:以防万一,再次关闭Hyper-V服务,管理员模式打开cmd窗口:
执行命令 bcdedit /set hypervisorlaunchtype off
第三步:修改位于 C:\Program Files\Docker Toolbox\start.sh的文件,以管理员身份运行的编辑器中打开,修改下面这一行:
将
"${DOCKER_MACHINE}" create -d virtualbox $PROXY_ENV "${VM}"
修改为
"${DOCKER_MACHINE}" create -d virtualbox --virtualbox-no-vtx-check $PROXY_ENV "${VM}"
之后重启。
大部分给出问题解决方案如第1-3步,然而我进行设置之后问题依旧未解决。下面给出第四步,成功解决了我的问题:
第四步:上面虽然关闭了Hyper-V,还有一种可能是Virtualization Based Security导致的,即使Hyper-V被禁用了但仍然在运行。
(1)用这个官方工具关闭。
(2)解压后在Powershell中运行DG_Readiness_Tool_v%.%.ps1 -Disable重启后选择关闭该功能就行了。这里的%根据下载的工具版本修改。