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

如何恢复我的vagrant VM(所有文件都已删除)?,vagrant,package,virtual-machine,box,Vagrant,Package,Virtual Machine,Box,我不知道为什么,但在执行了“漫游停止”之后,我在虚拟机中的所有文件都丢失了。只有一个空的数据文件。当我SSH进入它时,putty告诉我密钥已经更改。 我保存了一个package.box,它可能有助于恢复我的虚拟机 我真的不知道该怎么办 非常感谢在某些情况下,vagrant似乎在现有虚拟机存在的情况下重新创建了一个新的虚拟机。如果需要将现有VM重新关联到当前vagrant项目目录,可以运行以下步骤: 了解在VirtualBox中注册的VM是什么:VBoxManage列出VM fhenri@mach

我不知道为什么,但在执行了“漫游停止”之后,我在虚拟机中的所有文件都丢失了。只有一个空的数据文件。当我SSH进入它时,putty告诉我密钥已经更改。 我保存了一个package.box,它可能有助于恢复我的虚拟机

我真的不知道该怎么办


非常感谢

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

  • 了解在VirtualBox中注册的VM是什么:
    VBoxManage列出VM

    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}
    
    fhenri@machine:~$VBoxManage列表虚拟机
    “{cf5c9fe6-be04-40f8-aeec-415bb0b74e37}”
    “{08732b8b-e80e-4707-9f4c-842bdcdb2442}”
    “{ced87630-c5d9-4396-9fc1-7a9277ec2f4a}”
    “{b9fc4466-2382-4629-9fcf-f414ab5093fd}”
    “{4442b12f-2b52-4edd-aa94-e87e2f4e54cd}”
    “默认值”{650472d0-3bb7-4a64-9035-8a6c6e012eb3}
    “{17140ebf-94f3-4434-8576-e8c19cce05f4}”
    “{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_146364222836_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_14644223206546_32780”{c94b7982-5bef-4d78-9601-913606e117c6}
    “ubuntu_default_14645110147764_37768”{c8e7ffba-eac6-47a4-b293-699ac4feca2f}
    “php7默认值”{c2c73091-133b-4987-a644-90601abd1465}
    
  • 您将获得当前在virtual box中注册的所有VM及其关联UUID的列表

  • 更新现有的
    id
    文件:
  • 该文件将位于以下文件夹
    /.vagrant/machines/default/virtualbox/id
    。只需复制步骤1中找到的值

    从我的示例中,如果我想关联VM
    java\u default\u 146003390347\u 57680
    ,我将复制值
    ff197c01-2f63-4e46-b8b6-98757a6f5084

  • 就这样!只要运行
    vagrant up
    ,vagrant就会操作正确的虚拟机

  • 你能打开VirtualBox并检查你的旧VM是否还在吗?如果您只是
    vagrant-halt
    虚拟机文件无法消失,因此虚拟机必须仍然存在,当
    vagrant-up
    重新创建新虚拟机(保留旧虚拟机)时,已报告了许多情况,因此您需要将旧虚拟机与当前虚拟机重新连接。现在请检查您的虚拟机是否在VirtualBox中!流浪汉装错了虚拟机。如何重新连接好的一个?谢谢