在主机关闭时,Vagrant被摧毁,Windows

时间:2013-07-12 18:44:13

标签: windows virtualbox vagrant

在Vagrant VM中工作并进行一些更改后,我将使用vagrant suspend暂停VM。如果我然后重新启动主机,然后尝试运行流浪汉恢复,终端稍微停留一下,然后让我回到命令提示符,没有任何反馈。所以,我自然然后尝试流浪汉ssh,我收到以下内容:

  

必须运行VM才能打开SSH连接。运行vagrant up以启动虚拟机。

如果我运行流浪汉,我发现在暂停之前我所做的所有更改都被基本框导入覆盖。

这是预期的行为吗?我很流氓Windows 8专业版x64。

4 个答案:

答案 0 :(得分:6)

vagrant的想法是使用基本框,然后使用配置方法进行自定义。因此,总是vagrant destroy(删除VM的所有数据)和vagrant up根据基本框再次构建该框应该有效。

无论如何,你没有做vagrant destroy数据仍应存在。

如果您执行了vagrant suspend,则表示虚拟框冻结了状态框。

接下来,您应该vagrant resumehttp://docs.vagrantup.com/v2/cli/resume.html

但如果你之间有vagrant up,数据可能会丢失。您可以打开VirtualBox GUI并查看是否仍有一些保留的快照。

答案 1 :(得分:4)

这种情况经常发生在我身上,我重新开始,我的流浪机已经没有了。即使正在运行vboxmanage list vms也无法显示我的虚拟机,但如果我再次重新启动计算机,这次我会在尝试执行vboxmanage list vms之前打开Virtualbox GUI(或者先打开它取决于在以前的尝试失败的方式)并且它将列出我的Vagrant机器及其ID。

有了这个ID,我可以进入.vagrant / machines / default / virtualbox /并创建一个名为" id"并添加一行包含vagrant机器的id。在那之后你可以用vagrant up启动它,它可能是最安全的添加--no-provision尽管它已经发生了,即使机器已经存在它也开始供应..

答案 2 :(得分:2)

我建议为您计划使用的每个VM创建一个项目目录。如果在执行vagrant init之前更改为该空项目目录,则会为该项目/ VM创建专用Vagrantfile,然后可以根据您的需要进行自定义。要使用该自定义Vagrantfile,只需从项目目录中运行vagrant up即可。不确定这是否解决了你的问题,但我觉得值得一试。 ; - )

顺便说一下。您可以使用命令vagrant status [machine-name]检查您的VM是否正在运行。

答案 3 :(得分:1)

我刚刚遇到了一个类似的情况,并最终发现有一个情况,一个“流浪汉”暂停'有效地破坏了VM。那个在虚拟机4.3.14作为虚拟化提供商的Windows主机上运行Vagrant。滚动虚拟框回到4.3.12是一种解决问题的方法。详情请见https://github.com/mitchellh/vagrant/issues/4276