NTFS文件系统结构总览 | 数据恢复迷

当用户将硬盘的一个分区格式化为NTFS分区时,就建立了一个NTFS文件系统结构。NTFS文件系统与FAT文件系统一样,也是用簇为基本单位对磁盘空间和文件存储进行管理的。一个文件总是占有若干个簇,即使在最后一个簇没有完全放满的情况下,也是占用了整个簇的空间,这也是造成磁盘空间浪费的主要原因。文件系统通过簇来管理磁盘,并不需要知道磁盘扇区的大小,这样就使NTFS保持了与磁盘扇区大小的独立性,从而使不同大小的磁盘选择合适的簇。

NTFS分区也被称为NTFS卷,卷上簇的大小,又称为卷因子,其大小是用户在创建NTFS卷时确定的。和FAT文件系统一样,卷因子的大小和文件系统的性能有着非常直接的关系。当一个簇占用的空间太小时,会出现太多的磁盘碎片,这样在空间和文件访问时间上会造成浪费;而相反的当一个簇占用的空间太大时,直接造成了磁盘空间的浪费。因此,最大限度地优化系统对文件的访问速度和最大限度地减少磁盘空间的浪费是确定簇的大小的主要因素。簇的大小一定是扇区大小的整数倍,通常是2n(n为整数)。表4-28是NTFS文件系统中不同卷大小和簇的一般关系。当然这并不是完全一定的,只是系统格式化磁盘时的默认情况,这个默认的簇的值一般被认为是最能优化系统的值。

表4-28 NTFS卷大小和簇大小关系表

卷大小(MB) 每簇的扇区 默认的簇大小
≤512 1 512个字节
513~1024 2 1024个字节(1KB)
1025~2048 4 2048个字节(2KB)
≥2049 8 4KB

当一个分区由FAT卷转变成为一个NTFS卷时,卷因子的大小总是占用一个扇区。

NTFS文件系统使用了逻辑簇号(Logical Cluster Number,LCN)和虚拟簇号(Virtual Cluster Number,VCN)对卷进行管理。其中LCN是对卷的第一个簇到最后一个簇进行编号,只要知道LCN号和簇的大小以及NTFS卷在物理磁盘中的起始扇区(绝对扇区)就可以对簇进行定位,而这些信息在NTFS卷的引导扇区中可以找到(BPB参数),在系统底层也是用这种方法对文件的簇进行定位的。找到簇在磁盘中的物理位置的计算公式是:

每簇扇区数×簇号+卷的隐含扇区数(卷之前的扇区总数)=簇的起始绝对扇区号

而虚拟簇号(VCN)则是将特定文件的簇从头到尾进行编号,这样做的原因是方便系统对文件中的数据进行引用,VCN并不要求在物理上是连续的,要确定VCN的磁盘上的定位需先将其转换为LCN。

和FAT文件系统一样,NTFS的第一个扇区为引导扇区,即DBR扇区。其中有NTFS分区的引导程序和一些BPB参数,系统根据这些BPB参数来得到分区的重要信息。如果没有这些信息,分区将不能正常使用。

在分区的第一个扇区(引导扇区DBR)后是15个扇区的NTLDR区域,这16个扇区共同构成$BOOT文件。在NTLDR后(但不一定是物理上相连的)是主文件表(Master File Table,MFT)区域,主文件表由文件记录构成,每个文件记录占2个扇区,文件记录简称为FR(File Record)。在FAT文件系统中是通过FAT表和文件目录项存储文件数据和记录文件的文件名、扩展名、建立时间、访问时间、修改时间、文件属性、文件大小、文件在磁盘中所占用的簇等信息进行管理的,而在NTFS文件系统中这些信息被称为属性,包括文件的内容在NTFS中也称为属性,各种属性被放入文件记录中进行管理。当一个属性太大,文件记录中存放不下时,就会分配多个文件记录进行存放;而当一个文件非常小时,可能这个文件的所有属性都包含在一个文件记录中了,甚至包括这个文件的数据,也会作为属性存放在其文件记录中,这样做的好处是节约了磁盘空间并且提高了文件访问效率。

