NTFS文件系统结构分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件属性
• 在一个NTFS卷中文件所有的信息,包括文件数据在内,都 被认为是文件的属性,而构成该属性的实际数据则被称为 “流”。 • 不同的文件拥有的属性不一样,有的属性也会在同一记录项 中多次出现,比如文件名属性。 • 每个属性的头4个字节表示属性类型,接下来的4个字节表 示本属性大小,根据这个信息,我们可以遍历文件的属性列 表。 • MFT中的各属性的大小均以8字节为边界。
主控文件表MFT 主控文件表
• 在NTFS中,所有的数据都存储在文件中,包括管理和描述 分区结构信息的元数据,采用这种方式使得对所有的数据容 易定位和维护。 • 主控文件表(MFT)是NTFS卷结构的核心。每个文件在 MFT中都有一个文件记录项,该记录项描述了文件的所有 属性,包括文件名,存储位置、存取时间、文件属性等等。 • 每个文件至少有一个MFT项,如果某文件的属性很多则可 能有多个MFT项。
• 1.容错性:NTFS可以自动地修复磁盘错误而不会显示出错信 息. • 2.安全性:NTFS有许多安全性能方面的选项,可以阻止没有授 权的用户访问文件. • 3.EFS提供对存储在NTFS分区的文件进行加密的功能 • 4.用户可以选择压缩单个文件整个文件夹. • 5.磁盘配额:就是管理员可以对本域中的每个用户所能使用 的磁盘空间进行定额限制,即每个用户只能使用最大定额范 围内的磁盘空间.
NTFS元文件 元文件
• • • • • • • • • • $Bitmap:(位图文件),NTFS卷的簇使用情况都保存在这个位图文件中,其中每一位 代表卷中的一簇,标识该簇是空闲还是已分配。 $Boot(引导文件),它是一个重要的系统文件,存放着windowsNT/2000/XP/2003的引 导程序代码。 $BadClus(坏簇文件),它记录着该卷中所有损坏的簇号,防止系统对其进行分配使用 $Secure:(安全文件),它存储着整个卷的安全描述符数据库。 $UpCase:(大写文件) $Extend metadata directory:(扩展元文件目录) $Extend\$Reparse: (重解析点文件) $Extend\$UsnJrnl:(变更日志文件) $Extend\Quota:(配额管理文件) $Extend\$ObjId:(对象ID文件)
属性头
• 每个属性又分为属性头和属性内容两部分,属性头给出了该 属性的结构信息。 • 有的属性内容存储在记录项中(如文件名),称为常驻属性。 有的属性内容很大,需要在MFT外另外开辟空间存储(如 文件数据),则称为非常驻属性。 • 有的属性在属性头之后列出了属性名,而有的则没有。
NTFS引导扇区恢复 引导扇区恢复
NTFS分区结构概览 分区结构概览
• NTFS卷中将所有信息都以文件形式组织管理,包括引导区 域和MFT等分区结构信息,其结构如下图所示,其中只有 BOOT区域是固定位置的。 NTFS分区结构示意图 分区结构示意图
MFT
BOOT区域
数据区
数据区
MFT前几个重要文件备份
LCN和VCN 和
• LCN(逻辑簇号)是NTFS整个卷中对簇的顺序编号,第0 簇对应着逻辑0扇区。 • VCN(虚拟簇号)是文件被分割为多个部分时的簇编号, 也是以0为起始。 • 因此,将LCN转换为扇区号的时候非常简单,直接将LCN× 每簇扇区数即可得到。
NTFS的元文件 的元文件
• NTFS系统中,文件按照簇进行分配,簇大小在格式化的时候由格式化 程序根据卷的大小自动进行分配。 • 文件通过主文件表MFT来确定文件在磁盘上的存储位置。主文件表是一 个对应的数据库,由一系列文件记录组成,卷中每个文件都有一个文件 记录。第一个文件记录称为基本文件记录,其中存储有其他扩展文件记 录的一些信息。文件表本身也有它自己的文件记录。 • MTF中的文件记录大小一般固定为1KB,文件记录在MFT文件记录数组 中物理上是连续的,从0开始编号。
已删除文件的恢复
• 在恢复文件时,采取如下步骤:
– 通过目标文件的文件名(unicode编码)在MFT中搜索到该文件记录 项。 – 通过其父目录文件参考号判断是否选择正确。 – 通过其80H属性读取数据内容,写入到另一分区的新文件中。
• 由于NTFS采取的索引结构,因此只要该文件的MFT项未被 覆盖,就能够快速恢复。
MFT的文件记录项 的文件记录项
• MFT区域中的每个记录项都分为记录头和属性列表两个部 分,记录头里包含了本记录项的总体情况和信息,属性列表 里列出了该文件的所有属性。 • 不同的文件可以有不同的属性,因此,属性列表的大小是可 变的,在所有属性的最后是结束标志FFFFFFFFH。 • 当某文件的属性表在一个基本记录项里放不下时,就会另外 在MFT中另外申请一个记录项来存储文件属性,称为扩展 记录项。
• NTFS的引导扇区如果遭到破坏,同样可以使用备份的引导 扇区记录来恢复,只是NTFS的备份引导扇区藏得比较隐秘。 • 格式化程序在创建一个NTFS卷时,会将该分区的引导扇区 备份到下一个物理相连的分区的前一个扇区,假如下一个分 区的情况为:
– 主分区:保存到下一分区起始前一个扇区。 – 逻辑分区:保存到下一分区的VMBR前一个扇区。 – 无:保存到此分区结束后的一个扇区。
NTFS元文件 元文件
• • • • • • $MFT :中的第一个记录是$MFT自身。 $MFTMirr: 主文件表的部分镜像 $LogFile (日志文件),该文件是NTFS为实现可恢复性和安全性而设计。在系统失败时 能恢复NTFS卷。 $Volume(卷文件),它包含卷名、NTFS的版本和一个表明该磁盘是否损坏的标志位。 (NTFS系统以此决定是否需要调用Chkdsk程序来进行修复) $AttrDef:(属性定义表),其中存放着卷所支持的所有文件属性,并指出他们是否可以 被索引和恢复等。 $Root(跟目录),其中保存着该卷跟目录下的所有文件和目录的索引。
NTFS文件系统 文件系统
• NTFS是新技术文件系统(New Technology File System)的 英文缩写. NTFS特点: 1.容错性 2.安全性 3.使用EFS(Encrypting Fils System)提高安全性 4.文件压缩(Compress) 5.磁盘配额(Di来自百度文库k Quotas)
NTFS删除文件的改变 删除文件的改变
• 在NTFS卷删除一个文件时,系统至少在三个关键地方做了 改变:
– 该文件MFT头偏移16H处字节,将最低位置0。 – 在其父目录的90H属性或A0H属性中将该索引项删除掉。 – 在$Bitmap位图元数据文件中把该文件所占用的簇对应位清零。
• 由于在NTFS中文件自身的信息同其目录位置信息是分开表 示的,因此只能通过在MFT中搜寻文件名的方式来定位待 恢复的文件。
文件索引表
• 每个文件都有一张索引表,记录 了VCN与LCN的对应关系。通过 索引表结构,可以定位文件的存 储位置。 • 采用索引表结构可以随机快速的 访问文件的各个部分。 VCN 0 1 2 … LCN 101 102 106 …
NTFS引导扇区 引导扇区
• 分区的首扇区是引导扇区,它和后面的15个扇区(NTLDR 区域)合起来构成BOOT区域,也就是BOOT元文件。 • NTFS分区的引导扇区同FAT分区的引导扇区在结构上非常 相似,同样包含BPB,DBR和结束标志三个部分,只是在 BPB参数上有部分不同,原FAT分区参数项为0。