【问题标题】:How can I restore my vagrant VM ( all file have been deleted)?如何恢复我的流浪虚拟机(所有文件已被删除)?
【发布时间】:2016-10-23 07:25:46
【问题描述】:

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

我真的不知道该怎么办。

非常感谢

【问题讨论】:

  • 你能打开 VirtualBox 并检查你的旧虚拟机是否还在吗?如果你只是vagrant halt VM 文件不能消失,所以 VM 必须仍然存在,当vagrant up 重新创建一个新 VM(保留旧 VM)时报告了很多情况,所以你需要重新连接旧 VM 与当前流浪汉。现在检查你的虚拟机是否在 VirtualBox 中
  • 是的! vagrant 加载了错误的虚拟机。重新连接好的方法是什么?非常感谢

标签: vagrant package virtual-machine box


【解决方案1】:

在某些情况下,vagrant 似乎会在现有 VM 的情况下重新创建一个新 VM。如果您需要将现有 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}
    

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

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

该文件将位于以下文件夹&lt;project&gt;/.vagrant/machines/default/virtualbox/id。只需复制您从第 1 步找到的值

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

  1. 就是这样!只需运行vagrant up,vagrant 就会运行正确的虚拟机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2015-08-25
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多