Vagrant 启动失败,停留在 Waiting for VM to boot 的解决方法

时候 vagrant up 会启动失败,一直停留在下面这个环节,同时占用 100% CPU:

[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.

这个时候我们只能在 VirtualBox 管理面板强制断电关机。当再次运行 vagrant up 的时候,仍然无法进入系统,在 VirtualBox 中可以看到一个 GRUB 界面。这是 GRUB 的安全模式界面(Ubuntu 系统中常见)。这个界面默认没有倒计时,因此导致了我们无法进入系统。

解决方法

用 VirtualBox 面板运行该系统,在 GRUB 界面回车登录系统,用户名:vagrant,密码:vagrant,编辑 /etc/grub.d/00_header,找到:

if [ "\${recordfail}" = 1 ]; then
  set timeout=-1

-1 改成 10 即可:

if [ "\${recordfail}" = 1 ]; then
  set timeout=10

再运行 $ update-grub 更新 GRUB,关机后再用 $ vagrant up 启动就能正常启动了。


这里写的是强制断电后无法启动的解决方法,至于为什么 vagrant 其他时候启动会莫名其妙启动失败,我还没找到原因。

VBoxManage 里面有一系列命令行工具来管理虚拟机哟 平时不用 GUI 的话可以这样启动

VBoxManage startvm $vm --type headless

Vagrant 的详细介绍:请点这里
Vagrant 的下载地址:请点这里

相关推荐