如何恢复我的 vagrant VM(所有文件都已被删除)?

How can I restore my vagrant VM ( all file have been deleted)?

我不知道为什么,但是在执行 vagrant halt then up 之后,我在 VM 中的所有文件都丢失了。只有一个空的数据文件。当我通过 SSH 进入它时,putty 告诉我密钥已更改。 我保存了一个 package.box 可能有助于恢复我的 VM。

真不知道该怎么办。

非常感谢

在某些情况下,vagrant 似乎会在已有虚拟机的情况下重新创建一个新虚拟机。如果您需要将现有 VM 重新关联到您当前的 vagrant 项目目录,您可以 运行 以下步骤:

  1. 找出在VirtualBox中注册的VM是什么: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}
    

您将获得当前在 virtual box 中注册的所有 VM 及其关联 UUID 的列表

  1. 更新您现有的 id 文件:

该文件将位于以下文件夹中 <project>/.vagrant/machines/default/virtualbox/id。只需复制您从步骤 1

中找到的值

在我的示例中,如果我想关联 VM java_default_1460033990347_57680 我将复制值 ff197c01-2f63-4e46-b8b6-98757a6f5084

  1. 就是这样!只需 运行 vagrant up 并且 vagrant 将运行正确的 VM。