NTFS文件系统解析
解析NTFS文件系统

NTFS稳定性和安全性微软做的很多事情都让他们受尽责备。
但是它做的一件非常好的事情就是创建了一个强壮、高效而且可扩展的文件系统。
NTFS(New Technology File System)文件系统最早出现在1993年的Windows NT操作系统中,它的出现大幅度地提高了微软原来的FAT文件系统的性能。
NTFS是一个日志文件系统,这意味着除了向磁盘中写入信息,该文件系统还会为所发生的所有改变保留一份日志。
这一功能让NTFS文件系统在发生错误的时候(比如系统崩溃或电源供应中断)更容易恢复,也让这一系统更加强壮。
在这些情况下,NTFS能够很快恢复正常,而且不会丢失任何数据。
在很少出错情况下,微软表示只要大概不到1%的概率才你需要运行CHKDSK修复程序来对磁盘卷进行维护。
NTFS另一个引人注目的特点,即良好的安全性是NTFS成为Windows网络中最常用的文件系统的最主要的原因。
NTFS的安全系统非常强大,可以对文件系统中对象的访问权限(允许或禁止)做非常精细的设置。
NTFS Master File Table (MFT)中包含了一个NTFS分区中所有文件的记录。
每个MFT入口都有一个特殊的metadata标签,叫做SD(security descriptor,安全描述符),这个标签中包含了谁可以访问这个文件或文件夹的所有控制信息。
每个SD标签都包含了一个用户列表,这个列表被称为Access Control List (ACL访问控制列表),只有包含在这个列表里的用户才被允许访问该对象。
请注意上面一段中出现的“metadata”一词。
NTFS是一个元数据驱动的系统。
事实上,当你第一次创建NTFS分区的时候,很多元数据文件就被创建了,每个元数据文件都帮助跟踪文件系统中某个特定的对象。
我在上一段中提到每个NTFS分区都会有一个Master File Table,这个关联文件被命名为$MFT。
事实上,NTFS创建了两个MFT文件。
了解计算机文件系统NTFSFAT和HFS的区别

了解计算机文件系统NTFSFAT和HFS的区别计算机文件系统是操作系统用来组织和管理计算机存储设备上的文件和目录的一种机制。
在不同的操作系统中,常见的文件系统有NTFS、FAT和HFS。
本文将就NTFS、FAT和HFS三种文件系统进行比较,以帮助大家更好地了解它们之间的区别。
一、NTFSNTFS(New Technology File System)是微软公司开发的一种高性能、可靠性和安全性较强的文件系统。
NTFS首次被引入Windows NT操作系统,并一直沿用至今。
1.1 文件系统结构NTFS采用了一种分层次的文件系统结构。
它包含了主引导记录(MBR)、分区表、文件记录、文件分配表等重要的组成部分。
而数据存储则是通过将文件分割成不同的簇来管理。
1.2 特点和功能NTFS具有许多先进的特点和功能,例如:- 安全性:NTFS支持访问控制列表(ACL)和文件加密,可以对文件和目录进行更细粒度的权限控制。
- 可靠性:NTFS采用了日志和冗余技术,使得文件系统更加稳定和可靠。
- 容量:NTFS最大支持16EB(1EB=1024PB)的存储容量,能够满足大容量存储的需求。
- 文件压缩和加密:NTFS支持文件压缩和加密,可以提高存储效率并保护敏感数据的安全性。
二、FATFAT(File Allocation Table)是一种较早的文件系统,最初是由微软开发的。
FAT文件系统广泛应用于早期的Windows操作系统和一些移动存储设备中。
2.1 文件系统结构FAT文件系统采用了一种比较简单的存储结构,它通过FAT表来管理文件和目录。
FAT表是一个记录簇号和下一个簇号之间对应关系的查找表。
2.2 特点和功能FAT文件系统具有以下特点和功能:- 简单易用:FAT文件系统结构简单,易于实现和维护。
- 兼容性好:FAT文件系统具有较好的兼容性,可以在不同操作系统之间进行文件共享和传输。
- 存储限制:FAT文件系统的文件大小限制为4GB,对于大容量存储设备来说可能不够满足需求。
NTFS文件系统结构分析

