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 其他时候启动会莫名其妙启动失败,我还没找到原因。

阅读 11k

推荐阅读
Hello Wiki
用户专栏

在跟谁谁谁谈笑风生呢

51 人关注
11 篇文章
专栏主页