FAT和NTFS文件系统簇设置与磁盘分区限制
一、FAT和NTFS文件系统簇设置
1、默认簇映射表
由于FAT12和FAT16文件系统现在已经很少使用了,所以在这只介绍FAT32和NTFS格式的,驱动器大小与簇大小默认值如下表:
驱动器大小 | FAT32默认簇大小 | NTFS默认簇大小 |
...*-256MB | *多档位(512B、1KB、2KB) | 512B |
257MB–512MB | 4KB | 512B |
513MB–1024MB | 4KB | 1KB |
1025 MB–2GB | 4KB | 2KB |
2GB–4GB | 4KB | 4KB |
4GB–8GB | 4KB | 4KB |
8GB–16GB | 8KB | 4KB |
16GB–32GB | 16KB | 4KB |
32GB–2TB | 32KB | 4KB |
2TB-... | - | 4KB |
备注:
1、*FAT32按照微软官方文档约定只要包含65,527个簇,如果每个簇按最小512B计算,那么理论最小分区是不能小于32MB的。该文档同样约定FAT32最多包含268,435,445个簇,如果每个簇按照32KB计算,FAT32理论支持最大磁盘是8TB,这是理论计算数据,实际使用中操作系统限制不同还会有所差异。磁盘超过2G大小时,如果使用FORMAT缺省命令进行格式化, 将会使用默认簇大小4KB。
2、*NTFS最小分区不能小于8M,NTFS最大分区2TB,最大文件也有限制,16EB减去64KB,同FAT32一样,实际操作系统也会有限制。
3、FAT32分区在33M-256M之间还有多个档位默认簇大小,因为参考意思不大,本表没有列出。
4、如果使用Convert从FAT转换到NTFS,那么将会使用512B的簇大小。
2、更改FAT和NTFS文件系统簇大小
对于FAT文件系统和NTFS文件系统,我们在使用format命令格式化时(DOS下目前还不支持直接对NTFS格式化,但可以使用工具进行NTFS格式化),一般都没有指定簇大小的习惯(也可以使用参数指定FAT簇,因为用处不大不再介绍),格式化结果就是按照上面表格默认簇大小进行格式化,我们可以在操作系统上重新对卷进行格式化并指派新簇大小。下面以NTFS为例。
请注意:以下格式化操作会丢失数据,格式化之前请确认该分区数据已经备份或放弃!
A、在需要格式化的分区上鼠标右键——格式化,如下图:
B、弹出格式化设置窗口,点击分配单元大小,会自动列出当前驱动器支持的簇大小,选择对应项兵点击开始按钮即可。
二、簇大小与磁盘利用率关系
网上很多关于簇大小与磁盘利用率的讨论,其实这个问题可以这样理解,所有非512B簇大小都会造成空间的浪费,理论上512B也会浪费,整体而言簇越大浪费空间的可能性会越大。但最终还跟使用存储情况有关。笔者根据个人经验总结以下几点与大家共勉:
1、簇大小越大,同卷的簇数就会越少,系统管理开销会越小,也就是效率会越高。反之同理。
2、如果磁盘是大量存储大文件(比如视频、音乐文件),那么大簇将会更加高效,浪费空间也相对较少。
3、如果磁盘大量存储小文件(比如网页文件、文本文件),那么小簇会更加节约磁盘空间,浪费空间相对较少。
4、小簇存储大文件只会细微的影响磁盘利用率,但会降低对文件的读取和写入管理效能。
5、大簇存储小文件肯定会造成大量的磁盘空间浪费掉。
三、操作系统对FAT与NTFS文件系统的支持与限制:
各版本Windows对FAT和NTFS的支持列表:
分区格式 | 簇数(簇大小) | 理论支持 | Win9x支持 | Win2k/XP/2K3/Win7支持 |
FAT16 | 65535(64KB) | 4GB | 2GB | 4GB |
FAT32 | 268435445(32KB) | 8TB | 127.53GB | 32GB |
NTFS | 4294967296(4KB) | 16EB | X | 2TB |
最大文件、最大分区与最大磁盘限制列表:
文件系统 | 最大文件 | 最大分区 | 最大磁盘 | 备注 |
FAT16 | 2GB | 2GB | 2GB | Win9x下 |
FAT32 | 4GB | 32GB/128GB | 2TB | Win2k/XP SP3下 |
NTFS | 2TB | 2TB | 2TB | Vista/Win7下 |
备注:以上限制还跟控制器、BIOS、簇大小等有关系,也可能还需要其他条件,仅供参考。关于硬盘分区的建议请参考:硬盘分区容量和分区数选择建议。