随着微软宣布放弃在Windows Vista中纳入基于SQL的新一代文件系统WinFS(Windows File Store),在Windows 98 /2000 /XP /2003等系统下已沿用多年的的FAT16 /FAT32 /NTFS磁盘分区格式的生命周期得到进一步的延长。那么,所谓的磁盘分区、FAT16 /FAT32 /NTFS格式究竟是什么?有什么特点和优点?在我们使用中应选择那种格式?如何建立分区及转换分区格式?本文将对此类相关问题进行全方位的讨论和分析。
概念解析
许多人都曾经常听到过诸如FAT /NTFS /CDFS等分区格式的说法,这些代表着什么涵义?一般说来,根据操作系统的不同、应用场合的不同,存在着多种分区格式,首先就让我们来看看这些分区格式的来龙去脉,了解它们的优缺点,根据应用需要选择好自己的分区格式方案。
在开始后面的话题前,先让我们对基本概念做一简单解析:
磁盘
一般是从硬件(物理)角度来说的,它是通过磁介质存储数据的设备。包括我们常见的软盘、硬盘及不太常用的磁带盘等。另外,U盘及用内存虚拟的磁盘等虽然不是严格意义上的“磁盘”,但它们也可以使用同磁盘一样的文件系统。
本文讨论的磁盘对象主要指硬盘,这里包括普通的IDE接口和较高端的SCSI接口的硬盘,前者是大部分普通桌面用户所用的;后者多用于一些高端用户和服务器配置。
分区
如我们大部分用户已经采用的方案那样,即我们的硬盘通常都会分成几个区,比如C区、D区、E区等等,其目的主要是为了更合理、有效地去保存数据,为文件安放提供更宽松的余地。我们现在所使用的PC(个人电脑)的硬盘,仍然沿用的是第一台PC硬盘所使用的分区原理,它由IBM的工程师设计,即一个硬盘只允许分为4个主分区,而其中的一个主分区可以分成若干逻辑分区,所以从理论上来说,我们的一个硬盘最多可分24个区(即从C区到Z区)。
文件系统
指文件命名、存储和组织的总体结构。例如Windows系列操作系统支持的FAT、FAT32 和 NTFS都是文件系统。其实文件系统也就是我们经常所说的“磁盘格式”或“分区格式”,总体都是一个概念,只不过“分区”只针对硬盘来说的,而文件系统是针对所有磁盘及存储介质的。所以大家应该明白,本专题讨论的其实也就是文件系统,只不过讨论的核心是针对硬磁盘而已。
磁盘存储的结构
文件占用磁盘空间时,基本单位不是字节而是簇。簇的大小与磁盘的规格有关,一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……
同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。硬盘上的文件常常要进行创建、删除、增长、缩短等操作。这样操作做的越多,盘上的文件就可能被分得越零碎(每段至少是1簇)。但是,由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。
不过,这种以簇为单位的存储法也是有其缺陷的。这主要表现在对空间的利用上。每个文件的最后一簇都有可能有未被完全利用的空间(称为尾簇空间)。一般来说,当文件个数比较多时,平均每个文件要浪费半个簇的空间。
文件系统解析
FAT16
FAT的全称是“File Allocation Table”(文件分配表系统),FAT文件系统1982年开始应用于MS-DOS中。FAT文件系统主要的优点是它可以被多种操作系统访问,如MS-DOS、Windows所有系列和OS/2等。这一文件系统在使用时遵循8.3命名规则(即文件名最多为8个字符,扩展名为3个字符)。同时FAT文件系统无法支持系统高级容错特性,不具有内部安全特性等。
VFAT
在Windows 95中,通过对FAT文件系统的扩展,长文件名问题得到妥善解决,这也就是人们所谓的扩展FAT(VFAT)文件系统。它对FAT16文件系统进行扩展,并提供支持长文件名功能,文件名可长达255个字符,VFAT仍保留有扩展名,而且支持文件日期和时间属性,为每个文件保留了文件创建日期/时间、文件最近被修改的日期/时间和文件最近被打开的日期/时间这三项内容。
FAT32
FAT32是FAT16文件系统的派生,比 FAT16 支持更小的簇和更大的分区,这就使得 FAT32 分区的空间分配更有效率。FAT32主要应用于Windows 98及后续Windows系统(实际从未正式发布的Windows 97,即OSR2就开始支持了),它可以增强磁盘性能并增加可用磁盘空间,同时也支持长文件名。
NTFS
NTFS(New Technology File System)是Microsoft Windows NT的标准文件系统,它也同时应用于Windows 2000 /XP /2003。与旧的FAT文件系统相比,主要区别体现在NTFS支持元数据(metadata),并且可以利用先进的数据结构提供更好的性能、稳定性和磁盘的利用率。
NTFS有三个基本版本:在NT 3.51和NT 4中的1.2版,Windows 2000中的3.0版和Windows XP中的3.1版。这些版本后来被升级为4.0版、5.0版和5.1版。更新的版本添加了额外的特性,比如Windows 2000引入了配额。在兼容性方面,Windows 9x的各种版本都不能识别NTFS文件系统。
Ext2
这是Linux中使用最多的一种文件系统,是专门为Linux设计的,拥有最快的速度和最小的CPU占用率。现在已经有新一代的Linux文件系统如SGI公司的XFS、ReiserFS、ext3文件系统等出现。
分区格式特性比较
上文介绍了几种常见的文件系统,到底选择哪种文件系统?它们各自有什么优缺点?如何规划部署分区方案(包括分区数目、大小、格式类型)?
基本情况
文件系统 |
Win 95 |
Win 98 |
Win NT |
Win 2K/Xp /2003 |
簇最大数量 |
最大容量 (理论值) |
最大容量 (Win 98) |
最大容量 (Win 2k 及其后版本) |
FAT16 |
支持 |
支持 |
支持 |
支持 |
65535 |
4Gb |
2Gb |
4Gb |
FAT32 |
不支持 |
支持 |
不支持 |
支持 |
4177918 |
2Tb |
127.53Gb |
32Gb |
NTFS |
不支持 |
不支持 |
支持 |
支持 |
4294967296 |
16Eb |
不支持 |
2Tb |
?
上表中的相关说明:
●表中的“最大容量”为理论值,“可实现最大分区容量”为目前OS可支持的最大容量;
●Windows NT必须先升级到server pack4或以上的版本才能识别FAT32和Windows 2000/XP/2003的NTFS新版本文件系统;
●FAT32只是在理论上支持2TB的最大空间,在实现时,Windows 98OSR2/ME最大只能支持127.53GB,而Windows 2000/XP/2003只支持32GB;
●16EB等于2~64字节,或等于16384TB;
●FAT16在Windows 2000/XP/2003系统下可实现的最大格式化容量为4GB(可实现每簇最大容量64KB)
功能支持
文件系统 |
容错性 |
长文件名 |
配额管理 |
访问权限 |
加密 |
更多特性 |
FAT16 |
较差 |
不支持 |
不支持 |
不支持 |
不支持 |
少 |
FAT32 |
较差 |
支持 |
不支持 |
不支持 |
不支持 |
一般 |
NTFS |
好 |
支持 |
支持 |
支持 |
支持 |
丰富 |
?
文件系统优缺点比较
文件系统 |
优点 |
缺点 |
FAT16 |
? ?MS-dos、Windows 95 /98 /2000 /Xp /2003以及一些Unix系统均可使用,兼容性较好。可用来寻址及修复数据的工具很多在小于256Mb的分区中,无论速度还是存储空间利用率都很好。 |
- 根文件夹最多只可管理512个项目
- FAT16限制只有65536个簇,因此最大分区空间只有4Gb(且只在Windows 2000 /Xp /2003下才支持4Gb)
- 引导扇区不能备份
|
FAT32 |
- 与FAT16不同的是,FAT32分区的根文件夹是一个普通的簇链,可定位在分区的任何地方,正因为此,FAT32分区不限制根文件夹的项目数量。
- 与FAT16相比,FAT32使用更小的簇,从而提高了10%-15%的磁盘空间利用率,能够更有效地使用空间,同时,也减少了操作时的系统资源占用。
- FAT32比FAT16更稳定,另外,FAT32分区的引导记录扩展到包括关键数据结构的备份。
|
- Windows 2000 /Xp /2003可以格式化的FAT32分区限制在32Gb大小。
- FAT32分区除了Windows 95 OSR2 /98 /2000 /Xp /2003外,不可以被其他操作系统直接访问。
- 引导扇区不能备份
|
NTFS |
- 可修复性 : 一旦系统发生故障,NTFS使用其自身的日志文件和检查点信息来自动恢复文件系统的一致性。
- 压缩 : 支持对NTFS分区的单个文件压缩。被压缩在NTFS分区的文件可被任意基于Windows的应用程序读写,而不必先对其解压,解压在读取文件时自动进行,当文件被关闭或保存时又再次被压缩。
- NTFS的其他优点还包括 : 具有一些需要NTFS支持才可实现的Windows 系统特性;NTFS减少了寻找文件过程中磁盘访问的次数,访问速度较快;在NTFS分区中,可设置文件或文件夹的使用权限来限定只有指定的工作组或用户才可访问,提高了安全性;可以用NTFS格式化最大2Tb的分区;引导扇区被备份到分区尾部的扇区上,等。
|
- NTFS分区在Ms-Dos、Windows 9x下不可访问;根据Windows 2000 /Xp /2003中对NTFS所作升级的高级特性在Windows NT 4.0及以前版本中也不可用。
- 当较小的分区包含较多小文件时,与FAT相比,管理NTFS的系统资源开销较大,可能会导致性能的降低。
|
应该选择哪种文件系统?
普通用户在决定采用什么样的文件系统时应从以下几点出发:
1) 单一系统还是多启动的系统(即多操作系统);
2) 硬件平台;
3) 硬盘的大小与数量;
4) 安全性考虑。
在系统的安全性方面,NTFS文件系统具有很多FAT32/FAT16文件系统所不具备的特点,而且基于NTFS文件系统的Windows 2000/XP/2003运行要快于基于FAT文件系统的;而在与Win 9X的兼容性方面,FAT优于NTFS。
如果要在Windows 2000/XP/2003中使用大于32GB的分区的话,那么只能选择NTFS格式。但从另外一个角度来看,NTFS本身所需耗费的资源多于FAT的,所以如果格式化比较小的分区(低于512MB),建议使用FAT16。
正如微软专家建议那样,“除了多引导配置必须从非NTFS文件系统启动之外,建议用户用NTFS格式化所有的分区。” NTFS分区仅能通过Windows NT/2000/XP/2003进行访问。如果你的Windows 操作系统发生致命错误,你将无法简单地通过系统盘引导至命令行方式并解决NTFS分区上所出现的问题。为避免出现这种问题,建议在硬盘上安装第二套Windows操作系统,并通过这套操作系统来解决NTFS分区上所出现的问题。