解析NTFS底层磁盘结构Word格式文档下载.docx

上传人:b****2 文档编号:15307761 上传时间:2022-10-29 格式:DOCX 页数:15 大小:30.92KB
下载 相关 举报
解析NTFS底层磁盘结构Word格式文档下载.docx_第1页
第1页 / 共15页
解析NTFS底层磁盘结构Word格式文档下载.docx_第2页
第2页 / 共15页
解析NTFS底层磁盘结构Word格式文档下载.docx_第3页
第3页 / 共15页
解析NTFS底层磁盘结构Word格式文档下载.docx_第4页
第4页 / 共15页
解析NTFS底层磁盘结构Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

解析NTFS底层磁盘结构Word格式文档下载.docx

《解析NTFS底层磁盘结构Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《解析NTFS底层磁盘结构Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

解析NTFS底层磁盘结构Word格式文档下载.docx

表1 

卷与簇的关系

从上面可以看出,也就是说不管驱动器多大NTFS簇的大小不会超过4KB。

1.0.2 

NTFS的基本数据结构

NTFS的数据大体上可分为4个部分

(1) 

Partitionbootsector(引导扇区,又称BPB),此部分为所有磁盘格式都共有,占用一个扇区,但是具体的内容当然各不相同(见表3)。

(2) 

MasterFileTable(主文件列表,MFT),它是对卷上所有文件的记录,每一个文件对应一个记录项,理论上占用该卷12%的空间。

(3) 

Systemfiles(系统文件),NTFS系统一共有16个系统文件,和8个保留文件。

(4) 

Filearea(数据区),留给用户的空间。

Partitionbootsector

引导扇区 

MasterFileTable

主文件列表 

Systemfiles

系统文件 

Filearea

用户文件区(数据区) 

表2 

NTFS的磁盘分配情况

1.0.3NTFS中关于目录的说明

NTFS中目录也是以文件的形式存在的。

因此,每一个目录也可以看作一个文件。

如果您熟悉FAT,那么此时您可能会觉得很别扭,因为在FAT中,文件是以目录-文件的树型结构联系起来的。

但是,您必须相信的是,NTFS将会提供比搜索树更快的读写方式。

1.1引导扇区

字节偏移 

长度(字节) 

常用值 

意义 

0X00 

0XEB5290 

JMP指令 

0X03 

NTFS 

文件系统ID 

0X0B 

0X0002 

每扇区字节数 

0X0D 

0X08 

每簇扇区数 

0X0E 

0X0000 

保留扇区 

0X10 

0X000000 

总为0 

0X13 

NTFS未使用,为0 

0X15 

0XF8 

介质描述 

0X16 

0X18 

0X3F00 

每磁道扇区数 

0X1A 

0XFF00 

磁头数 

0X1C 

0X3F000000 

隐含扇区 

0X20 

0X00000000 

0X24 

0X80008000 

0X28 

0X4AF57F0000000000 

扇区总数 

0X30 

0X0400000000000000 

$MFT的逻辑簇号 

0X38 

0X54FF070000000000 

$MFTMirr的逻辑簇号 

0X40 

0XF6000000 

每MFT记录簇数 

0X44 

0X0100000 

每索引簇数 

0X48 

0X14A51B74C91B741C 

卷标 

0X50 

校验和 

0X54 

430 

略 

引导代码 

0X1FE 

0X55AA 

签名 

表3 

NTFS引导扇区说明

1.2MFT(主文件表)

MFT是一个对应的数据库,由一系列的文件记录组成。

卷中每一个文件都有一个文件记录(对于大型文件还可能有多个记录与之相对应)。

主文件表本身也有它自己的文件记录。

如果您还不胜了解,那么我们来打个比喻。

假设一个班有30个人,老师那里有一本花名册,记录了每个人的名字,年龄,每天出勤的情况和科目成绩等等。

把每个人看做每一个文件,那么那本花名册就是这里的MFT。

当然,事实往往是复杂而多变的,MFT中包含文件的哪些信息?

这些信息又是如何关联的?

这些问题,我们会一个个解决。

现在首先对MFT做几点必要的说明:

(1)实际上,MFT自身也是一个文件,因此,主文件列表的第一个记录就是它自身。

所以,刚才的例子其实不太贴切,因为事实上,花名册也是人,那么好吧,我们假设这本花名册在老师的脑子里。

这样,您可以知道,既然老师也是人,那么其实老师也是一个文件。

(2)MFT的每个记录都有一个编号,这里我们称它为ID号。

这个ID从0开始。

我们知道MFT自身是NTFS系统的第一个文件,所以文件$MFT的ID号为0。

(3)$MFT和其他23个文件一起(共24个),组成所谓的“Metafiles”(元文件,也是之前提到的Systemfiles,系统文件)。

这24个文件中,前16(ID为0-15)个文件是固定的,剩下的8个文件为保留文件。

我们可以假设,这16个系统文件为此班的任课老师,因为虽然他们也是人,但是属性跟普通的同学不一样,他们管理着整个卷的活动方式,正如老师们管理着整个班级一样。

(4)用户的文件(也包括目录)的MFT中的ID号从24开始排。

(5)用户每添加一个文件ID号加1,当某文件被删除时,与之对应的MFT记录将被空出来,如果此时再次添加文件,系统会优先填充ID小的空位。

正如,大家上课的时候都会抢前排的位子坐,但是坐定之后就不能换位子了。

(6)无论簇的大小,文件记录大小都是1K,老师脑中的花名册对每个人都是公平的。

(7)理论上$MFT在卷中的分配空间(占12%)。

