如果只是想知道U盘、硬盘使用什么格式好,那就是:
- 想在windows、macbook上都能兼容使用,或想提高使用寿命 => exFAT (U盘推荐)
- 没有在macbook上的使用需求,且希望读写速度快一点 => NTFS(硬盘推荐)
- 兼容性好一点(老系统也可以用),没有单个文件大于4GB的情况 => FAT32 (不推荐)
如果想做详细的了解,就往下看。
首先需要来了解一下什么是FAT。
1 FAT
FAT是文件配置表(File Allocation Table),一种由微软发明的文件系统,供MS-DOS使用,也是所有非NT核心的微软窗口使用的文件系统。现在,一般所讲的FAT专指FAT32。
FAT创建之初未被复杂化,因此几乎所有个人电脑的操作系统都支持。使它成为理想的软盘和存储卡文件系统,也适合用作不同操作系统中的数据交流。
但FAT有一个严重的缺点:当文件删除后写入新数据,FAT不会将文件整理成完整片段再写入,长期使用后会使文件数据变得逐渐分散,而减慢了读写速度。其他缺点还包括:1.太浪费磁盘空间 2.磁盘利用效率低 3.文件存储受限制 4.只支持8个字符以下的短文件名 5.安全性较差 [1]
接着介绍常见的文件系统:
2 FAT16
操作系统根据表现整个磁盘空间所需要的簇数量来确定使用多大的FAT,所谓簇就是磁盘空间的配置单位,就像图书馆内一格一格的书架一样。FAT16使用了16位的空间来表示每个扇区配置文件的情形,故称之为FAT16。[2]
我们以前用的DOS(MS-DOS 6.x及以下版本)、Windows 95都使用FAT16文件系统,现在常用的Windows 98/2000/XP等系统均支持FAT16文件系统。
FAT 文件系统支持的最大簇数目和簇的最大大小决定了 2GB 这一分区限制。(FAT 文件系统限于 65,525 个簇。簇大小必须为 2 的次方而且小于 65,536 字节,结果是最大簇大小为 32,768 字节 (32K)。将最大簇数 (65,525) 乘以最大簇大小 (32,768) 等于 2 GB。)随着硬盘或分区容量的增大,每个簇所占的空间将越来越大,从而导致硬盘空间的浪费。[3]
由上可知,FAT16文件系统有两个最大的缺点:
- 磁盘分区最大只能到2GB,硬盘最大支持8GB。FAT16文件系统已不能适应当前大容量的硬盘,必须被迫分区成几个磁盘空间。而分区磁盘的大小又牵扯出簇的问题来,可谓影响颇大。
- 使用簇的大小不恰当。试想,如果一个只有1KB大小的文件放置在一个1000MB的磁盘分区中,它所占的空间并不是1KB,而是16KB,足足浪费了15KB!当前流行的HTML文件,其大小几乎多为1KB、2KB,而制作一个网站往往用到数十个HTML文件。如果你的硬盘中有100个这种小文件的话,你浪费的磁盘空间可从700KB(511MB的分区),到3.1MB(2047MB的分区)。
3 FAT32
同理的,FAT32采用32位的文件分配表,使用的簇比FAT16小(4KB),使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2 GB的限制,分区支持提高到32GB。[4]
目前,支持这一磁盘分区格式的操作系统有Win95、Win98、Win2000、Win2003、Win Vista、Win7和Win10。
但由于FAT32分区内无法存放大于4GB的单个文件,且具有与FAT16相似的缺陷。目前已被性能更优异的NTFS分区格式所取代。
4 NTFS
新技术文件系统 NTFS (New Technology File System),是 一个特别为网络和磁盘配额、文件加密等管理安全特性设计的、WindowsNT 环境的文件系统。它是Windows NT家族(如,Windows 2000、Windows XP、Windows Vista、Windows 7和 windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下)。[5]
NTFS对FAT和HPFS作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。该文件系统的详细定义属于商业秘密 ,微软已经将其注册为知识产权产品。它的最大优点是安全性和稳定性好,全32位内核的NTFS为磁盘目录与文件提供安全设置,指定访问权限,难以受到病毒侵袭。
NTFS每簇仅为512个字节,硬盘利用率最高。可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。
它主要缺点正由于其高筑壁垒,闭关自守,从而导致兼容性差。Windows NT的NTFS可以访问FAT文件系统,但是逆向造访就会吃闭门羹,如在DOS下系统会显示“Invalid drive specification”(无效驱动器指派)。在Windows NT 4.0中提供了FAT向NTFS的单向转换功能;在最新的,具有NT内核的Windows 2000中,提供了FAT转换为NTFS或FAFAT32的功能。这些转换在进行之前应慎重考虑。
5 exFAT
exFAT(Extended File Allocation Table File System,扩展FAT,也称作FAT64,即扩展文件分配表)是Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。对于闪存,NTFS文件系统不适合使用,exFAT更为适用。对于磁盘则不太适用。[6]
主要优点:1.单文件大小最大可达16EB(18 446 744073 709 551 616字节,(理论值,16×1024×1024TB),1TB=1024G) 2.簇大小可高达32MB 3.支持Apple MAC 系统
操作系统支持情况:
FAT16: windows 3.x/95/97/98/me/nt/2000/xp unix,linux,dos
FAT32: windows 95/97/98/me/2000/xp
NTFS: windows nt/2000/xp
exFAT: MAC OSX/windows 8等
如有错误,欢迎指正!
参考文献
[1] https://baike.baidu.com/item/FAT/267561?fr=aladdin
[2] https://baike.baidu.com/item/FAT16/5136658
[3] https://blog.csdn.net/qq_40621718/article/details/81040754
[4] https://baike.baidu.com/item/FAT32/827339?fr=aladdin
[5] https://baike.baidu.com/item/ntfs/91761?fr=aladdin
[6] https://baike.baidu.com/item/exFAT/7169920?fr=aladdin