使用 ddrescue 从出现故障的 ntfs 磁盘中检索数据

使用 ddrescue 从出现故障的 ntfs 磁盘中检索数据

我正在尝试保存 Windows 8 计算机中出现故障的磁盘的一些用户数据。我已经删除了 Windows 8 笔记本电脑无法读取的 HDD,将其插入我的 OS X 计算机,该计算机可以看到分区但无法安装它们。 (ntfs-3g 也不能)。

diskutil list显示:

/dev/disk8 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk8
   1:                        EFI ESP                     524.3 MB   disk8s1
   2: 786BA1D3-6BAF-4D9G-B621-461EB71A4965               41.9 MB    disk8s2
   3:         Microsoft Reserved                         134.2 MB   disk8s3
   4:           Windows Recovery                         513.8 MB   disk8s4
   5:       Microsoft Basic Data                         985.0 GB   disk8s5
   6:           Windows Recovery                         471.9 MB   disk8s6
   7:           Windows Recovery                         367.0 MB   disk8s7
   8:           Windows Recovery                         13.2 GB    disk8s8

我正在ddrescue尝试恢复硬盘的内容...所以我当前正在使用以下命令:

sudo ddrescue -n /dev/rdisk8s5 ./backup.dmg mapfile

基于实际用户数据位于分区#5 中的假设...

到目前为止,几天后,当前的输出ddrescue如下所示:

GNU ddrescue 1.20
Press Ctrl-C to interrupt
Initial status (read from mapfile)
rescued:   126523 MB,  errsize:       0 B,  errors:       0

Current status
rescued:   261066 MB,   errsize:         0 B,    current rate:  19202 kB/s
   ipos:   456274 MB,    errors:         0,      average rate:   1568 kB/s
   opos:   456274 MB,  run time: 23h 49m 38s,  remaining time:         n/a
time since last successful read:          0s

运行时将关闭,因为我有ctrl-c几次,一次尝试file.dmg 以查看它是否可以确定任何内容(不)。

据我所知,它将 dmg 膨胀到 的相对大小iposopos但根据我的理解,恢复的数据的真实大小是数量rescued

我注意到的一件事是,虽然平均速率为1568kB/s,但它似乎只每 1 分钟-2 分钟读取一次,持续约 5-10 秒。


从上面的信息来看,我目前正在等待它完成此过程(根据 dmg 的大小( ipos/opos 大小)估计,总共应该需要约 100 小时,但不确定我是否应该加倍)大小为rescued一半(我需要两倍的磁盘空间来保存吗?)

任何有磁盘恢复经验的人,我有以下问题 -

  1. 这看起来怎么样?我没有看到任何错误,但磁盘无法被它自己的 PC 读取,并且 mac 也无法安装它,所以我对恢复数据持悲观态度。

  2. 一旦我“完成”......需要做什么来访问保存在 .dmg 中的数据 - 我会遇到 Windows 8 加密吗?

  3. 我是否需要 2 倍的磁盘空间来保存 DMG?由于救援的大小是 dmg 和 ipos/opos 的一半。或者驱动器处于如此糟糕的状态以至于它只能恢复一半。

我不认为已用驱动器空间接近 1 TB 用户数据......

任何其他建议将不胜感激。

答案1

免责声明:我是 RecuperaBit 的开发者。这个答案是一个总结这个答案我的,与OP的反馈混合在一起。

您的ddrescue命令仅克隆第五个分区(/dev/rdisk8s5 ),如果您确定分区表正确的话,这很好。但是,如果您有足够的空间,我强烈建议您克隆整个驱动器。

file一次尝试.dmg

请记住,这ddrescue会生成驱动器的原始比特流副本。无论您如何称呼它,该文件都不是 DMG 文件。通常,您会使用.img扩展名或有时使用.dd.

自己的PC无法读取磁盘,Mac也无法挂载它,所以我对恢复数据持悲观态度

当然,您将无法恢复工作分区。但即使 NTFS 结构部分损坏,也可以恢复未损坏的部分数据。

如果驱动器只是轻微损坏,您可以尝试testdisk,但没有检测到 NTFS 签名的事实file表明情况更糟。

需要做什么才能访问正在保存的数据

您可以使用恢复比特,这是一个用于法医 NTFS 重建的开源软件。它使用的算法执行自下而上的重建,这在我的文章中进行了描述硕士论文。要点是:

  • 它扫描整个驱动器以查找文件痕迹
  • 它重建目录树或它的任何可以恢复的部分
  • 它可以让您导出具有正确名称的文件内容

要在您制作的图像文件上运行该工具,请创建一个输出目录并使用以下命令启动 RecuperaBit:

mkdir /path/to/another/drive/recovered_files
cd [full path of recuperabit]
pypy main.py /path/to/backup.dmg -o /path/to/another/drive/recovered_files -s /path/to/another/drive/recovered_files/savefile.save

-s选项存储感兴趣扇区的有用日志,您可以在同一磁盘映像上的后续运行中再次加载这些日志。

扫描过程结束后,它将开始确定任何 NTFS 分区的几何结构。运行recoverable命令查看分区,然后恢复例如分区#2

restore 2 5
restore 2 -1

其中的5意思是目录并-1表示丢失的文件目录中。您可能会发现很多有趣的东西丢失的文件目录,因为您的驱动器已损坏。

查看另一个答案一些注意事项和限制。

顺便说一下,自从你稍微修补了程序对于您的具体情况,如果您可以将补丁作为拉取请求提交,那就太好了。

相关内容