NTFS文件系统的主文件表中还记录了一些非常重要的系统数据,这些数据被称为元数据(metadata)文件,简称为“元文件”,其中包括了用于文件定位和恢复的数据结构、引导程序数据及整个卷的分配位图等信息。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)等。这16个元数据文件总是占据着MFT的前16项记录,在这16项以后就是用户建立的文件和文件夹的记录了。

每个文件记录在主文件表中占据的磁盘空间一般为1KB,也就是两个扇区,NTFS文件系统分配给主文件表的区域大约占据了磁盘空间的12.5%,剩余的磁盘空间用来存放其他元文件和用户的文件。

综上所述,NTFS文件系统的结构大致可以用图4-400进行说明。

图4-400 NTFS文件系统的大致结构

补充说明一下:

①图4-400中的结构只是NTFS文件系统的示意图,并不完全成比例;

②元文件在图中只体现了一部分,没有画完整,并且除了$BOOT文件以外,其他元文件的位置不是固定的,例如$MFT文件也可以在$MFTMirr文件之后。

③在NTFS文件系统所在分区的最后一个扇区是DBR的备份,但该扇区并不属于NTFS文件系统。

(0)

相关推荐

  • 数据恢复笔记

    Winhex数据恢复(NTFS文件系统) MFT属性中的属性头数据结构 MFT的簇流运行数据结构 手工提取文件数据 手工提取片段文件数据 常驻80h属性 DBR的数据结构 NTFS文件系统的元文件 主 ...

  • NTFS的索引结构分析 | 数据恢复迷

    NTFS的一些新功能建立在一种叫作"综合索引"的基本功能之上.综合索引中包含了具有某一特征类型的多个分类项,并使用一种高效的存储机制以便于快速查找.在Windows 2000以前的 ...

  • NTFS文件系统基本介绍 | 数据恢复迷

    NTFS文件系统是随着Windows NT操作系统的诞生而产生的,并随着Windows NT 4跨入主力文件系统的行列.它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片:同时它还提供了容错结 ...

  • NTFS文件系统结构

    前言:最近由于项目需要,研究了一下NTFS文件系统,NTFS文件系统是windows使用的文件系统,包括NT,2000,xp系列.无奈万恶资本主义的windows将自家的东西全部藏在阴暗的角落,NTF ...

  • NTFS的EFS加密分析 | 数据恢复迷

    NTFS文件系统能够支持EFS加密文件系统(Encrypted File System).EFS提供的文件加密技术可将加密的NTFS文件存储到磁盘上,并且特别考虑了其他操作系统上的现有工具引起的安全性 ...

  • NTFS文件系统引导扇区分析 | 数据恢复迷

    NTFS文件系统的引导扇区是$Boot的第一个扇区,它的结构与FAT文件系统的DBR类似,所以习惯上也称该扇区为DBR扇区.DBR扇区在操作系统的引导过程起着非常重要的作用,如果这个扇区遭到破坏,系统 ...

  • NTFS文件系统元文件$MFT分析 | 数据恢复迷

    NTFS文件系统的元文件 将一个分区格式化为NTFS后,格式化程序会往该分区中写入很多重要的系统信息,这些系统信息在NTFS文件系统中称为元文件.这些元文件用户是不能访问的,它们的文件名的第一个字符都 ...

  • 搜索神器Everything的功能技巧(非NTFS文件搜索,FTP/HTTP服务)

    Everything这个搜索神器估计大家都听过,磁盘上的任何文件只要输入后基本就是秒搜.但Everything除了搜索,还自带了一些好用的功能. 1,添加非NTFS格式的驱动器索引 默认Everyth ...

  • 元文件$UsnJrnl分析 | 数据恢复迷

    元文件$UsnJrnl是变更日志文件,作用是记录文件发生的改变,文件一旦改变,其变化会记录在元文件$UsnJrnl中一个被命名为$J的数据属性中.$J数据属性具备稀疏属性,由变更日志项组成.$UsnJ ...

  • 元文件$Reparse分析 | 数据恢复迷

    $Reparse是重解析点文件,Windows 2003.Windows XP等系统可以将卷装载在目录中进行重新解析.$Reparse一般包含3个属性,如图4-465所示. 图4-465 $Repar ...