从崩溃的 VMWare VM 的硬盘读取

Joe*_* B. 4 data-recovery vmware-fusion virtual-machine

我在 Mac 上运行 VMWare Fusion,运行 Windows 7 VM。我不小心关闭了我的 Mac,VM 映像无法正确恢复,丢失了我在该映像中处理过的所有文件。我有 2 个月前的快照,但我确实需要从那时起在该快照上创建的一堆文件。鉴于 vmdk 文件(或者可能是其他 VMWare 文件),是否有我可以用来仔细阅读该硬盘驱动器的阅读器,即使我无法正确启动映像。或者有没有其他方法可以读取文件系统?

奇怪的是,图像认为它处于暂停状态,所以我尝试“播放”VM 只是为了在运行它时出现致命错误。


编辑:我尝试了下面的答案,它奏效了。基于现有硬盘创建一个新的 VM 能够找到我的旧数据。有趣的是,在选择从哪个 vmdk 文件创建我的新 VM 的硬盘时,VMWare Fusion 可以识别多个可能的 vmdk 文件。看起来我创建的每个快照都创建了另一个有效的 vmdk 文件。我的 VM 被命名为“Windows 7”,我有一个名为“Windows 7-000001-s00x.vmdk”的 vmdk 文件,其中 x 是组成一个功能 vmdk 组的一系列文件 - 对于每个组,只有一个 vmdk 文件被视为可以使用的基本文件(根名为“Windows 7-000001.vmdk”)。

我求助于查看每个有效 vmdk 文件上的日期并在我的 VM 崩溃之前选择最后一个。虽然弹出了一些不相关的警告,但我能够检索所有丢失的信息。

Pau*_*aul 5

如果致命错误来自 vmplayer 而非 Windows vm,那么一种选择是创建一个新的 VM 并使用现有的 vmdk 作为其磁盘。如果 vm 配置以某种方式损坏,那么 vmdk 可能没问题。

如果错误来自 Windows,那么您可以使用附加到 VM 的 Windows CD 执行正常的恢复类型操作。

或者,您可以创建一个全新的 Window VM,并将 vmdk 作为第二个磁盘添加到其中。

很难猜测是vmdk坏了还是它上面的文件系统坏了。

如果这些都不起作用,并且您手头有 qemu-img,您可以尝试将 vmdk 转换为平面磁盘映像文件,然后再次返回到 vmdk 以查看它是否可以恢复数据:

http://en.wikibooks.org/wiki/QEMU/Images

这个故事的寓意是不要将文件存储在 VM 映像中 - 仅将映像用于操作系统,并将数据存储在本机磁盘上。这可以是您机器上的一个分区,也可以是从 Mac OS 导出 Samba 共享并从 VM 访问它。