windows用NTFS和FAT的文件系统管理磁盘文件,所有文件系统都是基于簇(分配单元)大小,它代表了可以分配用来保存文件的最小磁盘空间量。WindowsXPNTFS下最大的默认簇大小为4千字节(KB)。也就是说,每个文件都是按4K的空间划分保存的,即使这个文件只有100字节。
打个比方,作文纸,每页可以写400字;超过400字,就要翻一页。可是只写一首20字的诗,也要用一页纸
1、.文件大小与所占空间的差别,为了便于大家理解,我们先来看两个例子:
例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择属性,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628Byte(字节),但它所占用的空间却为688,128Byte,两者整整相差了32KB。
例2:同样是该文件,如果将它复制到A盘,你会发现该文件实际大小和所占空间基本一致,同为640KB,但字节数稍有差别。再将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了!
显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是簇(Cluster)。
2、分区格式与簇大小
在例2中,同一个文件在不同磁盘分区上所占的空间不一样大小,这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定,其对应关系如表1所示。
笔者的软盘采用FAT分区,容量1.44MB,簇大小为512Byte(一个扇区);C盘采用FAT32分区,容量为4.87GB,簇大小为8KB;D盘采用FAT32分区,容量为32.3GB,簇大小为32KB。计算文件所占空间时,可以用如下公式:
簇数=取整(文件大小/簇大小)+1所占空间=簇数×磁盘簇大小公式中文件大小和簇大小应以Byte为单位,否则可能会产生误差。如果要以KB为单位,将字节数除以1024即可。利用上述的计算公式,可以计算ersave2.dat文件的实际占用空间。
3、轻松查看簇大小
①用Chkdsk查看簇大小在Windows操作系统中,我们可以使用Chkdsk命令查看硬盘分区的簇大小。例如我们要在WindowsXP下查看C盘的簇大小,可以单击开始→运行,键入CMD后回车,再键入C:后回车,然后输入Chkdsk后回车,稍候片刻从它的分析结果中,我们就可以得到C盘的簇大小,不过它把簇称之为分配单元或者Allocationunit。
②用PQMagic等磁盘工具来检测很多磁盘工具都具备磁盘信息显示等功能。例如在PQMagic中,选择要查看的磁盘分区,然后单击右键选择高级→调整簇大小功能,即可从显示的对话框中可以看到该磁盘当前设置的簇大小。
③手工查看手动创建一个100字节以下的文本文档。然后将该文件复制到欲查看簇大小的磁盘分区中,在Windows下显示该文件的属性,其中所占空间处显示的数值就是簇大小.