Vagrant Up VT-X不可用

5

我正在按照 Laravel 的安装文档进行安装并使其正常工作。但是,当我尝试运行 vagrant up 时,出现以下错误:

Vagrant 使用的 CLI 工具 VBoxManage 在执行过程中发生错误,用于控制 VirtualBox。命令和 stderr 如下所示。

Command: ["startvm", "e6f97d62-fd0b-4203-9735-9733f20d9e27", "--type", "headless"]

Stderr: VBoxManage: error: VT-x is not available (VERR_VMX_NO_VMX) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

我正在运行最新版本的VirtualBox,其中运行了Ubuntu 14.04.4。然后,在虚拟机中运行一个Vagrant Box导致了错误。我的虚拟化在BIOS中启用,我的处理器能够支持虚拟化。我在另一个线程中读到说,如果我们将vb.cpus更改为1,则可以进行嵌套虚拟化。然而,我认为配置文件已经更改,我找不到我的Vagrant文件中的提供程序块。有人知道如何解决这个错误吗?
链接:Vagrant机器内Virtualbox不可用的VT-x错误 编辑:关于设置的澄清。我的主机运行的是Windows 10,其中打开了一个Virtualbox。这个Virtualbox运行着Linux Ubuntu 14.04.4 64位。从这里,我运行了命令“vagrant box add laravel/homestead”,它创建了一个Virtualbox Ubuntu 32位。然后,我运行命令“vagrant up”,这就给我带来了上述错误。我还想补充一点,在我的Virtualbox设置中,加速选项卡是灰色的。

你能帮忙澄清一下环境吗?我不太清楚你想要实现多少级虚拟化。你只是在一个主机(例如Windows)上运行“vagrant up”并看到这个错误吗?还是你已经在一个客户端上安装了VBox/vagrant,并从一个嵌套的客户端中看到了这个错误? - Brian Brownton
为什么在64位的“Ubuntu 14.04.4”系统中需要32位的Ubuntu? - Frederic Henri
我认为混淆的问题在于为什么你需要嵌套虚拟化。难道你不能直接从主机上运行homestead box吗?为什么它需要在另一个Guest中呢? - Brian Brownton
我认为在Linux环境下使用Laravel比在Windows下更容易。最坏的情况是,我会在我的主机上安装Laravel。 - crossfuse999
我认为这会有所帮助,正如@BrianMorton所提到的,您可以从Windows主机运行homestead,多层虚拟化可能会带来一些难以调试的麻烦。 - Frederic Henri
显示剩余3条评论
2个回答

0
根据问题的评论,我认为这里的解决方案不是运行嵌套虚拟化(例如:主机 -> 客户机[Ubuntu 14.04-64位] -> 客户机[Ubuntu ?-32位])。
如果你只是想要一个盒子来进行laravel/homestead开发工作,你可以直接从Windows启动盒子/vagrant,你不需要一个中间的Guest OS(在问题中是ubuntu/trusty64)。
在Windows中安装Virtualbox和Vagrant,并尝试从那里vagrant up laravel/homestead盒子。如果你需要一个Windows命令行,你可以使用Powershell、Git for Windows(或Git Shell或它被称为什么)、或者安装Cygwin(我的首选方法)。

0

请检查是否启用/运行了Hyper-V。我在安装Docker后遇到了同样的问题。Docker使用Windows Hyper-V驱动程序来创建容器。因此,Docker和Virtual Box可能无法同时工作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接