虽然磁盘文件系统是一个老生常谈的话题,但相信仍有不少朋友并没有真正了解它,尤其是遇到磁盘文件系统方面的麻烦时,可能会不知所措。笔者今天就和大家一起来认识我们平时常见的一些磁盘文件系统。
近日,笔者使用Windows XP系统,从电驴网站下载了一份《CUBASE软件套装》,这是一个大小为6.38GB的ISO镜像文件。我准备用一个格式化好了的8GB的闪盘将该ISO文件拷到朋友的电脑里,不料Window系统却提示我的闪盘容量不足,笔者甚是纳闷,原因究竟何在?看完后文,相信你就会对此问题豁然开朗。
磁盘文件系统是操作系统用于存取和查找磁盘或分区上的文件的方法和数据结构,即磁盘组织文件的方法。可能读者朋友们会问:拥有一种佳的磁盘文件系统不就行了嘛,为什么有这么多的文件系统?为什么不统一使用一种文件系统来存储数据?
事实并没有这么简单,对于不同的操作系统,不同大小的硬盘,不同的使用场合,应该选用特定的文件系统,因此,“佳”的文件系统总是针对某种情况而言的,根据不同的操作系统和存储需求来选择不同的文件系统,才能以快速、准确高效的方式来存取数据。
1、FAT家族成员多
今年,微软的Windows系统迎来了它的25周岁生日,从Windows 1.0到今天的Windows 7,文件系统也在不断地变化,以适应更大的硬盘容量和高效存储。相信国内读者使用多的操作系统就是Windows系列,自然地,也就熟悉FAT系列的文件系统。FAT系列的文件系统主要包括FAT16、FAT12以及FAT32。
FAT16:1982年,微软的DOS系统正式采用FAT16文件系统,该文件系统支持的大磁盘分区是4GB,单个文件不能超过2GB。但在那个年代,2GB已经非常“奢侈”。年轻的90后电脑玩家可能很少接触DOS,自然也对FAT16了解较少,它能支持长文件名为8个字符,扩展名长为3个字符,也就是俗称的“8.3文件名”。
FAT12:该文件系统用于“老掉牙”的软盘,它能支持大磁盘容量为32MB。目前,软盘已经淘汰了,FAT12也渐渐成为了历史。
FAT32:FAT系列里,大家熟知的恐怕要数FAT32了。FAT32的正式应用,在是鲜为人知的Windows 97系统(微软没有正式发布)里。相信不少玩家至今都还是用FAT32文件系统来格式化硬盘的,该文件系统支持的大单个文件可达4GB,支持长文件名可达256个字符,早已打破了“8.3文件名”的束缚。
2、高性能的网络文件系统
提起网络磁盘文件系统,不得不说说网络操作系统,国内读者熟悉的网络操作系统应该算Windows NT及其之后的版本了。除了Windows系列外,UNIX和类UNIX(各种Linux发行版)在企业里用的很广泛。网络操作系统常用的磁盘文件系统有NTFS、GPT、Ext2、Ext3等。
NTFS:这也是大家非常熟悉的文件系统之一,它初应用在Windows NT系统。拥有事务登录、文件压缩等一系列特性。同时,它还是Windows Server 2008/Vista/7的标准文件系统。与FAT32一样,NTFS格式磁盘里的文件名可达256个字符。它支持的单个分区可达2TB,
GPT:该文件系统,在海量存储方面很具优势,UNIX服务器使用较多。Windows Server 2008也可以用GPT磁盘分区进行文件操作,但仅在EFI主板的系统上,Windows Server 2008才能启动和运行。GTP的大优点是无分区数量限制,支持的大磁盘容量为18EB(1EB=1024PB=1048576TB)。下表展示了常见FAT系列文件系统与NTFS的特性比较。
常见FAT系列文件系统与NTFS的特性比较
FAT16 | FAT32 | NTFS |
大分区 | 大分区 | 大分区 |
(动态磁盘称为 卷Volume) |
(动态磁盘称为 卷Volume) |
(动态磁盘称为 卷Volume) |
支持4GB的磁盘 | 支持512MB到2TB的磁盘 | 支持10MB到2TB的磁盘 |
大单个文件可达2GB | 大单个文件达4GB |
大单个文件上限
与分区容量大小相同
|
Ext2/3:Ext2与Ext3是Linux下常见的两种磁盘文件系统。采用这两种文件系统来格式化硬盘时,硬盘被划分成了若干个Block,通常来讲,一个Block大小为1024字节,也有4096字节的Block,因此,采用Ext2文件系统的分区,单个文件大小要根据Block大小来确定。我们可以把Ext3可以理解成Ext2的增强版,除了Ext2/3之外,Linux还使用Ext4、Btrfs等文件系统。
3、苹果电脑使用的磁盘文件系统
苹果操作系统目前在对磁盘格式化时,常见的文件系统是HFS+(Hierarchical File System Plus),它是NFS的增强版。1998年,苹果公司发布了HFS+。相对于HFS,HFS+能够以更高的效率对磁盘空间的地址进行定位。苹果早期使用的是MFS文件系统,目前已经淘汰。
笔者曾遇到这样一个问题,在Windows系统下从网上下载了一份苹果Leopard操作系统的ISO镜像文件,其大小约7GB。在Windows操作系统中将其解压,解压后的目录中仅仅是一些数十KB的文件。之所以会这样,是因为Windows系统中的磁盘文件系统与苹果系统中的文件系统不一样。我们不能在Windows系统中直接访问NFS+分区上的文件,但可通过安装Macdrive这类第三方工具来实现。
4、移动存储介质所使用的文件系统
光盘:CDFS和UDF是光盘存储媒介所使用的文件系统。前者主要用于音频光盘,大家平时在唱片店购买的音乐CD,大都采用了CDFS文件系统来存储数据。它还支持Vcache,可控制缓存以便光盘顺畅读取。后者则是由ISO(国际标准化组织)于1996年制定的,它是通用光盘文件系统,采用了PW(Packet Writing)来简化刻录过程,尽可能地让用户以操作硬盘的方式来操作刻录机。
闪盘:exFAT文件系统通常用在大容量的闪盘上,在Windows系统中,我们需要在闪盘上存储大于4GB的单个文件时,可以在文件系统的下拉菜单中选择exFAT,如图所示。
格式化大于4GB的闪盘,可选择exFAT文件系统。
回到初笔者遇到的问题,我在格式化8GB的闪存盘时,没有选择exFAT(默认的是以FAT32格式化),自然也就不能装下单个6.38GB的ISO文件了(上面提到,FAT32支持的大单个文件为4GB)。在有些Windows XP版本中,并没有提供exFAT的格式化选项,我们需手动从微软的官方网站(http://support.microsoft.com/kb/955704/zh-cn)下载一份补丁程序即可,而新的Windows Vista/7已经自动集成了对exFAT的支持。
上面介绍了这么多文件系统,相信很多朋友已经会觉的够多的了。事实上,磁盘文件系统的种类多达上百种,远远不止本文提到的这些。从操作系统的角度来讲,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统,因此,不同的操作系统就有了特定的文件系统。
我们也可使用第三方工具在不同的文件系统之间互相访问。比如前文提到的Macdrive软件,就能让FAT32分区正常操作NFS+分区上的文件,还有Ext2IFS这个小工具可以实现在Windows系统下访问Linux的Ext2分区上的文件。
本期学到了什么
我们认识了磁盘文件系统的本质,了解了经常接触到的几类磁盘文件系统的发展简史,以及它们的存储特性。我们遇到磁盘空间不足或无法访问某个分区时,可以首先检查一下是否因为两个存储设备所用的文件系统不兼容,通常可以通过第三方软件来解决。