恢复中间有坏块的文件

Chr*_* C. 9 linux ext4

我们的 ext4 文件系统上的一个大文件可能在中间发现了一个坏块。将文件复制到另一个驱动器会导致部分输入/输出错误。不过,坏道以外的数据似乎还可以。

我们没有这个文件的备份,因为它是最近创建的,所以我正在寻找一种方法来复制文件的整个可读部分,同时跳过坏扇区。

我读过其他网站,这些网站建议使用坏块恢复整个硬盘驱动器的方法,但他们并没有说明如何恢复跨越坏块的任何文件。

谢谢。

Jay*_*Jay 9

你应该能够dd做到:

dd if=fileWithBadBlocks of=recoveredFile bs=4k conv=noerror,sync
Run Code Online (Sandbox Code Playgroud)


the*_*bit 8

应该注意的是,文件系统只会读取磁盘上的“块”(通常为 4k),但硬盘上的损坏通常涉及“扇区”(非 ADF 磁盘上的 512 字节)。

如果块中的单个扇区不可读,则文件系统将整个块视为无效,并且不会根据请求返回内容,因此实际尝试复制文件可能无法为您提供有关可恢复数据量的最佳结果。

相反,您可以考虑使用ddconv=noerror选项和 512 字节的默认块大小,或者甚至ddrescue复制包含文件系统的整个分区,然后再复制文件。