NTFS文件系统
+ -

NTFS文件统MFT元文件

2021-07-01 274 0

磁盘分区在格式化成NTFS文件系统后,就为其创建了一个主的文件表MFT。当然格式化后,由于整个磁盘是空的,没有存储任何文件数据,所以在MFT中只存储了16个文件系统预置的元文件记录。这16个元文件记录存储在MFT的前16项。这16个文件如下:

MFT元文件
NTFS文件系统MFT每项大小为1024个字节即2个扇区,分为固定大小的MFT头和属性列表。

NTFS是以文件为单位进行管理的,故MFT分区也有一个文件名为”$MFT”,故其文件可按需要进行增加或缩小。MFT分区存储的是MFT项,也即$MFT文件中存储的是MFT项。为了提高磁盘的使用效率,MFT区一般会在文件系统格式化时会预分为整个文件系统的12.5%,且位于整个文件系统的中间靠前区域。

MFT项

MFT项的编号由0开始,并存储在MFT项的头部。

字节偏移 字数数 含 义
00~03 4 签名值,固定为”FILE”字符串的值”46494c45”。如果操作系统的磁盘检测程序发现此项存在错误,会将“FILE”改写为”BAAD”
04~05 2 更新序列号的偏移.WindowsXP及以后OS值为0x30
06~07 2 更新充列号的数组个数(每个数组占2个字节)。一般为0x03
08~0f 8 日志序列号(LSN)
10~11 2 序列号.当MFT项被增加或删除时,值加1
12~13 2 硬链接数,指有多少个文件名指向该MFT项
14~15 2 第一个属性的偏移地址。第一个属性起始于这个偏移字节值,其它属性跟在第一个属性后面。当到最后一个属性结束时,写入0FFFFFFFF,表示后面不再有属性值。
16~17 2 标志
00-已删除伯文件
01-文件
02-已删除目录
03-目录
18~1B 4 MFT项逻辑长度,即MFT项的内容实际长度
1C~1F 4 MFT项物理长度,即每个MFT项分配的长度,一般为1024字节即2扇区。
20~27 8 基本文件记录号索引,如果该MFT项为文件记录,则0,若不为文件记录,值为它的基本文件记录中偏移0X2C~0X2F处的文件记录号
28~29 2 下一属性ID。如要为文件增加属性值时,使用这个ID号。
2A~2B 2 边界,一般为00
2C~2F 4 MFT记录编号(从0开始),WindowsXP及以后OS使用
30~37 8 更新序列号数组即修正值数组
38~3FF 968 属性及修正值

下一MFT项的内容:

MFT项

NFTF引导扇区中0x30~0x37处的值为87296簇号
512 x 8 x 87296 = 357564416 即 0x15500000

0 篇笔记 写笔记

NTFS文件系统$MFT元文件
$MFT元文件就是整个MFT表。由于NTFS是以文件为单位进行管理的,故整个MFT区的名称可称为”$MFT”。在$MFT文件中,使用0号MFT项,用来描述整个$MFT文件,其内容如下:在NTFS文件系统建立时,$MFT的实际大小一般为32K,随着文件和目录的增加而增大,其中就是包含前16个元文件......
NTFS文件统MFT元文件
磁盘分区在格式化成NTFS文件系统后,就为其创建了一个主的文件表MFT。当然格式化后,由于整个磁盘是空的,没有存储任何文件数据,所以在MFT中只存储了16个文件系统预置的元文件记录。这16个元文件记录存储在MFT的前16项。这16个文件如下:NTFS文件系统MFT每项大小为1024个字节即2个扇区......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!