[user@localhost ~]$ vagrant up
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component
ConsoleWrap, interface IConsole
尽管此链接表明V支持HV ,上面的错误信息是矛盾的。为什么VB看起来与HV不兼容,为什么V表示它支持HV,以及如何防止需要再次使用HV才能禁用HV。
| Product | Version |
|:-----------|--------:|
| Vagrant | 2.0.1 |
| VirtualBox | 5.2.4 |
| Windows | 10 |
讨论
开启和关闭Hyper-V的建议不是首选的解决方案,因为它很费时间。
如果可以在同一时间运行V和DfW通过替换VB可以选择系统。
#1 楼
Hyper-V激活后,通过引用Microsoft Technet的SO上的此答案得到确认,它会将处理器的VT-X指令屏蔽到其顶部的OS,并且Windows像来宾一样运行。用于Windows的Docker需要Hyper-V才能工作,因此禁用它并不是一个选择。
没有办法让虚拟机在Hyper-V之上运行,这很正常,您不应该在其中运行虚拟机监控程序一个虚拟机管理程序,他们将努力协调硬件访问。
我认为最好的解决方法是使用这种方式从Hyper-V提供程序而不是虚拟盒式计算机上通过流浪汉创建hyper-V虚拟机您可以在同一会话上创建VM或容器。
旁注,vagrant在hyper-v提供程序文档页面(在搜索上面添加的链接时找到)上已经有关于此的说明:
警告:启用Hyper-V将导致VirtualBox,VMware和任何其他虚拟化技术不再起作用。有关创建启动项以在不启用Hyper-V的情况下启动Windows的简便方法,请参阅此博客文章。如果有时您将需要其他管理程序。
#2 楼
与Vagrant一起,您可以使用传统的传统“ Docker Toolbox”而不是“ Windows Docker”。我相信这意味着Docker自从在Linux VM中运行以来将会很慢。https://docs.docker.com/toolbox/toolbox_install_windows/
除此之外,是的,我一直在重启计算机我需要适用于Docker的HyperV或需要时将其删除。