NTFS文件系统的元文件将一个分区格式化为NTFS后,格式化程序会往该分区中写入很多重要的系统信息,这些系统信息在NTFS文件系统中称为元文件。这些元文件用户是不能访问的,它们的文件名的第一个字符都是“$”,表示该文件是隐藏的,用户无法访问和修改。 在NTFS文件系统中,元文件主要有16个,包括MFT($MFT)、MFT镜像($MFTMirr)、日志文件($LogFile)、卷文件($Volume)、属性定义表($AttrDef)、根目录($Root)、位图文件($Bitmap)、引导文件($Boot)、坏簇文件($BadClus)、安全文件($Secure)、大写文件($UpCase)、扩展元数据文件($Extended metadata directory)、重解析点文件($Extend\$Reparse)、变更日志文件($Extend\$UsnJrnl)、配额管理文件($Extend\ $Quota)、对象ID文件($Extend\$ObjId)等,表4-30详细列出了这些元文件及它们的作用。 表4-30 NTFS文件系统的元文件
$MFT文件介绍在NTFS文件系统中,磁盘上的所有数据都是以文件的形式出现的,即使是文件系统的管理信息也是以一组文件的形式存储的,即元文件。16个元文件中主文件表($MFT)是一个非常重要的元文件,它由文件记录构成,每个文件记录占用2个扇区。 每个文件都有一个文件记录,包括元文件本身,而主文件表($MFT)就是专门用来存储文件记录的一个元文件,在$MFT中前16个文件记录总是元文件的纪录。 系统通过$MFT来确定文件在磁盘上的位置以及文件的所有属性,所以$MFT是非常重要的。系统为了防止$MFT出现过多的碎片,在它周围保留了一个缓冲区。当其他的磁盘空间满的时候缓冲区里才会产生新的文件。这个缓冲区的大小是可调的,可以是磁盘空间的12.5%、25%、37.5% 或50%,每当其余磁盘空间变满时,缓冲区大小减半。 由于$MFT文件本身的重要性,为了确保文件系统结构的可靠性,系统专门为它准备了一个镜像文件($MFTMirr),也就是$MFT中的第2个记录。不过这并不是$MFT的完整镜像,而是一个小部分镜像,一般只镜像$MFT中的前四个文件记录。 $MFT中前16个文件记录总是元文件的记录,并且这16个文件记录的顺序是固定的,下面对这16个记录简单做一个介绍: 第1个记录就是$MFT自身的记录,也就是说$MFT首先对自己进行管理。 第2个记录是$MFTMirr的记录,也就是$MFT前4个文件记录的镜像。 第3个记录是日志文件($LogFile)的记录,该文件是NTFS为实现可恢复性和安全性而设计的。当系统运行时,NTFS就会在日志文件中记录所有影响NTFS卷结构的操作,包括文件的创建和改变目录结构的命令,从而可在系统失败时能够恢复NTFS卷。 第4个记录是卷文件($Volume)的记录,它包含卷名、NTFS的版本和一个标明该磁盘是否损坏的标志位,NTFS文件系统以此决定是否需要调用Chkdsk程序来进行修复。 第5个记录是属性定义表($AttrDef,attribute definition table)的记录,其中存放着卷所支持的所有文件属性,并指出它们是否可以被索引和恢复等。 第6个记录是根目录($ROOT)的记录,其中保存着该卷根目录下的所有文件和目录的索引。在访问一个文件后,NTFS就保留该文件的MFT引用,第二次就能够直接访问该文件。 第7个记录是位图文件($Bitmap)的记录,NTFS卷的簇使用情况都保存在这个位图文件中,其中每一位(bit)代表卷中的一簇,标识该簇是空闲还是已分配。由于该文件可以很容易被扩大,所以,NTFS的卷可以很方便地动态扩大,而FAT格式的文件系统由于涉及FAT表的变化,所以不能随意对分区大小进行调整。 第8个记录是引导文件($Boot)的记录,该文件中存放着操作系统的引导程序代码。该文件必须位于特定的磁盘位置才能够正确地引导系统,一般都是位于卷的最前面。 第9个记录是坏簇文件($BadClus)的记录,它记录着该卷中所有损坏的簇号,防止系统对其进行分配使用。 第10个记录是安全文件($Secure)的记录,它存储着整个卷的安全描述符数据库。NTFS文件和目录都有各自的安全描述符,为节省空间,NTFS将文件和目录的相同描述符存放在此公共文件中。 第11个记录为大写文件($UpCase,upper case file)的记录,该文件包含一个大小写字符转换表。 第12个记录是扩展元数据目录($Extended metadata directory)的记录。 第13个记录是重解析点文件($Extend\$Reparse)的记录。 第14个记录是变更日志文件($Extend\$UsnJrnl)的记录。 第15个记录是配额管理文件($Extend\$Quota)的记录。 第16个记录是对象ID文件($Extend\$ObjId)的记录。 第17~23记录是系统保留的记录,暂时不用,用于将来扩展。 从第24个记录开始存放用户文件的记录。
|
|
来自: 新用户3130BjCs > 《ntfs文件格式详解》