我有一个 1TB 外部驱动器,其格式为 HFS+,可与 Macintosh Apple 计算机一起使用。驱动器已完全满。
我正在使用 Linux 来尝试恢复所有文件,或者修复磁盘,然后安装它并检索所有内容。
我尝试过gddrescue
,但是花了太长时间才能完成。在恢复的 0.06% 时,它减慢到扫描字节/秒,最终加快了一点,但对于我来说仍然太慢了。要完全恢复这1TB,还剩41年。我运行了一天,并认为 41 年的 ddrescue 比数据的价值要长。
然后我开始photorec
,它似乎可以很好地从分区恢复已删除的文件。但是,我想恢复所有内容(最好包括完整的目录结构),而不仅仅是在驱动器开始出现故障之前删除的文件。
我尝试fsck.hfsplus -d
并得到了这些结果,
** /dev/sdd1
Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
Catalog file entry not found for extent
(4, 0)
** Volume check failed.
volume check failed with error 7
volume type is pure HFS+
primary MDB is at block 0 0x00
alternate MDB is at block 0 0x00
primary VHB is at block 2 0x02
alternate VHB is at block 1953458172 0x746f67fc
sector size = 512 0x200
VolumeObject flags = 0x07
total sectors for volume = 1953458174 0x746f67fe
total sectors for embedded volume = 0 0x00
看到Catalog file entry not found for extent
错误(我在尝试整理时也遇到此错误),我决定使用 重建目录-r
,但没有成功。我认为必须存在一个目录才能重建或修复它。
fsck.hfsplus -q
报告脏文件系统。
我尝试使用高速救援这似乎是解决我的问题的完美工具,但在分析步骤 ( hfsprescue -s1
) 中,它像 ddrescue 一样挂在 0.06% 处。同样,testdisk
在分析过程中到达圆柱体 74 时会挂起。
我将驱动器交给了拥有 iMac 的人,他尝试使用 GUI 磁盘实用程序软件来修复驱动器,但无济于事。 (我不知道会产生什么错误,如果有的话)
我有去年某个时候该驱动器的备份,但该备份的数据量还不到当前驱动器上实际存储的数据量的一半。
我正在寻找有关如何修复磁盘的建议,以便可以安装它并复制所有数据,或者可以推荐另一种类似于 photorec 的工具,但它可以恢复所有文件和文件夹结构。基本上,现在我接下来应该做什么。
另外,在你的建议中,请不要说“吸取教训,不断备份你的东西!”讲座。该驱动器不是我的,并且我所做的备份是在所有者不知情、同意、许可等的情况下进行的,即使在发生驱动器故障等事件之后,我也无法让该所有者相信备份数据的价值。
答案1
如果成功的话,我能够对磁盘进行映像处理,从而testdisk
产生与正常情况下类似的结果。ddrescue
然后我用hfsprescue
在创建的图像上testdisk
。按照这两个步骤,这个过程再简单不过了。通过这样做,我恢复了 99.99% 的文件,包括目录结构。 (一些文件被坏扇区损坏)