我的SanDisk USB闪存驱动器显示,格式化后我刚刚复制了10GB文件夹时就使用了43GB。


17

我最近购买了SanDisk 128GB USB闪存驱动器。

在将USB闪存驱动器格式化为exFAT格式后,我复制了一个容量约为10GB的文件夹。其中有许多小文件,因此花费了一些时间。

但是,当我在复制文件夹后在Windows资源管理器中看到该文件时,它说大约有43GB的存储空间被占用,现在只有70GB的存储空间可供使用。

发生了什么事,我应该如何处理?我的USB闪存驱动器是否物理损坏?

仍然很奇怪,因为当我复制7 GB容量的单个文件时,它正确显示了大约110 GB的可用剩余容量。


7
如果右键单击一个小文件并转到属性,它将显示“大小”和“磁盘大小”的内容
Scott Chamberlain


20
a 10GB file在标题中说了,但实际上复制了一个10GB folder of small files他们完全不同。如果群集大小为4KB,文件平均为1KB,那么显然需要40GB磁盘空间。默认情况下,exFAT的分配大小比其他文件系统
大得多

你为什么这么做?除了笔记本电脑,台式机和类似硬件外,是否还需要将USB记忆棒用于其他用途?AFAIK仅某些汽车收音机等不支持NTFS或类似的替代产品...
Bakuriu

我不认为文件夹具有“容量”(它们可以容纳的最大容量)可能期望文件数量。你什么意思?
jpmc26 '18 -10-30

Answers:


57

您已经回答了自己的问题:里面有很多小文件

exFAT卷上的每个文件至少需要一个块大小。因此,一个字节大小的文件至少需要4K的大小-放大为1:4096。您正在使用4.3的大小放大功能,这对于许多小文件来说非常合理。

您可以通过使用WinRAR和零压缩设置打包文件来检查该假设,然后将该文件复制到USB记忆棒中。


14
它的意思就是它的意思。磁盘空间以大约4kb的增量分配。一个1字节的文件占用4kb的磁盘空间。一个两个字节的文件占用相同的4kb磁盘空间。同上3字节,最大4096字节。一个4097字节的文件占用了8192字节的磁盘空间,依此类推(这忽略了创建目录条目的开销)。文件的平均大小似乎约为1kb,因此最终消耗的数据量是数据总和的四倍。FAT或NTFS,所有文件系统都以这种方式工作,只是blk大小有所不同,但有时可能会进行一些优化。
山姆·瓦尔沙夫奇克

7
NTFS 大大高于在处理大量小文件FAT版本更有效。如果您只打算在运行Windows的全尺寸计算机上使用此USB驱动器,则将其格式化为NTFS是完全合理的事情。另一方面,如果您打算将其插入相机或Apple产品,则他们将无法读取它。
zwol18年

3
exFAT是否可以用比4k大得多的块大小来格式化?可以通过使用合理的选项将其重新格式化为exFAT来解决此问题,而不会失去兼容性。
R.,

3
@zwol苹果产品可以读取NTFS驱动器。默认情况下,他们只是无法写信给他们
awksp

4
MSDN说,具有128 GB的exFAT分区的默认群集大小为128 kB。小文件的行为会很糟糕。压缩是您的朋友在这里。
彼得-恢复莫妮卡

14

格式化为exFAT时,几乎可以肯定选择了一些较大的分配单位(块大小),例如128k或512k。使用标准的4k分配单元重新格式化,问题应该消失了。



2
是的,那是一个很大的问题。用4k重新格式化。
R.,

1
对我来说,默认分配大小为512KB。
Felix Lee

@FelixLee意味着即使一个1字节的文件也将占用512 KB。
曼队长

1
@GalacticCowboy:目前可能还没有要求,但这只是一般的最佳实践。如果需要从其他系统访问文件,或者驱动器损坏并且OP试图恢复尽可能多的数据(如果嵌套在存档文件中,祝您好运,尤其是压缩一个)。
R.,

7

为什么会这样呢?

因为您要存储很多小文件。

文件系统具有可以存储的最小文件大小。对于NTFS文件系统,通常为4KB。对于exFAT,它可能更大。这就是所谓的块大小或群集大小。小于此大小的文件仍会用完最小大小,因此1KB的文件可能会使用4KB的磁盘空间。一个3KB的文件也将使用4KB的磁盘空间。如果您有5KB的文件,它将占用8KB的磁盘空间。

您可以想象它像是一排孔。每个孔可以容纳一定数量的数据。文件分布在需要容纳所有文件数据所需的尽可能多的孔中,但是孔不能包含多个文件中的数据。因此,如果文件的数据没有完全填满一个洞,那将浪费一些空间。没有其他文件可以使用该孔,因此未使用的空间不可用。

你能为这个做什么?

在您的情况下,您有很多文件无法填补空白,因此浪费了很多空间。如果将所有文件放入一个ZIP文件中,那么所有这些数据都将包含在一个文件中,它将占用更少的驱动器空间。

某些USB驱动器默认情况下被格式化为exFAT,因此,如果仅使用该驱动器在Windows计算机之间复制文件(或仅用于存储),则可以尝试将该驱动器重新格式化为NTFS(但首先将所有文件复制掉) ,显然!)以尝试减小群集大小。


2

作为另一个答案,建议使用存档器,但我建议您使用7z而不是WinRAR,因为它是免费的,如果您使用Windows内置的“发送到>压缩(压缩),也可以避免安装任何第三方存档器。 )文件夹”选项,然后右键单击文件和文件夹。它比7z快,但存档速度稍慢。

如果您需要存储大部分JPEG图像或根本不压缩的其他图像,则应该受益于使用7z并明确选择“不压缩”选项。

.rar.7z上使用.zip存档格式非常重要,因为Windows支持像浏览任何其他文件夹一样浏览它们(尽管有一些限制)。

如果您不能浏览闪存驱动器上的文件,可以使用另一种格式,但是文件占用较少空间的重要部分是使用单个存档文件,而不是单独存储所有原始文件。


3
如果文件大小超出标称大小的4倍,则绝大多数文件为1k或更小。这些几乎肯定不是jpeg文件。
R.,

另一件事是,为什么您会选择“不压缩”?即使文件不可压缩,它仍会略小。
Clonkex

1
@clonkex,因为速度和延迟是一回事
PlasmaHH

2
@Clonkex因为压缩算法的本质是相对较慢且占用大量资源,所以如果您知道压缩多余的时间来压缩/解压缩文件并不会获得有意义的收益,为什么不告诉拉链跳过该步骤?
Trotski94 '18 -10-29

1
@JamesTrotter用于普通(非LZMA)压缩算法,在普通计算机上,压缩代码的运行速度比磁盘可以写入的速度快,因此没有“额外的时间”,因为压缩的归档文件写入的字节和磁盘更少,因此写入速度更快是瓶颈。
hobbs
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.