我使用 ddrescue 和 Photorec 帮助朋友从 Windows 10 机器上即将报废的 1TB Seagate HD 中恢复文件。
我使用 ddrescue 创建了一个 img 文件,并针对该 img 文件运行了 Photorec。我将从 Photrec 恢复的文件保存到 Linux 系统上的驱动器中。
Krusader 报告称,恢复的文件总大小为:
217.7 GiB (233,703,139,398)
1,183,509 files, 2,403 sub-folders
有了这些信息,我让我的朋友订购了一个大小合适的驱动器来将文件传输回来。他们给了我一个 500GB 的 Sandisk SSD。
于是我使用 rsync 将这些文件复制到 SSD 上,但令我惊讶的是,空间很快就用完了。我删除了很多大文件,比如image_remaining.dd
142.5GB 的文件,但空间还是用完了。
我花了一段时间才弄清楚发生了什么,但在使用 qdirstat 查看之后,我发现分配了大量空间。
将恢复的文件放入 SSD 的最佳策略是什么?有可能吗?
- Windows 驱动器:
ntfs
- Linux 驱动器:
ext4
- SSD 驱动器:
exfat
答案1
对于文件恢复,我建议使用依赖文件系统的文件恢复工具,而不是像 PhotoRec 这样的雕刻机或原始扫描仪。DMDE 是一个可以解析或分析并重建虚拟文件系统的工具示例。
雕刻机或原始扫描仪:
- 确定正确的文件大小会更加困难 - 太小但又过大。
- 几乎按照定义就会产生假阳性。
基于文件系统的工具:
- 如果文件系统元数据检测到文件,则获取正确的文件大小。
- 提供文件夹/文件列表,使文件选择更容易。
正如我在评论中提到的,请检查您复制到的驱动器的 exFAT 簇大小,因为即使是最小的文件,也需要分配整个簇。因此,即使是 1.000.000 个 1 KB 文件(约 1 GB),也意味着 1.000.000 * 128K 将分配 128K 簇(约 130 GB)。