如何修剪分配的空间

如何修剪分配的空间

我使用 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.dd142.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)。

答案2

感谢 @JoepvanSteen 的提示,我能够通过将驱动器格式化为 NTFS 轻松让所有内容都适合。我能够重新添加所有大文件,包括单个 142.5GB 文件。

我不熟悉 exfat 的大簇大小,并且只使用驱动器自带的文件系统。以后我会了解这个限制。

在此处输入图片描述

相关内容