在流浪汉等待机器启动的同时超时

时间:2014-04-25 12:22:37

标签: linux virtualbox vagrant ubuntu-13.10

我有一个Ubuntu 13.10,我安装了Vagrant 1.5.4和VirtualBox 4.3.10r93012。我在第一次正确编写虚拟机脚本时编写命令vagrant up时出现问题。但在执行vagrant halt并再次编写命令vagrant up后,会出现问题:

vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

有什么解决方案吗?感谢。

17 个答案:

答案 0 :(得分:37)

我使用config.vm.boot_timeout增加时间。但对我而言,这不是原因,尽管错误告诉了超时。

我使用vim打开Vagrantfile并添加以下行,为VM启用GUI。

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

重新运行vagrant up后,我在GUI中看到了真正的原因。有一个错误对话框,它一直在等待。这就是连接超时的原因。

要解决此问题,我必须在系统BIOS中进行一些配置。我不得不打开英特尔VT-x设置。请检查AMD-V设置。这些设置有助于硬件虚拟化。

答案 1 :(得分:37)

选择您的Ubuntu服务器,点击“设置”,转到“网络”标签,确保选中有线连接选项。

enter image description here

答案 2 :(得分:11)

我在Windows 10上遇到了同样的问题,我的解决方案是启用 Intel虚拟化

我担心我无法给出具体说明,因为BIOS菜单选项因计算机而异,具体取决于制造商。但是,通常您应该按照以下步骤操作:

1 - 打开机器电源并打开BIOS。

2-打开处理器子菜单。处理器设置菜单可能隐藏在芯片组,高级CPU配置或北桥中。

3 - 启用Intel虚拟化技术(也称为Intel VT)或AMD-V,具体取决于处理器的品牌。

4-保存更改并重新启动。

答案 3 :(得分:8)

我用过" vagrant destroy"并解决了这个问题。

此命令停止正在运行的计算机Vagrant正在管理和销毁在计算机创建过程中创建的所有资源。运行此命令后,您的计算机应处于干净状态,就好像您从未创建过客户机一样。

答案 4 :(得分:5)

您需要能够使用GUI。删除Vagrant文件中此行的注释:

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

在您需要关闭机器并重新开始之后:

vagrant halt
vagrant up

答案 5 :(得分:3)

我也收到错误消息Timed out while waiting for the machine to boot.在通过vagrant文​​件启用GUI后,我可以看到vagrant tp要求登录&密码。提供vagrant/vagrant工作但机器仍未运行。

最后,Vagrant destroy起作用了。在这个流浪汉配置机器&现在我可以做ssh。

答案 6 :(得分:1)

您可能启用了引起问题的防火墙。 只需添加

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

到您的VagrantFile然后流浪。在gui窗口上登录带有流动身份的凭证,并使用sudo ufw disable禁用防火墙。

重新启动无业游民,一切都会好起来的。

vagrant halt
vagrant up

答案 7 :(得分:1)

我已经尝试了一切,但没有任何解决方案。然后我在github上找到了这个解决方案。检查解决方案。

选项1:

第1步,重新启动并按住F10键打开BIOS设置。

第2步-打开“高级CPU配置”。 (尝试查找虚拟化技术设置。)

第3步,根据品牌启用Intel虚拟化技术(也称为Intel VT)。

第4步-保存更改并重新启动。

选项2:

第1步:打开Windows的命令提示符。您应该以管理员身份打开终端或命令提示符,然后 然后输入:

bcdedit /set hypervisorlaunchtype off

第2步:重新启动计算机。

从此blog

查找更多详细信息

答案 8 :(得分:1)

我在 Windows 10 上遇到了同样的问题

 default: Waiting for machine to boot. This may take a few minutes...

 default: SSH address: 127.0.0.1:2222

 default: SSH username: vagrant

 default: SSH auth method: private key Timed out while waiting for the 
machine to boot. This means that Vagrant was unable to communicate with the guest machine within the configured ("config.vm.boot_timeout" value) time period.

这个解决方案对我有用:

以管理员身份打开 Windows 的命令提示符并运行:

 bcdedit /set hypervisorlaunchtype off

重新启动计算机。

答案 9 :(得分:0)

修改config.vm并根据需要增加config.vm.boot_timeout的值。

答案 10 :(得分:0)

我知道这是一个旧线程,但是最近我遇到了同一个问题,其中包含一个Ubuntu vagrant box(19.04),并希望发布对我有用的解决方案。

关键部分是CPU的数量。该设备一直试图在启用2的情况下进行引导,这绝对会破坏引导期间的性能,以至于流浪汉会超时等待。

通过将其设置为1,我的盒子会在出现流浪汉时立即出现!

在您的Vagrantfile中的config.vm.provider "virtualbox" do |v|部分下,尝试添加v.cpus = 1,看看是否有帮助。

希望这可以帮助其他遇到类似问题的人。

答案 11 :(得分:0)

先决条件:请确保已启用虚拟化。

我在Windows 10系统中遇到了同样的问题,我在StackOverflow和GitHub问题中对此问题进行了很多研究,但没有任何效果。因此,我只需将虚拟盒更新到最新版本,然后重新启动系统。之后,它对我来说绝对不错:)

答案 12 :(得分:0)

只需在BIOS中启用cpu设置的虚拟化技术

答案 13 :(得分:0)

对我有用的是vagrant destroy,然后是vagrant up 缺点是它将删除所有数据库,并且您需要再次运行迁移。

答案 14 :(得分:0)

只需将此代码粘贴到您的变体文件中,它将正常工作。

line.split(";")[2]

保存更改后,输入vagrant Provision命令以更新更改 然后运行流浪者ssh来启动家园

答案 15 :(得分:-1)

重新启动计算机并继续按f10键。这将带您进入系统BIOS。在那里,您可以检查您的英特尔虚拟化是否被禁用。如果是这样,请将其更改为已启用,保存并继续重新启动您的电脑。

答案 16 :(得分:-1)

你可以尝试几件事:

  1. 检查您正在运行的Vagrant版本(vagrant -v),它应该是最新版本。同时运行vagrant box update
  2. 在Vagrantfile中增加config.vm.boot_timeout值。
  3. 在Vagrantfile中的vb.gui = true行之后添加config.vm.provider :virtualbox do |vb|以使用GUI打开VM。尝试重新加载,看看它遇到的确切错误是什么,并尝试修复它。 同时单击“设置”,转到“网络”选项卡,确保选中“电缆连接”选项。

  4. 启用GUI后尝试重新加载,登录屏幕启动后,您可以使用username vagrant登录,密码与用户名相同。您需要打开/etc/default/grub。将以下内容添加到文件底部并保存文件:GRUB_RECORDFAIL_TIMEOUT=2。运行sudo update-grub。关闭VM并运行vagrant up