NTFS元文件 元文件
• • • • • • $MFT :中的第一个记录是$MFT自身。 $MFTMirr: 主文件表的部分镜像 $LogFile (日志文件),该文件是NTFS为实现可恢复性和安全性而设计。在系统失败时 能恢复NTFS卷。 $Volume(卷文件),它包含卷名、NTFS的版本和一个表明该磁盘是否损坏的标志位。 (NTFS系统以此决定是否需要调用Chkdsk程序来进行修复) $AttrDef:(属性定义表),其中存放着卷所支持的所有文件属性,并指出他们是否可以 被索引和恢复等。 $Root(跟目录),其中保存着该卷跟目录下的所有文件和目录的索引。
NTFS的元文件 的元文件
• NTFS系统中,文件按照簇进行分配,簇大小在格式化的时候由格式化 程序根据卷的大小自动进行分配。 • 文件通过主文件表MFT来确定文件在磁盘上的存储位置。主文件表是一 个对应的数据库,由一系列文件记录组成,卷中每个文件都有一个文件 记录。第一个文件记录称为基本文件记录,其中存储有其他扩展文件记 录的一些信息。文件表本身也有它自己的文件记录。 • MTF中的文件记录大小一般固定为1KB,文件记录在MFT文件记录数组 中物理上是连续的,从0开始编号。
• 1.容错性:NTFS可以自动地修复磁盘错误而不会显示出错信 息. • 2.安全性:NTFS有许多安全性能方面的选项,可以阻止没有授 权的用户访问文件. • 3.EFS提供对存储在NTFS分区的文件进行加密的功能 • 4.用户可以选择压缩单个文件整个文件夹. • 5.磁盘配额:就是管理员可以对本域中的每个用户所能使用 的磁盘空间进行定额限制,即每个用户只能使用最大定额范 围内的磁盘空间.
属性头
• 每个属性又分为属性头和属性内容两部分,属性头给出了该 属性的结构信息。 • 有的属性内容存储在记录项中(如文件名),称为常驻属性。 有的属性内容很大,需要在MFT外另外开辟空间存储(如 文件数据),则称为非常驻属性。 • 有的属性在属性头之后列出了属性名,而有的则没有。
文件系统fat和ntfs的原理

文件系统fat和ntfs的原理文件系统是计算机操作系统中的一部分,用于组织和管理计算机存储设备中的文件和目录。
常见的文件系统有FAT和NTFS两种。
本文将分别介绍FAT和NTFS文件系统的原理和特点。
一、FAT文件系统的原理和特点1. 原理:FAT(File Allocation Table)文件系统是由微软公司开发的一种简单的文件系统。
它使用了文件分配表来追踪磁盘上文件的存储位置。
FAT文件系统使用磁盘上的文件分配表来记录每个文件占用的簇号,并使用链表的方式将这些簇连接起来,从而形成完整的文件。
2. 特点:(1)FAT文件系统具有良好的兼容性,可以在多个操作系统中共享文件。
(2)FAT文件系统的存储结构简单,占用资源少,适用于较小容量的存储设备。
(3)FAT文件系统支持文件和目录的命名,可以对文件进行读写、删除、复制等操作。
(4)FAT文件系统对文件的大小和簇大小有一定的限制,无法支持大文件和大容量存储设备。
(5)FAT文件系统没有对文件进行加密和访问控制的能力,安全性较低。
二、NTFS文件系统的原理和特点1. 原理:NTFS(New Technology File System)文件系统是微软公司开发的一种高级文件系统。
它采用了B+树的数据结构来组织和管理文件和目录。
NTFS文件系统将磁盘空间划分为多个逻辑区域,通过文件记录和索引来管理文件的存储和访问。
2. 特点:(1)NTFS文件系统支持大容量存储设备和大文件,可以处理几TB 甚至PB级别的数据。
(2)NTFS文件系统具有高度的可靠性和稳定性,支持磁盘冗余和数据恢复。
(3)NTFS文件系统支持文件和目录的权限控制,可以对文件进行加密和访问控制。
(4)NTFS文件系统支持文件的压缩和加密,可以节省存储空间并提高数据安全性。
(5)NTFS文件系统支持文件的快照和防止数据损坏,可以提供更好的数据保护和恢复能力。
三、FAT和NTFS文件系统的比较1. 性能比较:FAT文件系统在小容量存储设备上性能较好,但在大容量存储设备上性能较差。
ntfs是什么意思

