我会用明显的话来说明这一点:我很愚蠢。
我目前正在家工作一个生产服务器上运行一个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生产服务器。
为了让您的虚拟机启动并重新运行:
vmname.vmx ) find包含vmname-00001.vmdk的行。
例如scsi0:0.fileName = "vmname-00001.vmdk"
scsi0:0.fileName = "vmname.vmdk" ( vmname.vmdk是基本磁盘的名称) scsiX:Y.filename=开头的scsiX:Y.filename= 。 请注意, X和Y对于每行都是唯一的,以及基本磁盘名称。 对其中的每一个重复步骤4,相应地replace值。 注意:在继续之前,请确保您确实没有vmname-00XX.vmdk文件。 按照这个程序将使这些文件无用。