为什么文件在Windows上可能占用更多磁盘空间
- 类别: 视窗
如果在Windows上检查文件夹的属性,则会显示数据大小和磁盘上数据大小的值。
这些值可能会略有不同或相差很大,具体取决于所使用的文件系统和驱动器上存储的文件类型。
您可能会看到两个值之间的差异为千兆字节或更多。
您可以通过在Windows资源管理器中右键单击任何文件夹或驱动器号,然后从上下文菜单中选择属性选项来进行测试。
显示最终值可能要花一些时间,这在很大程度上取决于存储在结构下的文件。
正如您在下面的屏幕截图中所看到的,这些值相差0.2 GB,如果考虑到大小,则相差不大。但是,在某些情况下,差异可能会更大。
那么为什么大小不同?
答案以文件系统和群集大小的形式出现。 Windows不支持太多的细节,例如Windows支持的每个文件系统。 NTFS或FAT32使用所谓的群集。
群集是文件可以使用的最小磁盘空间。 Microsoft关于此主题的说明 :
群集大小表示可用于保存文件的最小磁盘空间量。如果文件大小不等于集群大小的偶数倍,则必须使用额外的空间来保存文件(最大为集群大小的下一个倍数)。
典型的默认群集大小:
- NTFS 2 GB-16 TB驱动器-4 KB
- FAT16 1 GB-2 GB驱动器-32 KB
- FAT16 2 GB-4 GB驱动器-64 KB
- FAT32 256 MB-8 GB驱动器-4 KB
想象一下这种情况:您有一个1 GB FAT16驱动器连接到PC。文件夹中存储着一个包含1000个文件的文件夹,每个文件的大小为1千字节。
属性对话框中的大小值将显示为1,000千字节,而磁盘值的大小将显示为32,000千字节(1000x32KB),相差31,000千字节。
虽然每个文件的大小为1 KB,但由于驱动器的群集大小为32 KB,因此每个文件还会浪费31 KB。
在Fat32或NTFS文件系统下,这已不再是一个问题,因为在这些系统上,群集大小默认为4千字节。但是,某些USB闪存驱动器或旧计算机系统可能会将FAT16用作文件系统。
随着存储容量的增加,它再次成为一个问题。例如,一个64 TB NTFS卷的群集大小为32 KB。
确定硬盘的群集大小
- 点击键盘上的Windows键,然后键入cmd。
- 右键单击cmd.exe,然后从上下文菜单中选择“以管理员身份运行”。
- 运行命令 chkdsk驱动器号(例如chkdsk d :) 并等待它完成。
- 检查“每个分配单位中的字节”输出。它以字节为单位,如果要以千字节为单位,则将数字除以1024。如果采用上述示例,则4096字节变为4千字节(4096/1024 = 4)。
你能为这个做什么?
根据存储的使用方式,您可以减小群集大小:
- 使用Fat32或NTFS代替FAT16。这可能并不总是可能的,例如,如果文件系统需要为FAT16。如果没有这样的要求,则可以通过更改文件系统来释放磁盘上的大量空间。您可以为此使用命令行工具CONVERT。要将驱动器d:的文件系统更改为ntfs,请运行以下命令 转换d:/ fs:ntfs 在提升的命令提示符下。不会有任何数据丢失。
- 对驱动器进行分区。如果减小每个分区的大小,则也可以减小集群的大小。例如,一个512 MB FAT16分区的默认群集大小为16 KB,而一个1 GB分区的默认群集大小为32 KB