意外删除相关快照后,从VMware快照文件启动

我会用明显的话来说明这一点:我很愚蠢。

我目前正在家工作一个生产服务器上运行一个vm – 一个bitnami redmine / svn堆栈的定期维护是特定的。

当我虚拟磁盘的大小超出了(我们的存储库太大,维护)时,我正在对SVN存储库进行备份。 我检查了VSphere,我的虚拟机closures了一个消息,类似于`vmname-00001.vmdk没有空间。 尝试清除数据存储上的一些文件,然后重试。

现在,我不太了解VM,但是我认为这意味着我的VM正在使用vmname-000001.vmdk 。 我浏览了数据存储,并且当我决定“我对VM不够了解时,我可能不应该这样做”,并删除了相关的-0000n.vmdk文件。这就是当TeamViewer打嗝时,文件无论如何被删除。 耶我。

所以现在我的虚拟机不会启动,因为它缺less那些其他-00000n.vmdk文件。 我得到的错误是The System cannot find the file specified

我可以以某种方式让虚拟机只运行最后剩下的-000001.vmdk文件? -000001.vmdk文件的时间戳是从昨天开始的,其他-00000n.vmdk文件在去年是相关的。

正如评论中所说的那样; 您可以编辑VM的VMX文件并将其指向基础磁盘。

但是从你所说的关于你的快照,他们是旧的。 所以一旦这样做,虚拟机中的数据可能太老了,无法使用。 但是,您可以恢复您备份的任何内容。 至less你会避免重build生产服务器。

为了让您的虚拟机启动并重新运行:

  1. 使用数据存储浏览器下载VMX文件(名称应为vmname.vmx
  2. 做一个副本,以防万一,在修改之前。
  3. find包含vmname-00001.vmdk的行。

    例如scsi0:0.fileName = "vmname-00001.vmdk"

  4. 将其更改为scsi0:0.fileName = "vmname.vmdk"vmname.vmdk是基本磁盘的名称)
  5. 如果您的VM有多个磁盘,则应该有其他以scsiX:Y.filename=开头的scsiX:Y.filename= 。 请注意, XY对于每行都是唯一的,以及基本磁盘名称。 对其中的每一个重复步骤4,相应地replace值。
  6. 保存VMX文件并再次将其上传到ESX服务器。
  7. 现在你的VM应该启动了。

注意:在继续之前,请确保您确实没有vmname-00XX.vmdk文件。 按照这个程序将使这些文件无用。