EDIT6:提交了官方路径错误:https://github.com/mitchellh/vagrant/issues/7512
EDIT5:当我vagrant destroy
和vagrant up
时,一切都很容易。但是当我关闭虚拟机并将其重新打开时(有一天你必须重新启动电脑),它将无法再次运行。创建VM时vagrant up
的序列被窃听或者VirtualBox被窃听。销毁和重建VM不是一种选择,导致数据库迁移,所有内容至少需要约30分钟。无论哪种方式,不要在WINDOWS 10上使用VAGRANT 。
EDIT4:我降级到Virtual Box 5.0.0.10,修复了错误的路径问题,但错误Command not in installer
仍然存在。
EDIT3:当我进入vagrant up --debug
时,我发现它循环了。它排成一行
INFO subprocess: Starting process: ["C:/Program Files/Oracle/VirtualBox/VBoxManage.exe", "showvminfo", "8aaee3a3-806f-4
8ad-9928-91e2b7baba5d", "--machinereadable"]
然后它确实
INFO subprocess: Command not in installer, restoring original environment...
VM的路径使用转义斜杠而不是反斜杠。这是一个错误吗?有没有办法手动设置VM的路径?我已将C:\Program Files\Oracle\VirtualBox
放入我的路径中。
EDIT2:不要在WINDOWS 10上使用VAGRANT ,它在很多方面都有问题,而且VM还没有针对win10进行优化,你会遇到很多你无法解决的问题解决。还尝试了Hashicorp的Otto,也没有工作。翻录。
编辑:好的,所以当我vagrant destroy
和vagrant up
时,安装10分钟后就像魅力一样。但是在我以任何方式重新启动PC或注销后,Vagrant无法使用私钥连接到VM,也无法使用登录/密码连接到VM。这是一个错误吗?
当我执行vagrant up
时,VM正常启动,但Vagrant无法连接。它只是Warning: Remote connection disconnect. Retrying...
当我尝试通过vagrant ssh
进行连接时,我只获得了ssh_exchange_identification: read: Connection reset by peer
。当我检查VM的GUI时,它正在等待登录,当我使用defult登录/密码登录时,它正在按预期工作,因此问题必定是Vagrant无法连接到VM。
我试过了:
我在Windows 10上使用Vagrant 1.8.1和VirtualBox 5.0.20。 这是我的流浪文件:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provider :virtualbox do |vb|
vb.memory = 2048
vb.gui = true
vb.cpus = 2
end
config.vm.network :private_network, type: "dhcp"
config.vbguest.auto_update = false
config.ssh.insert_key = false
config.vm.provision :shell, path: "bootstrap.sh"
end
答案 0 :(得分:1)
[编辑2016年6月17日]
应使用Virtualbox 5.0.22解决该问题。
https://www.virtualbox.org/wiki/Changelog
https://www.virtualbox.org/ticket/15412
[原帖在下面]
与我之前的回答相比,我现在不认为我遇到了你在这里描述的同样的问题。但是我仍然认为你遇到了不同的变化问题。
根据从Virtualbox开发https://www.virtualbox.org/ticket/15412收到的反馈,我了解到Virtualbox 5.0.20包含对NAT转发规则的更改以解决其他错误。保存并重新启动VM后,Virtualbox现在会删除网络电缆5秒钟。这应该触发DHCP客户端请求新的租约。然后,Virtualbox使用此信息来推断IP地址,NAT应该有效。
在我的特定情况下,我遇到这个问题,Ubuntu 16.04作为客户虚拟机,而使用Ubuntu 14.04则可以。这向我表明,在Virtualbox断开电缆连接后,Ubuntu 14.04上的DHClient确实请求了新租约,而Ubuntu 16.04却不是这样。
为了验证您遇到同样的问题,我想知道您是否可以运行以下测试并告诉我。
sudo apt-get -y install arping
)创建以下脚本' sendARP.sh'
#!/bin/bash
IFACE=$(ifconfig | grep 'Link encap:Ethernet' | awk '{print $1}')
IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')
arping -c 1 -i $IFACE $IP
vagrant suspend
)vagrant up
)错误: