资源描述
详解NTFS文件系统上篇在详解FAT32文件系统中介绍了 FAT32文件系统存储数据的原理,这篇就 来介绍下NTFS文件系统。NTFS、用过Windows系统的人都知道,它是一个很 强大的文件系统,支持的功能很多,存储的原理也很复杂。目前绝大多数Windows 用户都是使用NTFS文件系统,它主要以平安性和稳定性而闻名,下面是它的一 些主要特点。
平安性高:NTFS支持基于文件或目录的ACL,并且支持加密文件系统(EFS)。
可恢复性:NTFS支持基于原子事务概念的文件恢复,比拟符合服务器文件系统 的要求。
文件压缩:NTFS支持基于文件或目录的文件压缩,可以很方便的节省磁盘空间。
磁盘配额:NTFS支持磁盘配额,可针对系统中每个用户分配磁盘资源。
一、分析NTFS文件系统的结构当用户将硬盘的一个分区格式化为NTFS分区时,就建立了一个NTFS文件系统。 NTFS文件系统同FAT32文件系统一样,也是用“簇”为存储单位,一个文件总是 占用一个或多个簇。
NTFS文件系统使用逻辑簇号(LCN)和虚拟簇号(VCN)对分区进行管理。
逻辑簇号:既对分区内的第一个簇到最后一个簇进行编号,NTFS使用逻辑簇号 对簇进行定位。
虚拟簇号:既将文件所占用的簇从开头到尾进行编号的,虚拟簇号不要求在物理 上是连续的。
NTFS文件系统一共由16个“元文件”构成,它们是在分区格式化时写入到硬盘的 隐藏文件(以飞”开头),也是NTFS文件系统的系统信息。
NTFS的16个元文件介绍:
性类型(即M性偏移00H~ 03H处的十■性类型名 六进制数第)
♦性描述10H OOH OOH OOH
$ STANDARD.INFORMATJON标准信息,包括一些基本文件属性,如只读、系统■存档,时间属性.如文件的创立时间和最后 修改时间,有多少目录指向该文件《印其硬住 接数)
20H OOH OOH OOH$ ATTRIBUTE.LIST
30H OOH OOH OOH$ F1LE.NAME
40H OOH OOH OOH40H OOH OOH OOH
S VOLUME.VERSION $ OBJECT」。
30H OOH OOH OOH$ SECURITY.DE5CKIPTOR
属性列表s当一个文件需要多个MFT文件记 录时•用来描述文件的属性列表文件名,用Unicode字符表示的文件名,由于 MS DOS不能派别长文件名,所以NTES系统 会自动生成■•个B・3文件名
在早期的NTFS vj. 2中为卷版本对象ID, 一个具有64个字节的标识符,其中最 低的16个字节拶卷来说是惟一的《钱接做踪 服务为外壳快捷方式即OLE健接源文件赋了 对象】D小TFS提供的API是直接通过这些对 象的1D而不是文件名来翻开文件的) 平安描述符:这是为向后兼容而保存的,主要 用于保护文件以防止没有授权的访问,但Win・ dows 2000.Windows XP中巳将平安描述符存 放在$ Secure元数据中.以便于共享(早刖的 NTFS将其与文件目录一起存放,不便于共享)
60H OOH 00H OOH$ VOLUME.NAME
7OH OOH OOH OOH 80H OOH OOH OOH 90H OOH OOH OOH A0H OOH OOH OOH BOH OOH OOH OOH COH OOH OOH OOH COH OOH OOH OOH DOH OOH OOH OOH EOH OOH OOH OOH FOII OOH OOH OOH$ VOLUME」NFORMATK)N
$ DATA$ INDE5LROO1,
$ 1NDEX.ALLOCATION$ BITMAP
SSYMBOIJCJJNK$ REPARSE-POINT
$ EA.lNFORMATiONSEA
$ PKOPERTY.SETOOH 10H OOH OOH
$ L(XjGEDlU11L1TY_STREAM卷名(卷标识九该属性仅存rr f $ Volume元 数据中
卷信息,该X性仅存在丁 $ Volume元数据中 文件数据:谟域性为文件的数据内容索引根
索引分配位图
企早期的NTFS vl.2中为符号镇接重第析点
扩充属性俏息扩充■性
X期的NTFS vL 2中才有EFS加研属性:该*性主要用于々储实现EFS 加空的有关E密信息.如合法用户列表、解码 京例等
接下来来看几个重要的属性:
分析10H属性:
1OH类型属性它包含文件的一些基本信息,如文件的传统属性,文件的创立时间 和最后修改时间和日期,文件的硬链接数等等。如下:是一个10H类型的属性。
偏移
大小
操作系统
描述
标准属性头(已经分析过)
0X00
8
c TIME -文件创懑寸间
0X08
8
A TIME -文件修改时间
0X10
8
M TIME - MFT变化时间
0X18
8,
R TIME -文件访问时间
0X20
<
文件属性(按照DOS术语来称呼,都是文件属性)
0X24
■
文件所允许的最大版本号(0表示未使用〉
0X28
■
文件的版本号(最大版本号为0,那么也为0)
0X2C
4
类ID (一个双向的类索引)
0X30
4
2K
所有者ID (表示文件的所有者,是文件配额$QUOTA中$0和8索 引的关键字,为0表示未使用磁盘配额)
0X34
4
2K
平安ID是文件$SECURE中$5"索弓^[J$SDS数据流的关键字,注 意不要与平安标识相混淆
0X38
8
2K
本文件所占用的字节数,它是文件所有演占用的总字节数,为0 表示未使用磁盘配额
0X40
8
2K
更新系列号(USN),是到文件$叫町1*1.的一个直接的索引,为 0表示USH日志未使用
其中偏移0x20处的文件属性解释如下:
描述
0001H 0002 H
0004 H 0020H V040H
0080H
0100H
只读文件 吃含文件 系统文件 存档文件 设备文件 常规文件 检时文件
标志
0200 H
0400 H
0800 H
1000JI
2000 H
4000H
描述
稀统文行―
况解析点文件
氏幅文件
脱机文件
未编入索引
加密文件
分析20H属性
20H类型属性既属性列表,当一个文件需要好几个文件记录时,才会用到20H 属性。20H属性记录了一个文件的下一个文件记录的位置。如下:是20H属性 的解释。
字节偏移
字段长度《字节》
含 义
标准属性买(已分析过)
0x00
4
类型
0x()4
2
记录长度
0x06
1
及性名长度(N.为。我示没有属性名)
0x07
1
属性名偏移(如果没有发性名.那么将向属性内容)
0x()8
8
起始VCN(发性常驻时为0》
0x10
8
修性的基本文件记泉中的文件参考号(所有MFT的文件都市 引号.引用到这个文件参考号.等价于引用这个文件记录.这个 件记录头中有定义)
0x18
2
属性1D (格个属性都有个唯一的ID号)
OxlA
2N
Unicode凰性名(如果有属性名)
分析30H属性
30H类型属,该属性用于存储文件名,它总是常驻属性。最少68字节,最大 578字节,可容纳最大Unicode字符的文件名长度。
偏移
大小
值
标准的属性头结构(见前表)
0X00
8
父目录的文件参考号(即父目录的基本文件记录号,分为两个 局部,前6个字节48位为父目录的文件记录号,此处为0X05, 即根目录,所以嬲FT的父目录为根目录,后2个字节为序列号)
0X08
8
文件创立时间
0X10
8
文件修改时间
0X18
8
最后的一次MFT更新时间
0X20
8
最后一次的访问时间
0X28
8
文件分配大小
0X30
8
文件实际大小
0X38
4
标志,如目录、压缩、隐藏等
0X3C
4
用于EAS和重解析点
0X40
1
以字符计的文件名长度,每字符占用字节数由下一字节命名空 间确定,一个字节长度,所以文件名最大255字节长。
0X41
1
文件名命名空间
0X42
2L
以UNICODE方式表示的文件名
分析80H属性
80H属性是文件数据属性,该属性容纳着文件的内容,文件的大小一般指的就 是未命名数据流的大小。该属性没有最大最小限制,最小情况是该属性为常驻属 性。常驻属性就不做多的解释了,上面我标记的是一个非常驻的80H属性。
80 00 OQ 00 00 |4cT ocTTo5。
偏移00
0000
0000
0001 BF 00
0021
0040
01IC
nn nn ic 12 00 00 00 00 00 00 ic00
0012
1200
0000
0000
0000
0001
0000
0000
0000
0012 41
7 033 7F 3A 00 94 CF AB 00 00 FA FF FF
BO 00 0 00 00 00 00 50 00
00 01 00 40 00 00 00 05 0040 00 00 00 0
~ rr. I oa 00 00 00 00 00 00 00Run List I 0。BO 00口。。口
其中,Run List是最难理解,也是最重要的。当属性不能存放完数据,系统就会 在NTFS数据区域开辟一个空间存放,这个区域是以簇为单位的。Run List就是 记录这个数据区域的起始簇号和大小,一个Run List例子上所示。这个例如中, Run List的值为“12 41 47 03”,因为后面是00H,所以知道已经是结尾。如何解 析这个Run List呢?第一个字节是压缩字节,高位和低位相加,1+2=3,表示这 个Data Run信息占用三个字节,其中高位表示起始簇号占用多少个字节,低位 表示大小占用的字节数。在这里,起始簇号占用1个字节,值为03,大小占用2 个字节,值为4741。解析后,得到这个数据流起始簇号为3,大小为18241簇。
大小占用一个字节.值为40H
起始渡号占用三个字节,俺为40000H
虽然数据不一样,但是表达的意思是一样的。
分析90H属性
90H属性是索引根属性,该属性是实现NTFS的B+树索引的根节点,它总是 常驻属性。该属性的结构如下列图:
0000017540 0000017550 0000017560 0000017570 0000017580 0000017590 00000175A0 00000175B0 00000175C0 00000175D0 00000175E0 00000175F0
0000017600
0000017610
0000017620
0000017630
0000017640 0000017650 0000017660
81
BE
5B
8E
8F
78
CF
01
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
10
00
00
00
00
0A
01
73
00
72
00
2D
00
4C
00
61
00
74
00
6E
00
2D.
00
43
00
53
00
00
00
90
00
00
00
CO
00
00
ogJ
00
04
18
00
00
00
01
00
A0
00
00
00
20
00
00
00
24
00
49
00
33
00
30
00
30
00
00
00
01
OO
00
oo4
00
10
00
00
01
00
00
00
10
00
00
00
90
00
00
oo4
90
00
00
00
00
00
00
00
co
38
00
00
00
00
01
00
70
00
60
00
00
00
00
00
51
00
00
00
00
00
01
00
A2
C6
F3
E3
20
04
CA
01
15
7B
17
E4
20
04
CA
01
F0
1A
89
96
8F
78
CF
01
15
7B
17
E4
20
04
CA
01
00
10
00
00
00
00
00
00
00
0E
00
00
00
00
04
of
20
00
00
00
00
00
00
00
OF
00
74
00
69
00
70
00
72
00
65
00
73
00
78
00
2E
00
64
00
6C
00
6C
00
2E
00
6D
00
75
00
69
00
00
00
00
00
00
OO
00
00
10
00
00
00
02
00
00
00
FF
FF
FF
FF
82
79
47
11
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
%[l xl
属性标准头
£索引根
<£dS E { A E 索引项f 3 E tip
.dll
yyyyiyc
索引根的结构如表:
偏移
大小
〜
〜
标灌■性头
0X00
4
类型
0X04
4
排序规那么
0X08
4
索引项分酉[大小(字节数)
OXOC
1
每索引记录的篌颗
OXOD
3
埴充(到8字节)
索引头的结构如表:
0X004
0X04
0X02
0X0C
描述第二革那页的偏楚
索引项的总大小
索引顼的分配大小
标志
0X0D 3 填充(到8字节)索引项结构如表:
大小
描述
0X00
Q
文件的WT皎者号
0X08
2
索引顶大小
0X0A
2
文件名偏移
0X0C
2
索引标志
0X0E
2
填充(到8字节)
0X10
8
父目录的MFT文件参考号
oxie
O
文件创立时间
0X20
8
最后修改时间
0X28
g
文件记录最后修改时间
0X30
8
最后访问时间
0X38
8
文件分B2大小
0X40
8
文件实际大小
0X48
o w
文件^志
0X50
1
文件名长度(r)
0X51
1
文件名命名空间
0X52
2T
文件名
2F+0X52
P
填充(到8字节)
P+2F+0X52
p w
子节点索引缓存的VCR
分析AOH属性
A0属性是索引分配属性,也是一个索引的基本结构,存储着组成索引的B+ 树目录索引子节点的定位信息。它总是常驻属性。如下:是一个AOH属性的实 例。
0000004600
72 00 73 00 00 00 00 00
01 00
00 00 00 00 00 00
r s
0000004610
00 00 00 00 00 00 00 00
18 00
00 00 03 00 00 00
0000004620
02 00 00 00 00 00 00 00
A0 00
00 00 50 00 00 00
P
0000004630
01 04 40 00 00 00 08 00
00 00
00 00 00 00 00 00
@
0000004640
02 00 00 00 00 00 00 00
148 00
00 00 00 00 00 00
H
0000004650
00 30 00 00 00 00 00 00
00 30
00 00 00 00 00 00
00
0000004660
0。 30 00 00 00 00 00 00
24 00
49 00 33 00 30 00
0$13 0
0000004670
|21 03 59 471 00 F8 FF FF
| B0 00
00 00 28 00 00 00
! YG 0yy^ (
0000004680
00 04 18 00 00 00 07 00
08 00
00 00 20 00 00 00
0000004690
24 00 49 00 33 00 30 00
07 00
00 00 00 00 00 00
$13 0
00000046A0
00 01 00 00 68 00 00 00
00 09
18 00 00 00 09 00
h
00000046B0
38 00 00 00 30 00 00 00
24 00
54 00 58 00 46 00
80$ T X F
00000046C0
5F 00 44 00 41 00 54 00
41 00
00 00 00 00 00 00
_ D A T A
根据上图AOH属性的“Run List”可以找到索引区域,偏移到索引区域所在的簇, 如下列图: 起始簇:18265簇大小:3
起始扇区号=该分区的其实扇区+簇号*每个簇的扇区数也就是64+ 18265 * 8 = 146124
0004759000
0004759010
0004759020
00047S9030
0004759040
00047S9050
0004759060
0004759070
0004759080
0004759090
00047S90A0
00047590B0
00047S90C0
00047590D0
00047590E0
00047590F0
0004759100
0004759110
0004759120
0004759130
0004759140
0004759150
0004759160
0004759170
0004759180
0004759190
00047591A0
00047591B0
00047591C0
00047591D0
00047591E0
00047591F0
49 4E 44 58 28 00 09 00
00 00 00 00 00 00 00 00
04 5B 02 00 00 00
I
:NDX( j [
28 00
00 00 40 OE 00 00
* w
标准索引头
E8 0F 00 00 00 00 00 00
20 05
CF 01 CF 01 00 ocT
00 00 61 00 00 00 CA 01 00 00 00 00 00 00 00 00
a E
3F 66 02 00 00 00 10 00 68 00 58 00 00 00 00 00 05 00 00 00 00 00 05 00 D3 10 87 E6 38 AD CF 01 AD A8 7F 77 FF BA CF 01 AD A8 7F 77 FF BA CF 01^ AD AR 7F 77 FF RA OF flfl fiA nn OH AO API flfi Afi
>fh X
6 Iae8-I
<=
索引项①
1
00 00 00 00 00 00 00 00
OB 01 24 00 33 00 36 00
06 00 00 10 00 00 00 00
30 00 53 00 65 00 63 00
$ 3 6 0 S e c
74 00 69 00 6F 00 6E 00
3F 66 02 00 00 00 10 00
t i o n ?f
68 00 52 00 00 00 00 00
05 00 00 00 00 00 05 00
h
i R
9 f
91
D3 1087E638ADCF01ADA87F77FFBACF01
AD A87F77FFBACF01ADA87F77FFBACF0?
00 000000000000000000000000000000
06 000010000000000802240033003600
30 00530045007E003100000000000100
卜
索引项②1
C
$36
)S E ~ 1 h R
04000000000004006800520000000000
0500000000000500600C4EB6DI78CF01
600C4EB6DI78CF01600C4EB6DI78CF01^
60OC4EB6DI78CF010010000000000000
*
索引项③
Ki
00 OA 00 00 00 00 00 00
08 03 24 00 41 00 74 00
■
06 00 00 00 00 00 00 00
74 00 72 00 44 00 65 00
$ A t t r D
e
66 00 00 00 00 00 01 00 |
08 00 00 00 00 00 08 00
f
68 00 52 00 00 00 00 00
05 00 00 00 00 00 05 00
i R
60OC4EB6DI78CF0160OC4EB6DI78CF01.
60OC4EB6DI78CF0160OC4EB6DI78CF01
00000000000000000000000000000000
06000000000000000803240042006100
640043006C0075007300000000000700
,
索引项④
d
$ B a
I C 1 u s
06 00 00 00 00 00 06 00 60 00 50 00 00 00 00 00
05 00 00 00 00 00 05 00 60 OC 4E B6 DI 78 20 05
、P
、N尔x
对了,上面的偏移0x28还要加上0x18 = 0x40.
标准索引头的解释如下:
偏移
大小
描述
0X00
4
总是“INDX”
0X04
2
更新序列号的偏移
0X0€
2 ]
更新序列号与更新数组以字为单位的大小(S)
0X08
8
日志文件序列后
0X10
8
本索引缓存在索引分配中的VCN
:XL =
0X1C
4 r———q
4
素引项的偏移
索引项大小
0X20
4
索引项分配大小
0X24
1
如果不是叶节点,H b表示还有子节点
0X25
3
用。填充
0X28
2
更新阚
0X2A
2S-2
更新序列数组
索引项的解释如下:
偏移
大小
1ft
0X00
O
文件的»n参考号
0X08
2
索引项大小
0X0A
2
文件名偏移
OXOC
2
索引标志
OXOE
2
填充《到8字节)
0X10
8
父目录的HPT文件卷考号
0X18
8
文件蝌时间
0X20
O U
最后修改时间
0X2 S
2
文件记录最后修改时间
0X30
Q
最后访问时间
0X38
8
文件分d大小
0X40
8
文件实际大小
0X48
8
文件标志
0X50
1
文件名长度(F)
0X51
1
文件名命名空间
0X52
2F
文件名
2F+0X52
P
填充(到8字节)
P+2F+0X52
□
子节点索引缓存的VCN
到此一些常用属性基本介绍的差不多了。
下面来说下遍历一个分区下面文件列表的思路:
1、定位DBR,通过DBR可以得知“$MFT”的起始簇号及簇的大小。
2、定位畤MFT”,找到畤MFT”后,在其中寻找根目录的文件记录,一般在5号 文件记录。
3、在90H属性中得到B+树索引的根节点文件信息,重点在A0属性上。通过属 性中的“Run List”定位到其数据流。
4、从“Run List”定位到起始簇后,再分析索引项可以得到文件名等信息。
5、从索引项中可以获取“$MFT”的参考号,然后进入到“$MFT”找到对应的文件 记录。
6、然后再根据80H属性中的数据流就可以找到文件真正的数据了。
序 号
元文件
功 能
0
SMFT
主文件表本身.比施个文件的*引
1
SMFTMirr
主文件表的储分彼像
2
$LogFile
事务型日志文件
3
$ Volume
卷文件,记录赞标等信息
4
SAttrDef
M性定义列表文件
5
$Roo(
根日录文件.管理根目录
6
SBitmap
位图文件.记录了分区中假的使用情况
7
$Boo<
用导文",记录r用于系统引导的败搦情况
8
SBadClus
坏族列表文件
9
SQuota (NTFS4)
在早期的Windows NT系统中此文件为做我此事信息
10
SSecurc
平安文件
11
SUpCase
大小写字符”换我文件
12
$Exiend meudaui directory
V展元数据目呆
13
$Extend\$Reparse
重制折点文件
14
$Extend\SUMiJml
加密日志文件—-_
15
SExterxMQuou
配糊忤理文件一- 一
16
$Excend\$Objld
对象ID文件~一
首先找到该分区的起始扇区,具体可以参考MBR分区结构、DPT分区表、EBR 扩展引导这篇文章。
二、分析$Boot文件$Boot元文件由分区的第一个扇区(既DBR)和后面的15个扇区(既NTLDR 区域)组成,其中DBR由“跳转指令,“OEM代号”、“BPB”、"引导程序”和“结 束标志”组成,这里和FAT32文件系统的DBR一样。下列图是一个NTFS文件系 统完整的DBRo
Offset
Q
1
3
4
5
6
7
8
9
10
11
12
13
14
15
Al
0000000000C
EB
52
90||4E
54
46
53
20
20
20
20|
1oo
02
08
00
00
eR NTFS
00
00
00
00
00
F3
00
00
3F
00
FF
00
3F
00
00
00
o y y?
00
00
00
00
80
00
80
00
FF
33
80
oc
00
00
00
奥
BPB k : 1
03
00
00
00
00
00
00
00
80
57
85
00
00
00
00
00
__iwi
F6
00
00
00
01
00
on
00
R8
11
?A
oc
11
?A
oc
d
• •
00
00
00
00
FA
33
co
8E
DO
BC
00
7C
FB
68
CO
07
u3Al£)M |OhA
IF
IE
68
66
00
CB
88
16
0E
00
66
81
3E
03
00
4E
hf El f > N
54
46
53
75
15
B4
41
BB
AA
55
CD
13
72
OC
81
FB
TFSur u
55
AA
75
06
F7
Cl
01
00
75
03
E9
DD
00
IE
83
EC
U«u * uli
18
68
1A
00
B4
48
8A
16
0E
00
8B
F4
16
IF
CD
13
h HI 16 I
9F
83
C4
18
9E
58
IF
72
El
3B
06
0B
00
75
DB
A3
1
IA IX ra; utl£
OF
00
Cl
2E
OF
00
04
IE
5A
33
DB
B9
00
20
2B
C8
A.Z3U1
66
FF
06
11
00
03
16
OF
00
8E
C2
FF
06
16
00
E8
f
ylAy e
4B
00
2B
C8
77
EF
0E
68
30
10
CB
66
23
CO
75
2D
K
+Ewi hO Ef#Au-
66
81
FB
54
43
50
41
75
24
81
F9
02
01
72
IE
16
f
UTCPAuS u r
68
07
BB
16
68
70
0E
16
68
09
00
66
53
66
S3
66
h
» hp h fSfSf
55
16
16
16
68
B8
01
66
61
0E
07
CD
1A
33
CO
BF
U
h. fa I 3A,
28
10
B9
D8
OF
FC
F3
AA
E9
5F
01
90
90
66
60
常
J
引导程序
06
66
Al
11
00
66
03
06
IC
00
IE
66
68
00
ocT
00
66
50
06
53
68
01
00
68
10
00
B4
42
8A
16
OE
fP Sh h Bl
0000000032C
00
16
IF
8B
F4
CD
13
66
59
SB
5A
66
59
66
59
IF
161 fY[ZfYfY
OF
82
16
00
66
FF
06
11
00
03
16
OF
00
8E
C2
FF
1 fylAy
0E
16
00
75
BC
07
IF
66
61
C3
A0
F8
01
E8
09
00
uM faA 0 6
A0
FB
01
E8
03
00
F4
EB
FD
B4
01
8B
F0
AC
3C
00
u e oey* l3-><
74
09
B4
0E
BB
07
00
CD
10
EB
F2
C3
0D
OA
41
20
t
・ 》 I edA A
64
69
73
6B
20
72
65
61
64
20
65
72
72
6F
72
20
disk read error
6F
63
63
75
72
72
65
64
00
0D
0A
42
4F
4F
54
4D
occurred BOOTM
47
52
20
69
73
20
6D
69
73
73
69
6E
67
00
OD
OA
GR is missing
42
4F
4F
54
4D
47
52
20
69
73
20
63
6F
6D
70
72
BOOTMGR is compr
65
73
73
65
64
00
0D
0A
50
72
65
73
73
20
43
74
二n„一 _ _
72
6C
2B
41
6C
74
2B
44
65
6C
20
74
6F
20
72
6
H结束标心1 re
73
74
61
72
74
0D
0A
00
8C
A9
BE
D6
00
00 |55
AA
staff IBMU U 叁
下面我们分析一下DBR中的各参数
EB 58 90:(跳转指令)本身占2字节它将程序执行流程跳转到引导程序处。
“EB 58 90〃清楚地指明了 OS引导代码的偏移位置。jump 52H加上跳转指令所需 的位移量,即开始于0x55。
4E 54 46 53 20 20 20 20:(OEM代号)这局部占8字节,其内容由创立该文件系统 的OEM厂商具体安排。为“NTFS”。
BPB: NTFS文件系统的BPB从DBR的第12个字节开始,占用73字节,记录 了有关该文件系统的重要信息,下表中的内容包含了“跳转指令”、“OEM代号” 以及“BPB”的参数。
offMri
长度(字节》
含义、
00-0211
3
指令EBS2 90
03-OAH
8
文件系统的ASHC码表示影式NTFS
0B0CII
2
府个扇区的冰节总数.一般为0002H
0DII
1
口大小
oE-oni
2
保存南区
I0-I2H
3
总为0
I3H
1
不使用
14-15H
2
介质描述,硬盘为F8
16-1711
2
总为0
I8-I9H
2
府破头病区数
IA-IBH
2
能柱而破头数
ic-ini
4
含诙区皎,.从MBRf.DBR的国区启金)
2O-23H
4
不使用
24-2711
4
不使用,,总为80 0080 00
2A-2HI
K
南区总数,即分区大小
30-37H
*
$MFT的开始陕。
n
SMFTmlrr的开始就8
404JH
4
每个MFT记录的版数
44-47H
4
姆索引的皴效
4JMFH
8
分区的运纲序列9
对照上面的BPB分析如下:
02 00:每个扇区512个字节08:每个簇8个扇区
00 00:保存扇区为000 00 00:为 0
00:不使用F8:为硬盘
00 00:为 0()0 3F:每磁道63个扇区
00 FF:每柱面255个磁头 00 00 00 3F:隐藏扇区数(MBR到DBR)
00 00 00 00:不使用80 00 80 00:不使用
00 00 00 00 0C 80 33 FF:扇区总数 20972851100 00 00 00 00 00 00 03: $MFT 的开始簇号
00 00 00 00 00 85
展开阅读全文