从损坏的硬盘中恢复特定文件

从损坏的硬盘中恢复特定文件

我正在尝试恢复崩溃时尚未备份的大约 3-5GB 的 NEF 文件。

这是一个 418GB 的​​ ext4 分区,挂载时-o ro,noload我可以列出文件所在的目录,但如果尝试复制它们,则会出错。我目前正在运行ddrescue -n --direct --no-trim --sector-size=4096,虽然启动速度相当快,但此后速度明显减慢。六小时前重启后,目前平均速度约为 38KB/s。到目前为止,它已经挽救了 7.5GB。

鉴于速度很慢ddrescue- 有没有办法只复制我需要的文件?我对磁盘的其余部分不太感兴趣。

答案1

我会回答我自己的问题,但如果您有更好的想法,请随时发表另一个答案。

这是我所做的。首先,我将分区挂载为只读:

mount -o ro,noload /dev/sdb6 /badhdd

然后我find在每个文件上运行 ddrescue:

mkdir ~/rescue
mkdir ~/rescue-log
find /badhdd/path/to/directory -type f -name "*.NEF" -exec ddrescue -vvvv -P1 -n --no-trim /badhdd/path/to/directory/{} ~/rescue/{} ~/rescue-log/{} \;

对于任何有错误的文件我都这样做了:

ddrescue -vvvv -P1 --reverse /badhdd/path/to/directory/{} ~/rescue/{} ~/rescue-log/{}

72 小时后,我恢复了 400 多个文件中的 65 个,平均大小为 10MB。恢复速度差别很大 - 一些文件只需不到 10 秒即可恢复,而其他文件则需要 5-6 小时。

这意味着,如果我设法仅恢复我真正需要的文件,则恢复将花费大约 18-20 天,而整个分区则需要超过 120 天。

相关内容