如何从损坏的磁盘部分复制文件?

nsn*_*nsn 10 file-copy hard-disk

我有一个损坏的磁盘,我需要从中复制一个 60G 的文件。

有时磁盘会重置,我无法完成复制。

我想尝试复制部分切片并将它们放在一起。

我怎样才能做到这一点?

roa*_*ima 15

使用ddrescue,这是为这种类型的场景设计的。

它使用日志文件来跟踪它已成功复制的数据部分 - 或以其他方式。因此,只要维护日志文件,您就可以根据需要多次停止和重新启动它。

请参阅Ddrescue - 数据恢复工具


mar*_*nus 4

使用dd

它可以做很多事情,但您需要以下形式:

dd if=<source> of=<destination> bs=<block size> count=<blocks> skip=<offset>
Run Code Online (Sandbox Code Playgroud)

例如,要从文件中复制第 2 到第 4 KB,您可以执行以下操作:

dd if=in.dat of=out.dat bs=1K count=2 skip=2
Run Code Online (Sandbox Code Playgroud)

鉴于您想要执行的具体操作,您还可以尝试添加conv=sync,noerror

dd if=in.dat of=out.dat bs=1K count=2 skip=2 conv=sync,noerror
Run Code Online (Sandbox Code Playgroud)

使其noerror在遇到错误时尝试继续,并sync使其用零填充失败的块。因此,理想情况下,您会获得所需的文件,但无法读取的块为零。但是,这取决于您的硬盘实际上会做什么。有些硬盘在看到错误时就会关闭,然后您仍然无法获取数据。