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


10

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

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

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

我怎样才能做到这一点?


老式的方法是使用dd
G-Man说'恢复莫妮卡'

1
另一种选择是使用例如 split -b[bytes] yourbigFile
Valentin Bajrami,2015年

3
如果您试图从损坏的磁盘中复制文件,那么- ddrescue或没有-您可能会出错。由于该文件取决于文件系统,并且由于该文件很可能是不连续的,因此从故障设备中进行读取以获取该文件几乎肯定会需要更多的磁盘寻找工作,而这超出了您的承受能力。我会尽可能地将单块设备成像到一个已知的好的设备上,并且要尽可能地接近一次通过,然后再将精力集中在已装载的图像文件上。
mikeserv

Answers:


14

使用ddrescue,它是为这种情况而设计的。

它使用日志文件来跟踪已成功复制的数据部分(否则)。因此,您可以在需要维护日志文件的情况下根据需要停止并重新启动它多次。

请参阅Ddrescue-数据恢复工具


4

使用dd

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

dd if=<source> of=<destination> bs=<block size> count=<blocks> skip=<offset>

例如,要从文件复制第二到第四千字节,您需要执行以下操作:

dd if=in.dat of=out.dat bs=1K count=2 skip=2

给定您要执行的操作的详细信息,您还可以尝试添加conv=sync,noerror

dd if=in.dat of=out.dat bs=1K count=2 skip=2 conv=sync,noerror

noerror使得试图继续当它遇到一个错误,sync使它垫失败块用零。因此,理想情况下,您将获得所需的文件,但无法读取的块的值为零。但是,实际操作取决于您的硬盘。某些硬盘在看到错误时会关闭,然后您仍然无法获取数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.