我不知道为什么,在执行vagrant halt和up之后,我的虚拟机中的所有文件都丢失了。只剩下一个空的数据文件。当我SSH进入时,putty告诉我密钥已更改。
我保存了一个package.box,可能可以帮助恢复我的虚拟机。
我真的不知道该怎么办。
非常感谢。
我真的不知道该怎么办。
非常感谢。
在某些情况下,Vagrant似乎会在已经存在虚拟机的情况下重新创建一个新的虚拟机。如果您需要将现有的虚拟机重新关联到当前的Vagrant项目目录中,您可以执行以下步骤:
find out what are the VM registered in VirtualBox: VBoxManage list vms
fhenri@machine:~$ VBoxManage list vms
"<inaccessible>" {cf5c9fe6-be04-40f8-aeec-415bb0b74e37}
"<inaccessible>" {08732b8b-e80e-4707-9f4c-842bdcdb2442}
"<inaccessible>" {ced87630-c5d9-4396-9fc1-7a9277ec2f4a}
"<inaccessible>" {b9fc4466-2382-4629-9fcf-f414ab5093fd}
"<inaccessible>" {4442b12f-2b52-4edd-aa94-e87e2f4e54cd}
"default" {650472d0-3bb7-4a64-9035-8a6c6e012eb3}
"<inaccessible>" {17140ebf-94f3-4434-8576-e8c19cce05f4}
"<inaccessible>" {4bbf157f-00d4-4ee6-8aa1-fc3b170ad1a9}
"java_default_1460033990347_57680" {ff197c01-2f63-4e46-b8b6-98757a6f5084}
"debian_default_1461336132946_97987" {57559b51-0446-4b62-98c6-100bd09700a0}
"puppet-java_app_1463209753687_62581" {47779f5f-a5c2-4cda-9e6e-636173fc3dd2}
"testboxpuppet_default_1463642283236_68875" {ab8e9fcf-2803-4301-8a75-59c6a7a3f283}
"ud381_default_1463643058938_27416" {06d4940b-067f-4bac-b4e7-a5409340da95}
"api.notification.guru-core-01" {311aef0a-8a34-48da-a2fb-fceef89a635a}
"scotchio_default_1464423206546_32780" {c94b7982-5bef-4d78-9601-913606e117c6}
"ubuntu_default_1464510147764_37768" {c8e7ffba-eac6-47a4-b293-699ac4feca2f}
"php7_default_1464762585884_30680" {c2c73091-133b-4987-a644-90601abd1465}
<project>/.vagrant/machines/default/virtualbox/id
。只需从步骤1中找到的值进行复制即可。java_default_1460033990347_57680
,我会复制值ff197c01-2f63-4e46-b8b6-98757a6f5084
。vagrant up
,vagrant就会操作正确的虚拟机。
vagrant halt
命令停止了虚拟机,那么虚拟机文件不会消失,所以虚拟机应该还在。有很多情况报告称vagrant up
命令会重新创建一个新的虚拟机(同时保留旧的虚拟机),因此你需要将旧的虚拟机与当前的vagrant重新连接。现在先检查一下你的虚拟机是否在VirtualBox中。 - Frederic Henri