![如何修复“已损坏且无法修复”的 vmdk。](https://linux22.com/image/745668/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%E2%80%9C%E5%B7%B2%E6%8D%9F%E5%9D%8F%E4%B8%94%E6%97%A0%E6%B3%95%E4%BF%AE%E5%A4%8D%E2%80%9D%E7%9A%84%20vmdk%E3%80%82.png)
当我的计算机崩溃时,我正在 VMware Fusion 11 中运行虚拟机。当我尝试重新启动它时,我看到一条错误消息,通知我“磁盘有一个或多个无法修复的内部错误。”
有什么办法可以解决这个问题吗?
答案1
尝试使用vmware-vdiskmanager
修复图像。
由于 VMware 可能已经尝试过自行运行此命令,因此这可能无济于事,但这是最容易尝试的方法。
在装有 VMware Fusion 的 macOS 上打开终端并将目录更改为/Applications/VMware Fusion.app/Contents/Library
./vmware-vdiskmanager -R /path/to/your_corrupted_disk.vmdk
如果您收到一条消息说The virtual disk, '/path/to/your_corrupted_disk.vmdk', is corrupted and cannot be repaired.
尝试使用 Windows 上的 StarWind V2V 转换器修复磁盘。
- 下载 StarWind V2V Converterhttps://www.starwindsoftware.com/starwind-v2v-converter,并将其安装在Windows PC上。
- 复制
your_corrupted_disk.vmdk
所有相关的.vmdk
s。(your_corrupted_disk-s001.vmdk
、your_corrupted_disk-s002.vmdk
、...)。最好复制整个父目录。 - 使用 StarWind 将其从本地 vmdk 转换为本地 vmdk。它会将所有“*.vmdk”文件合并为一个文件
- 创建一个新的虚拟机并选择“使用现有虚拟磁盘”并将其指向修复的版本。
答案2
在我的物理磁盘过满并且虚拟机终止后,其中一台虚拟机的 VMDK 被损坏。
我尝试了几种方法,包括vmware-vdiskmanager
和 StarWind V2V Converter,但都无法恢复文件。
最终我能够使用 DiskInternals VMFS Recovery 修复它。
这是我所做的:
下载并安装 VMFS Recovery 的试用版:https://www.diskinternals.com/vmfs-recovery/
启动程序并跳过向导
选择驱动器>装载映像,挂载损坏的 VMDK
在列表中找到已安装的图像,右键单击它(选择显示以下内容的父元素VMware 磁盘 (vmdk)(而不是单个分区)并选择 创建图像
选择图片保存路径,保持默认,点击节省
等待该过程完成。如果没有错误,这是一个好兆头。
请注意,图像将以 RAW 格式保存,要将其转换回 VMDK,您需要使用VBoxManage
VirtualBox 的一部分。
因此,如果您还没有安装 VirtualBox,请安装它,然后使用以下命令将 RAW 磁盘转换为 VMDK:
VBoxManage convertfromraw "C:\Source.dsk" "C:\destination.vmdk" --format VMDK
现在尝试将生成的 VMDK 安装到 VM,希望它能够工作。