ntfs是什么意思NTFS是什么意思NTFS(New Technology File System)是一种面向Microsoft Windows操作系统的文件系统。
它于1993年引入,并作为Windows NT 3.1版本的一部分首次推出。
与旧版本的文件系统(如FAT和FAT32)相比,NTFS提供了更高的性能、更好的安全性和更多的功能。
NTFS是Windows操作系统的默认文件系统,它可以在各个Windows版本中找到,包括Windows NT、2000、XP、Vista、7、8和10。
它被设计用于支持大容量磁盘驱动器和大文件,同时提供了更高的数据可靠性和安全性。
NTFS的主要特点之一是支持文件和目录的访问控制。
通过访问控制列表(Access Control Lists,简称ACLs),NTFS可以配置每个文件和目录的权限,从而限制用户对其进行读取、写入和执行操作。
这意味着可以根据用户的需求来保护敏感数据并限制对重要文件的访问。
此外,NTFS还提供了文件压缩功能。
使用压缩,可以节省磁盘空间并提高存储效率,尤其是对于大量的文本文件。
但需要注意的是,压缩文件可能会导致读写速度减慢,因为操作系统需要对压缩和解压缩进行额外的处理。
NTFS还支持文件和目录的加密。
通过加密,可以保护文件和目录中的数据免受非授权访问。
只有拥有加密密钥的用户才能解密和访问这些文件。
这对于保护包含敏感信息的文件和数据非常重要。
另一个重要的特性是NTFS的日志功能。
NTFS使用事务日志(Transaction Log)记录文件系统的变化和操作。
这些日志记录允许进行恢复操作,在系统或磁盘故障发生时,可以恢复文件系统到一个一致的状态。
NTFS还提供了一些高级功能,例如文件和目录的链接。
链接可以允许一个文件或目录在多个位置上出现,而不需要实际的副本。
这种机制有助于提高存储效率和组织文件系统结构。
虽然NTFS是Windows操作系统的默认文件系统,但它并不是唯一的选择。
NTFS文件系统详细分析

