文件恢复:如何制作 (NTFS) 分区的非破坏性副本?

vio*_*313 5 ntfs dd file-recovery

我想从未损坏硬盘上的健康 NTFS分区恢复一些已删除的文件。

为了使分区不受干扰,我计划使用dd将分区克隆到原始映像文件,然后尝试从已安装的克隆中恢复。


dd if=/dev/sd<xn> of=/path/to/output.img执行非破坏性复制吗?

是否尝试使用dd最佳方法从克隆恢复?

[编辑,关于 Deltiks 的回答,我需要更清楚地了解我要问的内容]
例如:是否有一些软件可以对原始扇区做更多的事情?
例如:如果是损坏的硬盘,我知道任何类型的读取都具有潜在的破坏性。但假设我的磁盘磁头不会突然消失等,我是否会通过对未损坏硬盘进行明显无损的单次读取来降低成功恢复的机会(不惜任何代价)。

(顺便说一句:我计划使用ntfsundelete&testdisk进行恢复)

Del*_*tik 9

,分区的非破坏性副本的正确命令是:

dd if=/dev/sdxn of=/path/to/output.img
Run Code Online (Sandbox Code Playgroud)

sdxinsdxn应替换为实际的设备名称。

ninsdxn应替换为 NTFS 分区的分区号。

这种方法当然非常安全,因为当您制作副本时,您可以轻松地乘以该图像。如果你弄乱了一张图片,你还有其他的。如果您的硬盘在复制后发生故障,那么您仍然拥有该副本。

由于该操作是只读的,因此可能仍然在那里的已删除文件将不会被触及

编辑(2012/06/28 23:00 UTC):注意,这是包含设备的目录。dd if=/dev/sdxn of=/path/to/output.img

编辑(2012/06/28 23:03 UTC):编辑后,您的命令现在是正确的,并将执行分区的非破坏性复制。


为了帮助更多的用户,或“以防万一”的情况:

如果您的分区实际上已被物理损坏...

请改用此命令:

dd if=/dev/sdxn of=/path/to/output.img conv=noerror
Run Code Online (Sandbox Code Playgroud)

conv=noerrordd跳过的任何区域,它无法读取。将改为写入零。请注意,如果分区物理损坏,读取它可能会非常慢。在我写这个答案时,我拿着一个 2000 年 6 月 2 日制造的 20.0 GB 西部数据鱼子酱。它从 18.2 GiB 标记开始失败,并且dd在尝试阅读超过该点时几乎停止。

编辑(2012/06/28 23:17 UTC): violet313 在评论中提出了一个好观点。您不妨读取损坏的磁盘来恢复数据,因为您迟早必须读取数据。通过物理篡改内部驱动器来恢复硬盘驱动器是昂贵的,就像这里的这项服务

如果dd无法恢复您想要的数据,请考虑尝试使用更积极的工具来恢复您的数据:ddrescue