同样的box在thinkpad xbuntu上运行很好. 放到家里的mbpro 上启动就特别的慢. vagarnt试图启动虚拟机,最后超时放弃了. 如果打开gui观看vbox输出的话,可以看到系统启动时候,卡在里网卡启动那里了.
显示
cloud-init-nonet[4.54]: waiting 10 seconds for network device
cloud-init-nonet[14.57]: waiting 120 seconds for network device
cloud-init-nonet[134.57]: gave up waiting for a network device
虽然最后vbox能起来,但是vagrant已经歇菜了.
vbox起来后,用vagrant身份登录(用户名和密码都是vagrant), 看到 /etc/network/interfaces.d 下面有eth0. 内容如下:
auto eth0
iface eth0 inet dhcp
想必就是这个dhcp拖慢了启动过程.
–待续–
第一次试图解决
既然系统能起来,我也不是dhcp那就别等那么久了. 通过修改 failsafe的文件来缩短等待时间. failsafe 位于
/etc/init/failsafe.conf (来源, 来源2) . 但是似乎无效.
另外一招, 长vagrant 的 等待时间 (来源), 在Vagrantfile里面加上一句
(默认300s)
config.vm.boot_timeout = 600
–待续–
试图解决这个问题, 看到这里有类似的问题.他说删掉eth0. 我尝试了,不行.因为vagrant需要这块网卡进行通讯. 在NAT模式下,它会被vagrant赋予一个 10.0.2.15 的地址进行通讯. 既然dhcp失败后,会赋予这个ip,为何不就写在配置里呢.
所以,第二次尝试修改为固定地址
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
虽然也能启动,但是等待时间还是那么长.