NTFS文件系统详解(三)之NTFS元文件解析

在NTFS中,所有存储在卷上的数据都包含在文件中,包括用来定位和获取文件的数据结构,引导程序和记录这个卷的记录(NTFS元数据)的位图,这体现了NTFS的原则:磁盘上的任何事物都为文件。在文件中存储一切使得文件系统很容易定位和维护数据,而在NTFS中,卷中所有存放的数据均在一个叫做MFT的文件记录数组中,称为主文件表(Master File Table),MFT是由高级格式化产生的。而MFT则由文件记录(File Record)数组构成。File Record的大小一般是固定的,不管簇的大小是多少,均为1KB,这个概念相当于Linux中的inode(i节点)。File Record在MFT文件记录数组中物理上是连续的,且从0开始编号。MFT仅供系统本身组织、架构文件系统使用,这在NTFS中称为元数据(metadata)。其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。这些NTFS主文件表的重要的元数据文件都是以$(美元符号)开始的名字,所以是隐藏文件,在Windows 2000中不能使用dir命令(甚至加上/ah参数)像普通文件一样列出这些元数据文件。实际上File System Driver(ntfs.sys)维护了一个系统变量NTFS Protect System Files用于隐藏这些元数据。但是微软公司也提供了一个OEM TOOL,叫做NFI.EXE,用此工具可以转储NTFS主文件表的重要的元数据文件(元数据:是存储在卷上支持文件系统格式管理的数据。它不能被应用程序来访问,它只能为系统提供服务)

我们第一步就是先找到MFT的位置,通过分区表,我们得到本分区的引导扇区所在的扇区号,就拿C盘分区来实践,通过上一节,我们得到C盘的引导扇区的扇区号是63,首先进到扇区号为63的扇区
这里写图片描述
然后根据下表对照
这里写图片描述

00 02 每个扇区512(200H)字节
08 每个簇占8扇区
00 00
00 00 00
00 00
F8 硬盘
00 00
3F 00 每磁头63扇区
FF 00 每柱面255磁头
3F 00 00 00 隐含扇区63
00 00 00 00
80 00 80 00
C0 FF BF 03 00 00 00 00 扇区总数62914496
00 00 0C 00 00 00 00 00 MFT开始簇号786432
10 00 00 00 00 00 00 00 MFTmirr开始簇号 16
F6 00 00 00 每个MFT占的簇数 246
01 00 00 00 每个索引占的簇数 1
B9 63 23 FC AA 23 FC B6 卷标

文件记录由两部分构成,一部分是文件记录头,另一部分是属性列表,最后结尾是四个“FF”。然后我们根

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值