NTFS⽂件系统详细分析第⼀部分什么是NTFS⽂件系统想要了解NTFS,我们⾸先应该认识⼀下FAT。
FAT(File Allocation Table)是“⽂件分配表”的意思。
对我们来说,它的意义在于对硬盘分区的管理。
FAT16、FAT32、NTFS是⽬前最常见的三种⽂件系统。
FAT16:我们以前⽤的DOS、Windows 95都使⽤FAT16⽂件系统,现在常⽤的Windows 98/2000/XP等系统均⽀持FAT16⽂件系统。
它最⼤可以管理⼤到2GB的分区,但每个分区最多只能有65525个簇(簇是磁盘空间的配置单位)。
随着硬盘或分区容量的增⼤,每个簇所占的空间将越来越⼤,从⽽导致硬盘空间的浪费。
FAT32:随着⼤容量硬盘的出现,从Windows 98开始,FAT32开始流⾏。
它是FAT16的增强版本,可以⽀持⼤到2TB(2048GB)的分区。
FAT32使⽤的簇⽐FAT16⼩,从⽽有效地节约了硬盘空间。
NTFS:微软Windows NT内核的系列操作系统⽀持的、⼀个特别为⽹络和磁盘配额、⽂件加密等管理安全特性设计的磁盘格式。
随着以NT为内核的Windows 2000/XP的普及,很多个⼈⽤户开始⽤到了NTFS。
NTFS也是以簇为单位来存储数据⽂件,但NTFS中簇的⼤⼩并不依赖于磁盘或分区的⼤⼩。
簇尺⼨的缩⼩不但降低了磁盘空间的浪费,还减少了产⽣磁盘碎⽚的可能。
NTFS⽀持⽂件加密管理功能,可为⽤户提供更⾼层次的安全保证。
在NTFS⽂件系统中,⽂件存取是按簇进⾏分配,⼀个簇必需是物理扇区的整数倍,⽽且总是2的整数次⽅。
NTFS⽂件系统并不去关⼼什么是扇区,也不会去关⼼扇区到底有多⼤(如是不是512字节),⽽簇⼤⼩在使⽤格式化程序时则会由格式化程序根据卷⼤⼩⾃动的进⾏分配。
⽂件通过主⽂件表(MFT)来确定其在磁盘上的存储位置。
主⽂件表是⼀个对应的数据库,由⼀系列的⽂件记录组成--卷中每⼀个⽂件都有⼀个⽂件记录(对于⼤型⽂件还可能有多个记录与之相对应)。
全面了解NTFS文件系统结构

解读NTFSNTFS是一个比FAT复杂的多的文件系统,我们一起努力来把它完整的解读出来NTFS的引导扇区也是完成引导和定义分区参数,和FAT分区不同,FAT分区的B OOT记录正常,就显示分区没有错误,即使文件不正确,而NTFS分区的BOOT不是分区的充分条件,它要求必须MFT中的系统记录如$MFT等正常该分区才能正常访问。
其BPB参数如下表所示。
字节偏移长度常用值意义0x0B 字 0x0002 每扇区字节数0x0D 字节 0x08 每簇扇区数0x0E 字 0x0000 保留扇区0x10 3字节 0x000000 总为00x13 字 0x0000 NTFS未使用,为00x15 字节 0xF8 介质描述0x16 字 0x0000 总为00x18 字 0x3F00 每磁盘扇区数0x1A 字 0xFF00 磁头数0x1C 双字 0x3F000000 隐含扇区0x20 双字 0x00000000 NTFS未使用,为00x28 8字节 0x4AF57F0000000000 扇区总数0x30 8字节 0x0400000000000000 $MFT的逻辑簇号0x38 8字节 0x54FF070000000000 $MFTMirr的逻辑簇号0x40 双字 0xF6000000 每MFT记录簇数0x44 双字 0x01000000 每索引簇数0x48 8字节 0x14A51B74C91B741C 卷标0x50 双字 0x00000000 检验和MFT中的文件记录大小一般是固定的,不管簇的大小是多少,均为1KB。
文件记录在MFT文件记录数组中物理上是连续的,且从0开始编号,所以,NTFS是预定义文件系统。
MFT仅供系统本身组织、架构文件系统使用,这在NTFS中称为元数据(metadata,是存储在卷上支持文件系统格式管理的数据。
它不能被应用程序访问,只能为系统提供服务)。
其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。
详解NTFS文件系统

