![为什么使用 FAT32 和 NTFS 格式化时闪存驱动器的容量不同?](https://linux22.com/image/1426896/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8%20FAT32%20%E5%92%8C%20NTFS%20%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%97%B6%E9%97%AA%E5%AD%98%E9%A9%B1%E5%8A%A8%E5%99%A8%E7%9A%84%E5%AE%B9%E9%87%8F%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
我有一个 8 GB 容量的 HP 闪存驱动器。最近我尝试将一个大于 4 GB 的文件复制到其中(当时闪存驱动器是空的),但出现错误(提示“无法复制,请插入另一张磁盘”之类的信息)。所以我谷歌了一下,发现这是 FAT32 文件系统的问题。我将闪存驱动器格式化为 NTFS 文件系统,然后我就可以复制文件了。
现在我将告诉我我想知道的内容。格式化为 FAT32 时,有 7.47 GB 可用。格式化为 NTFS 时,容量变为 7.49 GB,但只有 7.42 GB 可用(7.49 GB 中剩余 7.42 GB)。因此打开闪存驱动器以了解消耗了 0.07 GB 的是什么,但一无所获。
为什么闪存驱动器的容量在 FAT32 和 NTFS 中会发生变化?在 NTFS 中什么占用了我的闪存驱动器的 0.07 GB?
答案1
簇大小(可用于保存文件的最小磁盘空间量 [1])对于 NTFS 和 FAT32[1] 是相同的。这是一个令人困惑的观点,这也正是这个问题值得思考的地方。那么为什么格式化大小会有差异呢?如前所述,NTFS 比 FAT32 内置了更多功能。NTFS 提供 FAT 以外的内容,例如文件元数据(文件名、创建日期、访问权限,有时还有内容)、安全访问控制列表和文件系统日志。这些功能提高了可靠性、安全性和灵活性;但它们也会导致稍高的空间限制,这是在簇大小相同时会看到的。值得注意的是,如果您的 USB 较大,则 NTFS 层的簇大小增加速度会比 FAT32 慢。因此,在更大的 USB 驱动器中,您会看到与观察结果相反的情况 [1]。
造成大小差异的最大原因是用于跟踪 USB 驱动器上哪些文件位于何处的表的大小不同。
FAT32 使用文件分配表,它比 NTFS 中的主文件表更简单、更小。
“NTFS 会保留 12.5% 的卷供 MFT 专用,除非该卷的剩余部分被完全用完”[2]。
比较保留空间的复杂性超出了该答案的范围,但我可以向您提供进一步的搜索参数,例如“保留空间”,“MFT 与 FAT 大小”和“引导扇区”。
[1]http://support.microsoft.com/kb/140365 [2]http://support.microsoft.com/kb/174619
答案2
与 FAT 分区相比,NTFS 分区所需的磁盘空间开销显著增加。这就是为什么在小卷上你通常会发现它被格式化为 FAT 分区。