我最近购买了一个 SanDisk 128GB USB 闪存盘。
然后把U盘格式化成exFAT格式后,复制了一个大概10GB左右的文件夹,里面有很多小文件,所以花了点时间。
但是,当我复制文件夹后在 Windows 资源管理器中查看时,它显示大约 43GB 的存储空间已被占用,现在只有 70GB 的存储空间可以免费使用。
发生了什么事?我该如何处理?我的 USB 闪存盘是否物理损坏?
这仍然很奇怪,因为当我复制一个容量为 7 GB 的文件时,它正确显示剩余容量约为 110 GB 可用。
答案1
你已经回答了你自己的问题:其中有很多小文件
exFAT 卷上的每个文件至少占用一个块大小。因此,一个字节大小的文件至少占用 4K - 大小放大率为 1:4096。您看到的大小放大率为 4.3,对于许多小文件来说,这是非常合理的。
您可以通过使用 WinRAR 和零压缩设置打包文件来验证这一假设,然后将该文件复制到 USB 记忆棒。
答案2
格式化为 exFAT 时,您几乎肯定会选择一些较大的分配单元(块大小),如 128k 或 512k。使用标准 4k 分配单元重新格式化,问题应该会消失。
答案3
为什么会发生这种情况?
因为您存储了很多小文件。
文件系统具有可以存储的最小文件大小。对于 NTFS 文件系统,它通常为 4KB。对于 exFAT,它可以大得多。这称为块或簇大小。小于此大小的文件仍将占用最小大小,因此 1KB 文件可能使用 4KB 的磁盘空间。3KB 文件也将使用 4KB 的磁盘空间。如果您有一个 5KB 文件,它将使用 8KB 的磁盘空间。
您可以将其想象成一个由多个孔组成的网格。每个孔可以容纳一定量的数据。文件分布在尽可能多的孔中,以容纳文件的所有数据,但孔不能容纳来自多个文件的数据。因此,如果文件的数据没有完全填满一个孔,那么部分空间就会被浪费。没有其他文件可以使用该孔,因此未使用的空间不可用。
你能为这个做什么?
就你的情况而言,你有很多文件没有填满空洞,因此浪费了大量空间。如果你将所有文件放入一个 ZIP 文件中,那么所有这些数据都将包含在一个文件中,并且占用的驱动器空间会少得多。
某些 USB 驱动器默认格式化为 exFAT,因此,如果您只是使用此驱动器在 Windows 计算机之间复制文件(或仅用于存储),您可以尝试将驱动器重新格式化为 NTFS(但显然首先复制所有文件!)以尝试获得更小的簇大小。
答案4
正如其他答案所建议的那样,使用归档程序,但我建议使用 7z 而不是 WinRAR,因为它是免费的,而且如果您在右键单击文件和文件夹时使用 Windows 内置的“发送到 > 压缩 (zipped) 文件夹”选项,则可以避免安装任何第三方归档程序。它比 7z 更快,但归档速度稍慢。
如果您需要存储大部分 JPEG 图像或其他根本不压缩的图像,则使用 7z 并明确选择“无压缩”选项会更有好处。
使用。压缩存档格式结束.rar或者.7z很重要,因为 Windows 支持像浏览任何其他文件夹一样浏览它们(尽管有一些限制)。
如果您不介意无法浏览闪存驱动器上的此类文件,则可以使用其他格式,但关于文件不占用太多空间的重要部分是拥有单个存档文件,而不是单独保存所有原始文件。