NT S 文 件 系 统 中 的 文 件 属 性 F 可 以 分 成 两 种 : 驻 属 性 和 非 常 驻 常
属 性 , 常 驻 属 性 直 接 保 存 在 MF T 中 , 文件 名 和相 关 时 间信 息 ( 像 例 如 创 建 时 间 、 改 时 间 等 ) 远 属 修 永 于 常 驻 属 性 , 常 驻 属 性 则 保 存 在 非 MF 之 外 , 会 使 用 一 种 复 杂 的 索 T 但 引 方 式 来 进 行 指 示 。如 果 文 件 或 文 件 夹 小 于 10 5 0字 节 ( 实 我 们 的 电 其 脑 中 有 相 当 多 这 样 大 小 的 文 件 或 文 件 夹 ) 那 么 它 们 的所 有 属 性 , , 包 括 内 容 都 会 常 驻 在 MF 中 , T 而 MF 是 W id w T n o s一 启 动 就 会 载 入
MF ) 但 如 果 它 所 在 的 磁 盘 扇 区 T , 恰 好 出 现 损坏 , F NT S文 件 系 统 会 比 较 智 能 地 将 MF 换 到 硬 盘 的 其 T 他 扇 区 , 证 了 文 件 系 统 的 正 常 使 保 用 , 就 是 保 证 了 W id w 也 n o s的 正 常 运 行 。而 以 前 的 F T 6和 F T 2 的 A 1 A 3 F T ( 件 分 配 表 ) 则 只 能 固 定 在 A 文
区 和 F T 2 分 区 的 文 件 可 以 随 意 A 3
在 分 区 间 移 动 , 容 不 会 因 此 产 生 内
任何 不同 。
分 区 引 导 扇 区 的 后 面 , 旦 遇 到 扇 一
区 损 坏 , 么 整 个 文 件 系 统 就 要 瘫 那
痪 。
到 内 存 中 的 , 样 当 你 查 看 这 些 文 这
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非 常 驻 数 据 属 性
• 一个簇流项合一分为以下三部分: • 1、第一个字节为第一部分,分为高4bit和低4bit, 其中低4bit说明第二个部分的字节数。高4bit说明 第三部分的字节数 • 2、第二部分从第二个字节开始,长度为第一部分 的低4bit描述的字节数,用以说明簇流的长度,即 该簇流包含的簇数。 • 3、第三部分跟着第二部分,长度为第一部分高 4bit描述的字节数,用以说明簇流起始簇号。
属性头
• 属性头主要用于说明该属性的类型、大小 及名字,同时包含压缩、加密等标志。 • 常驻属性的属性头
非常驻属性头结构
• 常驻属性等很小的属性与其属性头一起存 放在MFT中,内容跟在属性头后面。 • 非常驻属性则另外存储在MFT以外的簇空间 中,并在MFT中的属性描述项中记录它的簇 地址。
• 可以看到,簇流起始位置为561055(0x 08 8F 9F)号簇。簇流长度为12(0x0C)个簇
其他属性
• 0x60 卷名属性($VOLUME_NAME)用来记 录卷名。最长为127个unicode字符。 • 0x90 索引根属性($INDEX_ROOT)为实现 B+树设置的根节点。 • 0xA0 索引分配属性($INDEX_ALLOCATION) 用于存放索引项。索引分配属性总是非常 驻属性,由一个个的索引记录组成。索引 记录存储在MFT之外的簇空间中,每个索引 记录有固定的大小,并包含一个分类树中 的节点,大小通常为4096字节。
NTFS文件系统解析
• 1、基本概念 • 元文件:NTFS包括几个系统文件,从NTFS卷来看, 它们都是隐藏的。文件系统用系统文件来存放元 数据并实现文件系统。系统文件是用Format程序 放在卷上的。 • MFT • 属性:NTFS中所有与数据相关信息都称之为“属 性”,甚至文件内容也被称为“数据属性”。 • NTFS与其他文件系统最大不同在于,大多数文件 系统是对文件内容进行读写,而NTFS则是对包含 文件内容的属性进行读写
• 当一个属性为非常驻时,如大文件的数据,它的 头部包含了NTFS需要在磁盘上定位该属性值的有 关信息。下图显示了一个存储在两个运行中的非 常驻属性
• 非常驻属性被存储在簇流中。簇流是一组 连续的扇区。簇流用它的起始簇号和流长 度加以说明。如,一个属性分为3部分,第 一部分存储在簇号为30,31,32,33,34的簇中, 则该簇流起始簇号为30,流长度为5。第二 部分存储在66,67号中,则第二个簇流起始 于簇66,长度为2。第三部分存储在39~42 号簇中,则第三个簇流起始于39号簇,流 长度为4。如图:
查看其DBR表
将文件名另存为16进制格式 在winhex中打开
找到G盘的MFT
查找“测试文件”对应的16进制字串
解析这一部分的结构可知:
• 1、该文件占用了6个簇 • 2、该文件起始位置 • LCN为0x 62 4F=25167(?扇区)
定位并复制文件数据
• 请思考,为什么两次操作后文件的实际大 小不一致?
• • • • • • • •
• • • • • • • • •
$MFT 主文件表(在DBR里30~37表示。数值不是扇区号,而是簇号。在看簇大小 0D 偏移,就是说:簇号X8=扇区数) $MFTMirr MFT的镜像 $LOGFILE 日志文件,这个是删不掉的。(元文件不能被删除,因为系统下不可访问) $volume 见文件,记录号,创建时间 $attrdef 属性定义列表 $bitmap 位图文件 $root 根目录文件 $badclus 坏簇的列表,在格式化的时候,NTFS发现坏的簇会做标记。防止系统访问他, 或者读取它。 $boot 引导文件 $quota 磁盘配额信息 $secure 安全文件 $upcase 大小写字母的转换 $extend metadata directry 扩展元文件目录 $ extend\$reparse 解析文件 $ extend\$usnjrnl 加密日志文件 $ extend\$quota 配额管理文件 $ extend\$objid 对象ID文件
浏览文件
• 点击WINHEX浏览文件
• • •
$mft和$mftmirr在系统下是看不到的,只能在这里看到。 $mft本身是一个文件大小会有变化,这里有32K $mftmirr只有4K,占用8个扇区。
MFT属性
• 属性的结构: • 每个MFT项大小为1024字节,分为两部分, MFT头和属性列表。 • 属性有许多类型,每种属性都有自己的内 部结构:属性头和属性内容。由于属性有 常驻属性和非常驻属性之分,所以属性头 也有差别,但不管是常驻还是非常驻,它 们属性头的前16个字节是相同的结构。 (如下图)
常 规 属 性 值 及 其 含 义
标准信息属性0x10
• 标准属性($STANDARD_INFOMATION)的类 型值为0x10,它总是常驻属性。它包含一 个文件或目录的基本元数据,如时间、所 有权和安全信息等。所有文件和目录必须 有这个属性。
标准属性实例
• 0x00~0x1F字节处32个字节分为4个8字节部 分,分别为文件的建立时间、最后修改时 间、MFT改变时间和最后访问时间。 • 0x20~0x23处4个字节为标志,这个文件的标 志为0x22,则为“存档、隐藏”
字节偏移(十六进制) 00-02 03-0A 0B-0C 0D 0E-0F 15 18-19
字节数 3 8 2 1 2 1 2
含义 跳转指令 OEM名(“明文NTFS”) 每扇区字节数 每簇扇区数 保留扇区数 介质描述符 每磁道扇区数(不检查此项)
1A-1B
1C-1F 24-27 28-2F 30-37 38-3F 40 41-43 44 45-47 48-4F 50-53 54-1FD 1FE-1FF
2
4 4 8 8 8 1 3 1 3 8 4 426 2
每柱面磁头数(不检查此项)
隐含扇区数(不检查此项) 总是80008000(不检查此项) 文件系统扇区总和 MFT起始簇号 MFT备份的起始簇号 每MFT项大小 未使用 每个索引的簇数 未使用 序列号 校验和 引导代码 签名55AA标记
• 以上引导扇区最为关键的字节数是0B-0C( 每扇区字节数) 0B-0C(每扇区字节数) 0D(每簇扇区数)28-2F(文件系统扇区总 和) 30-37(MFT起始簇号)38-3F(MFT备 份的起始簇号) 40(每MFT项大小)44( 每个索引的簇数),但数据发生不可预料 的损坏时,可以根据以上信息重建分区表 ,定位数据区,恢复MFT,重建DBR,这些 关键字节码的用处不言而喻。
• • • • • • • • •
向后边翻上两个扇区,就到了$MFTMirr MFT的镜像 $MFT我们在DBR里也能看到他在什么地方。30~37H的数值上体现) $MFTMirr我们在DBR里的38~3F 的数值上能体现出来。 镜像应该跟$MFT是一样的,但是他跟FAT32不一样,所以备份也不一定是完 全一样的。镜像只是前4个元文件的文件记录的备份。 1、 $MFT 2、 $MFTMirr 3、日志文件 4、卷标 四个元文件之后,就没有备份了。所以向下搜索是搜索不到的,只有4个
• NTFS中对文件或文件的某一部分进行位置描述时 用两种地址:LCN(逻辑簇号)和VCN(虚拟簇 号)。通过VCN到LCN的映射来描述非常驻属性流。 • LCN是文件系统的逻辑簇号,VCN则是一个文件内 容的内部编号。因此,属性流中VCN的0~4号簇对 应于LCN的30~34号簇,VCN的5,6号簇对应于LCN 的66,67号簇,VCN的7~10号簇对应于LCN的39~42 号簇。 • 因此LCN与VCN的对应关系及簇流列表中真正的记 录如图:
• 大文件或大目录的所有属性,就不可能都常驻在 MFT中。如果一个属性(如文件数据属性)太大 而不能存放在只有1KB的MFT文件记录中,那么 NTFS将从MFT之外分配区域。这些区域通常称为 一个运行(run)或一个盘区(extent),它们可 用来存储属性值,如文件数据。如果以后属性值 又增加,那么NTFS将会再分配一个运行,以便用 来存储额外的数据。值存储在运行中而不是在 MFT文件记录中的属性称为非常驻属性 (nonresident attribute)。NTFS决定了一个属性 是常驻还是非常驻的;而属性值的位置对访问它 的进程而言是透明的。
• NTFS的DBR
NTFS的引导扇区也位于文件系统的0号扇 区,这是它与FAT文件系统在布局 上的唯一 相同之处。 数据结构如下图,当格式化一个NTFS卷时 ,格式化程序分配开始的16个扇区给引导 扇区和自举代码。
•
在NTFS卷上,BPB后面的数据字段构成扩 展BPB。启动过程中,这些字段中的数据可 以使NTLDR(NT loader程序)找到主文件表 (MFT)。在NTFS卷上,MFT不会放在特定的 预定义扇区上(和FAT16或FAT32不一样),因 此,如果MFT通常的位置有坏扇区,它可以 移动。但是,如果数据遭到破坏,MFT无法 定位,则Windows NT/2000就认为该卷未格 式化。
文件名属性
• 文件名属性($FILE_NAME)的类型值为 0x30。任何文件和目录在它的MFT项中至少 有一个文件名属性。该属性用于存储文件 名,还包含文件大小、时间等信息。
数据属性
• 即($DATA,0x80)。这个属性存放文件的内 容。
• 常驻数据属性,可以看到,常驻数据属性 的内容直接跟着属性头之后,一起存储在 MFT中。
• 0xB0 位图属性($BITMAP)用于描述索引 或$MFT的分配情况。对于索引,它用1bit描 述索引的一个VCN,对于$MFT,用1bit描述 一个MFT项的分配情况。 • 0xC0 重解析点属性 • 0x100 安全属性
NTFS文件存储的定位
• 1、在G盘根目录创建文件
2、打开G盘
•
$MFT 主文件表(在DBR里30~37表示。数值不是扇区号,而是簇号。在看簇大小 0D 偏移,就是说:簇号X8=扇区数)