文件配置表
(英文:File Allocation Table,首字母缩略字:FAT)是一种由微软发明的并带有部分专利的文件系统,供MS-DOS使用,也是非NT内核的微软窗口使用的文件系统。
FAT文件系统考虑当时计算机效能有限,所以未被复杂化,因而被几乎所有个人计算机的操作系统支持。这特性使它成为理想的软盘和记忆卡文件系统,也适合用作不同操作系统中的数据交流。
但FAT有一个严重的缺点:当文件被删除并且在同一位置被写入新数据,他们的片段通常是分散的,减慢了读写速度。磁盘碎片重整是一种解决方法,但必须经常重组来保持FAT文件系统的效率。
一个分区分成同等大小的簇,也就是连续空间的小块。簇的大小随着FAT文件系统的类型以及分区大小而不同,典型的簇大小介于2KB到32KB之间。每个文件根据它的大小可能占有一个或者多个簇;这样,一个文件就由这些这些(称为单链表)簇链所表示。然而,这些链并不一定一个接着一个在磁盘上存储,它们经常是在整个数据区域零散的储存。
文件分配表(FAT)是映射到分区每个簇的条目列表。每个条目记录下面五种信息中的一种:
链中下一个簇的地址
一个特殊的文件结束符(EOF)符号指示链的结束
一个特殊的符号标示坏簇
一个特殊的符号标示保留簇
0来表示空闲簇
每个版本的FAT文件系统使用不同大小的FAT条目。这个大小已经由名字表示出来,例如FAT16文件系统的每个条目使用16位表示,32位文件系统使用32位表示。这个不同意味着FAT32系统的文件分配表能比FAT16映射更多的簇,它也允许FAT32有更大的分区大小。这也使得FAT32比FAT16更能有效地利用磁盘空间,因为每个驱动器能够寻址更小的簇,这也就意味着更少的空间浪费。
FAT32
FAT32实际上是文件分区表采取的一种形式,它是相对于FAT16而言的。众所周知,Dos和Windows95采用的都是FAT16格式。至于FAT32,准确地说是在Windows95OSR2中第一次出现的,之所以没有宣传是因为当时该文件系统还不够成熟,尚处于试探阶段。那么为什么一定要推出FAT32呢?这主要是由其自身的优越性决定的。
首先,它可以大大地节约磁盘空间。文件在磁盘上是以簇的方式存放的,簇里存放了一个文件就不能再存放另外的文件。假如一个磁盘的分区大小为512MB,基于FAT16的系统的簇的大小为8KB,而FAT32系统的簇的大小仅是4KB,那么,现在我们存放一个3KB的文件,FAT16系统就会有5KB的空间被浪费,而FAT32的浪费则会少一些。如果分区达到1GB,FAT16的簇为16KB,而FAT32还是4KB,节省的也就更多了。
在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。像基于MS-DOS,Win 95等系统都采用了FAT16文件系统。在Win 9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。同FAT16相比,FAT32主要具有以下特点:
1. 同FAT16相比FAT32最大的优点是可以支持的磁盘大小达到2TB(2048GB),但是不能支持小于512MB的分区。基于FAT32的Win 2000可以支持分区最大为32GB;而基于 FAT16的Win 2000支持的分区最大为4GB。
2. 由于采用了更小的簇,FAT32文件系统可以更有效率地保存信息。如两个分区大小都为2GB,一个
分区采用了FAT16文件系统,另一个分区采用了FAT32文件系统。采用FAT16的分区的簇大小为32KB,而FAT32分区的簇只有4KB的大小。这样FAT32就比FAT16的存储效率要高很多,通常情况下可以提高15%。
3. FAT32文件系统可以重新定位根目录和使用FAT的备份副本。另外FAT32分区的启动记录被包含在一个含有关键数据的结构中,减少了计算机系统崩溃的可能性。
NTFS
NTFS (New Technology File System)是 Windows NT 操作环境和 Windows NT 高级服务器网络操作系统环境的文件系统。NTFS 的目标是提供:可靠性,通过可恢复能力(事件跟踪)和热定位的容错特征实现;增加功能性的一个平台;对 POSIX 需求的支持;消除 FAT 和 HPFS 文件系统中的限制。
NTFS 提供长文件名、数据保护和恢复,并通过目录和文件许可实现安全性。NTFS 支持大硬盘和在多个硬盘上存储文件(称为卷)。例如,一个大公司的数据库可能大得必须跨越不同的硬盘。NTFS 提供内置安全性特征,它控制文件的隶属关系和访问。从DOS 或其他操作系统上不能直接访问 NTFS 分区上的文件。如果要在DOS下读写NTFS分区文件的话可以借助第三方软件;现如今,Linux 系统上已可以使用 NTFS-3G 进行对 NTFS 分区的完美读写,不必担心数据丢失
Win 2000采用了更新版本的NTFS文件系统NTFS 5.0,它的推出使得用户不但可以像Win 9X那样方便快捷地操作和管理计算机,同时也可享受到NTFS所带来的系统安全性。 NTFS 允许文件名的长度可达 256 个字符。虽然 DOS 用户不能访问 NTFS 分区,但是 NTFS 文件可以拷贝到 DOS 分区。每个 NTFS 文件包含一个可被 DOS 文件名格式认可的 DOS 可读文件名。这个文件名是 NTFS 从长文件名的开始字符中产生的。
convert命令将FAT32无损转成NTFS格式
将FAT 卷转换成 NTFS。 CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X] volume 指定驱动器号(后面跟一个冒号)、 装载点或卷名,但不能反过来无损操作。
***************************
NTFS的特点
·NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。而Win 2000中的FAT32支持分区的大小最大为32GB。
·NTFS是一个可恢复的文件系统。在NTFS分区上用户很少需要运行磁盘修复程序。NTFS通过使用标准的事物处理日志和恢复技术来保证分区的一致性。发生系统失败事件时,NTFS使用日志文件和检查点信息自动恢复文件系统的一致性。
·NTFS支持对分区、文件夹和文件的压缩。任何基于Windows的应用程序对NTFS分区上的压缩文件进行读写时不需要事先由其他程序进行解压缩,当对文件进行读取时,文件将自动进行解压缩;文件关闭或保存时会自动对文件进行压缩。
·NTFS采用了更小的簇,可以更有效率地管理磁盘空间。在Win 2000的FAT32文件系统的情况下,分区大小在2GB~8GB时簇的大小为4KB;分区大小在8GB~16GB时簇的大小为8KB;分区大小在16GB~32GB时,簇的大小则达到了16KB。而Win 2000的NTFS文件系统,当分区的大小在2GB以下时,簇的大小都比相应的FAT32簇小;当分区的大小在2GB以上时(2GB~2TB),簇的大小都为4KB。相比之下,NTFS可以比FAT32更有效地管理磁盘空间,最大限度地避免了磁盘空间的浪费。
·在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。许可的设置包括两方面的内容:一是允许哪些组或用户对文件夹、文件和共享资源进行访问;二是获得访问许可的组或用户可以进行什么级别的访问。访问许可权限的设置不但适用于本地计算机的用户,同样也应用于通过网络的共享文件夹对文件进行访问的网络用户。与FAT32文件系统下对文件夹或文件进行访问相比,安全性要高得多。另外,在采用NTFS格式的Win 2000中,应用审核策略可以对文件夹、文件以及活动目录对象进行审核,审核结果记录在安全日志中,通过安全日志就可以查看哪些组或用户对文件夹、文件或活动目录对象进行了什么级别
的操作,从而发现系统可能面临的非法访问,通过采取相应的措施,将这种安全隐患减到最低。这些在FAT32文件系统下,是不能实现的。
·在Win 2000的NTFS文件系统下可以进行磁盘配额管理。磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。设置磁盘配额后,可以对每一个用户的磁盘使用情况进行跟踪和控制,通过监测可以标识出超过配额报警阈值和配额限制的用户,从而采取相应的措施。磁盘配额管理功能的提供,使得管理员可以方便合理地为用户分配存储资源,避免由于磁盘空间使用的失控可能造成的系统崩溃,提高了系统的安全性。
·NTFS使用一个“变更”日志来跟踪记录文件所发生的变更。
·还有诸如加密文件数据等等,和系统服务相关的东西不少。
NTFS的优点
1.具备错误预警的文件系统
在NTFS分区中,最开始的16个扇区是分区引导扇区,其中保存着分区引导代码,接着就是主文件表(Master File Table,以下简称MFT),但如果它所在的磁盘扇区恰好出现损坏,NTFS文件系统会比较智能地将MFT换到硬盘的其他扇区,保证了文件系统的正常使用,也就是保证了Windows的正常运行。而以前的FAT16和FAT32的FAT(文件分配表)则只能固定在分区引导扇区的后面,一旦遇到扇区损坏,那么整个文件系统就要瘫痪。
但这种智能移动MFT的做法当然并非十全十美,如果分区引导代码中指向MFT的部分出现错误,那么NTFS文件系统便会不知道到哪里寻找MFT,从而会报告“磁盘没有格式化”这样的错误信息。为了避
免这样的问题发生,分区引导代码中会包含一段校验程序,专门负责侦错。
2.文件读取速度更高效
恐怕很多人都听说NTFS文件系统在安全性方面有很多新功能,但你可否知道:NTFS在文件处理速度上也比FAT32大有提升呢?
对DOS略知一二的读者一定熟悉文件的各种属性:只读、隐藏、系统等。在NTFS文件系统中,这些属性都还存在,但有了很大不同。在这里,一切东西都是一种属性,就连文件内容也是一种属性。这些属性的列表不是固定的,可以随时增加,这也就是为什么你会在NTFS分区上看到文件有更多的属性.
NTFS文件系统中的文件属性可以分成两种:常驻属性和非常驻属性,常驻属性直接保存在MFT中,像文件名和相关时间信息(例如创建时间、修改时间等)永远属于常驻属性,非常驻属性则保存在MFT之外,但会使用一种复杂的索引方式来进行指示。如果文件或文件夹小于1500字节(其实我们的电脑中有相当多这样大小的文件或文件夹),那么它们的所有属性,包括内容都会常驻在MFT中,而MFT是Windows一启动就会载入到内存中的,这样当你查看这些文件或文件夹时,其实它们的内容早已在缓存中了,自然大大提高了文件和文件夹的访问速度。
3.磁盘自我修复功能
NTFS利用一种“自我疗伤”的系统,可以对硬盘上的逻辑错误和物理错误进行自动侦测和修复。在FAT16和FAT32时代,我们需要借助Scandisk这个程序来标记磁盘上的坏扇区,但当发现错误时,数据往往已经被写在了坏的扇区上了,损失已经造成。
NTFS文件系统则不然,每次读写时,它都会检查扇区正确与否。当读取时发现错误,NTFS会报告这
个错误;当向磁盘写文件时发现错误,NTFS将会十分智能地换一个完好位置存储数据,操作不会受到任何影响。在这两种情况下,NTFS都会在坏扇区上作标记,以防今后被使用。这种工作模式可以使磁盘错误可以较早地被发现,避免灾难性的事故发生。
有些人发现当把磁盘转换为NTFS文件系统后,用磁盘扫描程序就很难发现磁盘错误了。经过前面的介绍,你知道这是为什么了吗?
4.“防灾赈灾”的事件日志功能
在NTFS文件系统中,任何操作都可以被看成是一个“事件”。比如将一个文件从C盘复制到D盘,整个复制过程就是一个事件。事件日志一直监督着整个操作,当它在目标地——D盘发现了完整文件,就会记录下一个“已完成”的标记。假如复制中途断电,事件日志中就不会记录“已完成”,NTFS可以在来电后重新完成刚才的事件。事件日志的作用不在于它能挽回损失,而在于它监督所有事件,从而让系统永远知道完成了哪些任务,那些任务还没有完成,保证系统不会因为断电等突发事件发生紊乱,最大程度降低了破坏性。
5.ntfs动态磁盘功能
动态磁盘是从Windows 2000时代开始的新特性,Windows Server 2003继续使用了这个相当棒的特性。相比基本磁盘,它提供更加灵活的管理和使用特性。您可以在动态磁盘上实现数据的容错、高速的读写操作、相对随意的修改卷大小等操作,而不能在基本磁盘上实现。动态磁盘没有卷数量的限制,只要磁盘空间允许,您可以在动态磁盘中任意建立卷。动态磁盘,我们可以将数块磁盘中的空余磁盘空间扩展到同一个卷中来增大卷的容量。基本磁盘的读写速度由硬件决定,不可能在不额外消费的情况下提升磁盘效率。在动态磁盘上创建带区卷来同时对多块磁盘进行读写,显著提升磁盘效率。
使用Windows XP 2000 2003等系统安装盘给硬盘分区时,往往发现不管硬盘大小,不管分区大小,最后总有8M的空间被剩余下来。这8M空间是用来转换成动态磁盘的。创建Raid时必须要有不小于8M的动态磁盘,所以Windows操作系统在进行分区时会自动留下8M的空间。
基本磁盘不可容错,如果没有及时备份而遭遇磁盘失败,会有极大的损失。在动态磁盘上创建镜像卷,所有内容自动实时被镜像到镜像磁盘中,即使遇到磁盘失败也不必担心数据损失了。在动态磁盘上创建带有奇偶校验的带区卷,来保证提高性能的同时为磁盘添加容错性。
动态磁盘提供了基本磁盘不具备的一些特性,例如创建可跨越多个磁盘的卷(跨区卷和带区卷)和创建具有容错能力的卷(镜像卷和 RAID-5 卷)的能力。动态磁盘上的所有卷都是动态卷。有五种类型的动态卷:简单卷、跨区卷、带区卷、镜像卷和 RAID-5 卷。镜像卷和 RAID-5 卷具有容错功能,仅在运行 Windows 2000 Server、Windows 2000 Advanced Server、Windows 2000 Datacenter Server 或 Windows Server 2003 操作系统的计算机上可用。不过,也可以通过运行 Windows XP Professional 的计算机在这些操作系统上远程创建镜像卷和 RAID-5 卷。不管动态磁盘使用主启动记录 (MBR) 还是 GUID 分区表 (GPT) 分区样式,都可以创建最多 2,000 个动态卷,但是动态卷的推荐值是 32 个或更少。
6.我是否需要哪些附加的功能?
其实,NTFS还提供了磁盘压缩、数据加密、磁盘配额(在“我的电脑”中右击分区并并行“属性”,进入“配额”选项卡即可设置)、动态磁盘管理等功能,这些功能在很多报刊杂志上介绍的比较多了,这里不再详细介绍。
NTFS提供了为不同用户设置不同访问控制、隐私和安全管理功能。如果你的系统处于一个单机环境,比如家用电脑,那么这些功能对你意义不是很大。
NTFS使用注意事项
NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。除了在局域网安装了NT系列的用户们使用NTFS外,随着NT内核的桌面系统Windows2000和XP的普及,很多个人用户也开始把自己的分区格式化为NTFS。
在一般情况下,NTFS的格式不能被Windows9X识别,而且在安装、操作方面也有差异,所以个人用户在使用这种磁盘格式的时候,必须留意下面的注意事项:
一、NT内核的系统应始终使用NTFS 吗?
NTFS是微软推荐在NT系列上使用的文件系统,但是,会有一些特殊的原因使用其他文件系统。如果计划用其他操作系统(包括 MS-DOS)访问文件,则应把引导的分区,即C盘选择格式为 FAT(包括FAT32)文件系统。如果使用的是NTFS文件系统并要与Windows NT进行双重引导,那么在继续Windows 2000或XP的安装之前,必须要为Windows NT安装SP4或更高版本的补丁。
二、转化NTFS和其他分区格式的技巧
一台机器用PQ7把一个分区由NTFS转换成FAT32格式,完成后发现该盘中的中文名的文件夹全部变成问号,打不开了。此时想转回来时发现提示磁盘错误,用Windows的磁盘扫描和DOS的CHKDSK检查后仍无法转换,里面有其下载的几百M的文件,现在已经搞的面目全非了。
其实,如果NTFS的分区容量很大且内有大量的数据存在的话,用直接转换的方式不仅缓慢,而且是很危险的——因为在每一个步骤里,转换的工具程序都要先读取扇区信息、拷贝到临时目录、转化格式再从临时目录读数据重新写入转换好的空间,再校验……这样的操作其实和低级格式化硬盘或是刷新主板的B
IOS差不多危险,一旦发生掉电或是瞬间的数据量过大传输溢出缓冲区导致的死机,重新开机后可能就会丢失分区的所有信息,或是破坏引导区数据甚至是损坏硬盘。
如果硬盘其他分区有足够的空间,用拷贝后删除文件再转化的方法,会事半功倍。具体的操作就是先在其他分区建立一个目录,然后转到你的NTFS分区,选定全部文件,用复制粘贴的方法进行转移数据。然后把NTFS分区的数据清空,再进行转化格式就快很多,也安全得多了;从FAT的格式转换到NTFS也是一样道理。这种拷贝,比直接转换分区格式读读写写、又校验数据的那种繁琐过程快很多,可以在转换完成后,把数据拷贝回该分区。
另外,建议在清空数据后,利用GHOST镜像NTFS或FAT格式的空白分区,得到一个备份文件,以后如果再要转换分区格式利用它来进行就更快。
三、虚拟内存(页面文件)与NTFS的卷
现在很多人装了双硬盘系统甚至是简单的RAID磁盘阵列,在使用这种结构的系统同时是需要NTFS支持卷功能的,此时,应该尽量避免页面文件和系统文件在同一分区上,也不要在同一物理磁盘驱动器的不同分区中放置多个页面文件。特别注意避免将页面文件放入容错驱动器,例如镜像卷或 RAID-5 卷,因为页面文件不需要容错,而且一些容错系统将数据写到多个位置,会导致非常缓慢的数据写操作。
四、如果使用了虚拟机或是磁盘压缩,不适宜使用NTFS格式
使用虚拟机时,在NTFS分区引导的机器上使用光盘引导后,在装操作系统的时候,将会出现以下提示:
Please wait while Setup initializes.
Scanning system registry...
Cannot create a temporary directory.
If you have HPFS or NTFS installed on your hard drive, you will need to create an MS-DOS boot partition to set up Windows.
因为虚拟机出于兼容的考虑,只内置了最常用的硬件和软件支持,对NTFS格式的支持目前还不是很好。如果你使用Windows9X加补丁的方式来读写NTFS分区的话,也可能会导致某些长文件名或是中文名的文件结构被破坏;在使用GHOST备份和恢复的时候也可能会出现莫名其妙的错误。所以,上NTFS还是用NT内核的系列视窗系统好。
另外,注意压缩过的分区不能转化为NTFS。其实压缩磁盘分区变相增大容量是以系统速度的极大牺牲为代价的;而且还会给以后的系统维护、转换分区格式、升级操作系统等等带来很大麻烦。除非是完全出于备份数据的考虑,其他的应用建议不要使用Windows的分区磁盘压缩功能。
因篇幅问题不能全部显示,请点此查看更多更全内容