使用 DDRescue 恢复无法完成(写入错误:只读文件系统)

使用 DDRescue 恢复无法完成(写入错误:只读文件系统)

我正在尝试使用vdfuse安装 VDI 来恢复损坏的 VDI,并用它dd_rescue来挽救损坏的分区。

dd_rescue似乎工作正常,但一旦达到分区的一半左右,它就会停止并出现以下错误:

ddrescue: write error: Read-only file system

等一下……什么?它突然将正在写入恢复分区的文件系统变成只读文件系统。嗯……为什么?我永远无法完成这件事吗?发生了什么?

更新 - 2012 年 12 月 2 日

我的计算机在断电时正在运行 VBox,当我重新启动它并尝试运行 vbox 实例时,它告诉我 HDD 没有操作系统。

因此,在检查该配置文件的 BIOS 选项和 VBox 设置后,我使用该 VDI 创建了一个新配置文件并出现了相同的错误,这证明 VDI 确实无法读取并且该配置文件并非完全搞砸了。

VDI 是一个 500GB 的磁盘,上面有 4 个分区。当我将vdfuseVDI 安装到文件夹时,它包含 4 个分区作为环回设备(Partition1Partition2等)

当我尝试挂载第一个分区时,它工作正常。它是启动分区,因此它不包含任何有用的东西。但是当我尝试挂载Partition4我的用户主分区时,它提示了Bad superblock at offset ######几次并且挂载失败。

因此,我运行ddrescue Partition4 ../partition4_restore.img并且一切正常,直到它达到(“救援”)大约 260 GB,然后它停止并给出“只读文件系统”错误。

放置img文件的位置有660GB的可用空间。

答案1

1. 排除ddrescue错误:

您的写入失败,据称是与目标卷有关的错误。我建议验证是否真的可以将如此大的文件写入目标卷:

 `dd if=/dev/zero of=testfile bs=32M count=15000`

如果操作成功,您可以确信问题出在您的ddrescue操作上。如果操作失败,您就知道问题出在目标卷上。

2.修复原问题:

当然,退一步来说,从你选择的策略来看,简单地尝试fsck -b使用恢复备用超级块

答案2

使用 安装后vdfuse,我使用testdisk它来查看和复制文件内的文件列表Partition4

答案3

您应该使用 GNU dd_rescue(而不是 dd_rescue)http://www.gnu.org/software/ddrescue/ddrescue.html),这是不一样的。原始的 dd_rescue 使用起来不太安全,而 GNU dd_rescue 则安全。

但是当您收到写入错误时,我会首先检查目标分区是否可以保存这么大的文件(大多数 FAT 分区不能)以及目标分区是否有足够的可用空间。

相关内容