(8)逻辑上,$MFT在卷中会占用一块连续的空间,但实际情况$MFT可能会被分散在磁盘的几个不同的区域。

甚至,可能在元文件的部分就被拆分开。

据笔者分析,这些情况的发生可能由于卷上的文件不断增加,最先开辟的$MFT文件已经用完,系统会再次开辟空间存放文件记录。

另一种情况是,卷是由FAT或者其他格式转化而来,当卷空间不足的时候,也可能将MFT分散存储。

1.2.1MFT中的元文件(固定)

以下是元文件的列表。

其中ID为0-15的文件为系统文件,用户文件从第24个MFT记录开始排。

序号(ID) 

元文件 

功能 

$MFT 

主文件列表本身 

$MFTMirr 

主文件表的部分镜像 

$LogFile 

日志文件 

$Volume 

卷文件 

$AttrDef 

属性定义列表 

$Root 

根目录 

$Bitmap 

位图文件 

$Boot 

引导文件 

$BadClus 

坏簇文件 

$Secure 

安全文件 

10 

$UpCase 

大写文件 

11-15 

$Extend 

扩展文件(一共5个文件) 

16-23 

保留 

表4 

NTFS元文件

1.2.2NTFS中MFT的备份

在NTFS中,因其前16个文件的重要性,对它们的MFT记录在文件区有一个备份。

如图:

图1 

MFT的备份

1.2.3NTFS中的$BITMAP(位图)文件

在元文件中,除了$MFT文件还有一个位图文件十分重要。

文件$Bitmap标识的是该卷中簇的占用情况。

它用一位代表一簇。

为0代表此簇空闲,为1代表此簇已使用。

这样可以更合理的分配磁盘空间。

当文件被删除,它所占用的簇对应的为会被清空(置0)。

NTFS通过这个文件管理卷的使用情况。

二、文件记录(MFT记录)详解

相信对NTFS您已经有一个大致的了解,但是对老师脑中的花名册是不是充满了好奇和期待呢?

简单的说,花名册清楚描述了班里每一个人的状况。

描述的每一个项目在这里被叫做属性。

NTFS将文件作为属性、属性值的集合来处理。

每个属性由单个的流(stream)组成,即简单的字符排列。

严格的说,NTFS并不对文件进行操作,而只对属性流进行读写。

可以想想的是,花名册的大小有限(因为花名册是用来查询的),而文件的属性可能很大(对于那些调皮的学生,老师总要花费更多的心血),因此,当文件属性太大的时候,NTFS系统会将该属性值存放到卷中某个位置,而花名册中的属性只会记录该属性索引到外部的地址,以及索引区的大小。

这种“装不下”的属性又被称为文件的属性又分为“非常驻属性”。

与之相反,能够保存在“花名册”中的属性又叫做“常驻属性”。

2.1文件的存储

我想我已经清楚的向您展示了MFT的全貌,再来回顾一下,文件$MFT本身是一个文件(老师也是人),但是它亦是卷上每个文件的记录集合(花名册),每个文件拥有1K的空间(老师是公平的),用来记录文件属性,包括常驻属性和非常驻属性。

那么您现在是不是有老大一个问号,我一直在强调文件的记录,那么文件的真实数据是如何存放的呢?

想要知道这一点,就要请您耐心的看完下面对MFT属性的介绍。

它将向您展示,这本花名册的精妙之处。

2.2文件的MFT属性介绍

MFT的内容由不同的属性组合而成。

以下是一个真实的MFT记录。

现在,我们来剖析一下它的属性内容。

表5是这MFT记录的属性列表。

对于每一个MFT记录来说,都会包含几种属性,但不可能包含所有的属性。

老师当然根据学生不同的特点设计花名册的属性。

属性号 

属性名 

属性描述 

$STANDRD_INFORMATION(标准属性) 

包括基本文件属性,如只读、存档;

时间标记,如文件的创建时间和最近一次修改的时间;

有多少目录指向本文件 

$ATTRIBUTE_LIST(属性列表) 

当一个文件需要使用多个MFT文件记录时,用来表示该文件的属性列表 

$FILE_NAME(文件名属性) 

这是以Unicode字符表示的,由于MS-DOS不能正确识别Win32子系统创建的文件名,当Win32子系统创建一个文件名时,MTFS会自动生成一个备用的MS-DOS文件名,所以一个文件可以有多种文件名属性。

$VOLUME_VERSION(卷版本) 

卷版本号 

$SECURITY_DEscriptOR(安全描述符) 

这是为了向后兼容而被保留的,主要用于保护文件以防止未授权访问。

0X60 

$VOLUME_NAME(卷名) 

卷名称或卷标识 

0X70 

$VOLUME_INFORMATION(卷信息) 

卷信息 

0X80 

$DATA(数据属性) 

这是文件的内容 

0X90 

$INDEX_ROOT(索引根属性) 

索引根 

0XA0 

$INDEX_ALLOCATION(索引分配属性) 

索引分配 

0XB0 

$BITMAP(位图属性) 

位图 

0XC0 

$SYMBOLIC_LINK(符号链接) 

符号链接 

0XD0 

$EA_INFORMATION(EA信息) 

扩充属性信息:

主要为与OS/2兼容 

0XE0 

$EA 

扩充属性:

0X100 

$OBJECT_ID 

对象ID:

一个具有64个字节的标识符,其中最低的16个字节对卷来说是唯一的 

表5NTFS卷上常用属性说明

以下是一个实际的MFT记录,我们通过对它的分析向您展示MFT记录的属性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1