全面了解NTFS文件系统结构

上传人:s9****2 文档编号:489384450 上传时间:2023-07-22 格式:DOCX 页数:11 大小:26.11KB
返回 下载 相关 举报
全面了解NTFS文件系统结构_第1页
第1页 / 共11页
全面了解NTFS文件系统结构_第2页
第2页 / 共11页
全面了解NTFS文件系统结构_第3页
第3页 / 共11页
全面了解NTFS文件系统结构_第4页
第4页 / 共11页
全面了解NTFS文件系统结构_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《全面了解NTFS文件系统结构》由会员分享,可在线阅读,更多相关《全面了解NTFS文件系统结构(11页珍藏版)》请在金锄头文库上搜索。

1、解读NTFSNTFSg-个比FAT复杂的多的文件系统,咱们一路尽力来把它完整的解读出 来NTFS勺引导扇区也是完成引导和概念分区参数,和FAT分区不同,FAT分区的BOOTS录正常,就显示分区没有错误,即使文件不正确,而NTF朋区的BOOTf是分区的充分条件,它要求必需MFT的系统记录如$ MF邙正常该分区才能正 常访问。其BPB参数如下表所示。字节偏移长度经常使用值意义0x0B字0x0002每扇区字节数0x0D字节0x08每簇扇区数0x0E字0x0000保留扇区0x10 3 字节 0x000000 总为 00x13字0x0000 NTFS未禾I用,为00x15字节0xF8介质描述0x16 字

2、 0x0000 总为 00x18字0x3F00每磁盘扇区数0x1A字0xFF00磁头数0x1C双字0x3F000000隐含扇区0x20双字0x00000000 NTFS未禾用,为00x28 8 字节 0x4AF57F0000000000 扇区总数0x30 8字节0x00000000 $ MFT的逻辑簇号0x38 8 字节 0x54FF0000 $ MFTMirr 的逻辑簇号0x40双字0xF6000000每MFTE录簇数0x44双字0x01000000每索引簇数0x48 8 字节 0x14A51B74C91B741cs标0x50双字0x00000000查验和MFT+的文件记录大小一样是固定的,

3、不管簇的大小是多少,均为 1KR文件记 录在MFM件记录数组中物理上是持续的,且从 0开始编号,因此,NTFS预 概念文件系统。MFTR供系统本身组织、架构文件系统利用,这在 NTFS称为元数据(metadata,是存储在卷上支持文件系统格式治理的数据。它不能被应用 程序访问,只能为系统提供效劳)。其中最大体的前16个记录是操作系统利用的超级重要的元数据文件。这些元数据文件的名字都以“$”开始,因此是隐藏 文件,在 Windows 2000/XP中不能利用dir命令(乃至加上/ah参数)像一般 文件一样列出。在 WINHE刈带有,用此工具能够显示这些记录与文件的对应关 系。这些元数据文件是系统

4、驱动程序治理卷所必需的,Windows 2000/XP给每一个分区给予一个盘符并非表示该分区包括有 Windows 2000/XP能够识别的文件系 统格式。若是主文件表损坏,那么该分区在 Windows 2000/XP下是无法读取的。 为了使该分区能够在Windows 2000/XP下能被识别,就必需第一成立 Window s 2000/XP能够识别的文件系统格式即主文件表,那个进程可通太高级格式化 该分区来完成。Windows以簇号来定位文件在磁盘上的存储位置,在 FAT格式的 文件系统中,有关簇号的指针包括在 FAT表中,在NTFS中,有关簇号的指针那 么包括在$ MFTR $MFTMir

5、r文件中。NTFSPJ用逻辑簇号(LogicalCluster Number LCN 和虚拟簇号(Virtual Cluster Number VCN来对簇进行定位。LCN1对整个卷中所有的簇从头至尾 所进行的简单编号。用卷因子乘以LCN NTF例能够够取得卷上的物理字节偏移 量,从而取得物理磁盘地址。VCNBB么是对属于特定文件的簇从头至尾进行编号, 以便于引用文件中的数据。 VCNfg够映射成LCN ,而没必要要求在物理上持续。在NTFS卷上,跟从在BPB后的数据字段形成一个扩展BPB。这些字段中的数据使得 Ntldr能够在启动进程中找到主文件表MFT (Master File Tabl

6、)。在NTFS卷上,MFT并非象在FAT 16卷和FAT 32卷上一样,被放在一个预概念的扇区中。由于那个缘故,若是在 MTF 的正常位置中有坏扇区的话,就能够够把MFT移到别的位置。可是,若是该数据被破坏,就找不到MFT的位置,Windows 2000假设该卷没有被格式化。因此,若是一个ntfs的卷提示未格式化, 可能并未破坏 MFT,依据BPB的各字段的意思是能 够重建BPB的。NTFS的缺省簇的大小卷大小每簇的扇区缺省的簇大小小于等于512MB 1 512字节 513MB1024MB(1GB) 2 1024 字节(1KB)1025MB2048MB(2GB) 4 2048 字节(2KB)大

7、于等于2049MB 8 4KB从上面能够看出,也确实是说不管驱动器多大NTFS簇的大小可不能超过 4KBNTFS文档:文档属性概念每一个文档属性都由以下部份组成:一个由该属性的实际值组成的被称为流”的重要的字节序列,元数据可访问该流。文件中的每一个文件属性都可能会有一个名字:在这种情形下,在命令行方式下能够通过语法 文件名:属性名”来访问该流(这也是文件名中不能利用的缘故)。Windows NT®利用以下在元数据文件$ AttrDef中预概念的文件属性列表(一样会有一个未命名人,为缺省流,未命名人只能有一个,而命名人能够有多个,NTFS支持多流文件):10 $ STANDARD_INF

8、ORMATION(标准信息)20 $ ATTRIBUTE_LIST(属性歹U表)30 $ FILE_NAME(文件名)40 $ VOLUME_VERSION(卷版本)50 $ SECURITY_DEscriptOR(平安描述符)60 $ VOLUME_NAME(卷名)70 $ VOLUME_INFORMATION(卷信息)80 $ DATA (数据)90 $ INDEX_ROOT (索弓I根)A0 $ INDEX_ALLOCATION(索引分派)B0 $ BITMAP (位图)C0 $ SYMBOLIC_LINK (符号链接)D0 $ EA_INFORMATION (?信息)E0 EA属性流结

9、构每一个文件属性都分为两部份:尽管这两部份属性在文件记录的属性列表中以倒序方式进行记录,可是为了更好的明白得它,让咱们按下面的顺序进行介绍:内容部份:它的结构老是以属性名开始(N字节长),在属性名以后概念该属性是不是为常驻属性。当文件属性的数据流就存储在其属性名后时,它确实是常驻属性,如此,关于那些流较小且可不能增加的文件属性就能够够提供更佳的访问次数。若是一个文件属性是超级驻的,那么其流就存储流的实际大小:文件属性流在紧缩前的大小。流的初始化大小:这是文件属性流的紧缩后的大小(老是低于分派大小)。若是此流未被紧缩,确实是它的实际大小。 注意: 常驻文件属性从不被紧缩(也没有紧缩引擎号域),因

10、为它的流过小。信息是足够的:名字长+内容部份的偏移值 =到流的偏移值(常驻属性)或到运行列表的偏移值 (超级驻悔改)。NTFS文件系统结构分析在NTFS文件系统中,文件存取是按簇进行分派,一个簇必需是物理扇区的整数倍,而且老是2的整数次方。NTFS文件系统并非去关切什么是扇区,也可不能去关切扇区到底有多大(如是不是512字节),而簇大小在利用格式化程序时那么会由格式化程序依照卷大小自动 的进行分派。文件通过主文件表(MFT)来确信其在磁盘上的存储位置。主文件表是一个对应的数据库, 由一系列的文件记录组成-卷中每一个文件都有一个文件记录(关于大型文件还可能有多个 记录与之相对应)。主文件表本身也

11、有它自己的文件记录。NTFS卷上的每一个文件都有一个64位(bit)称为文件引用号(File Reference Number,也称文件索引号)的唯一标识。文件引用号由两部份组成:一是文件号,二是文件顺序号。文 件号为48位,对应于该文件在 MFT中的位置。文件顺序号随着每次文件记录的重用而增 加,这是为NTFS进行内部一致性检查而设计的。NTFS 利用逻辑簇号(Logical Cluster Number , LCN )和虚拟簇号(Virtual Cluster Number , VCN )来进行簇的定位。LCN是对整个卷中所有的簇从头至尾所进行的简单编号。卷因子 乘以LCN , NTFS就

12、能够够取得卷上的物理字节偏移量,从而取得物理磁盘地址。VCN那么是对属于特定文件的簇从头至尾进行编号,以便于引用文件中的数据。VCN能够映射成LCN ,而没必要要求在物理上持续。NTFS的目录只是一个简单的文件名和文件引用号的索引,若是目录的属性列表小于一个记录的长度,那么该目录的所有信息都存储在主文件表的记录中,关于大于记录的目录那么利用B+树进行治理。主文件表中的大体文件记录中有一个指针指向一个存储超级驻索引缓冲-包括该目录下所有下一级子目录和文件的外部簇,而B+树结构便于大型目录中文件和子目录的快速查找。在NTFS中,所有存储在卷上的数据都包括在文件中,包括用来定位和获取文件的数据结构,

13、引导程序和记录那个卷的记录( NTFS元数据)的位图,这表现了NTFS的原那么:磁盘上的任何事物都为文件。在文件中存储一切使得文件系统很容易定位和保护数据,而在NTFS中,卷中所有寄存的数据均在一个叫做MFT的文件记录数组中,称为主文件表 (Master File Table), MFT是由高级格式化产生的。 而MFT那么由文件记录(File Record)数组 组成。File Record的大小一样是固定的,不管簇的大小是多少,均为 1KB ,那个概念相当于Linux中的inode (i节点)。File Record在MFT文件记录数组中物理上是持续的,且从 0开始编号。MFT仅供系统本身组

14、织、架构文件系统利用,这在NTFS中称为元数据(metadata)o 其中最大体的前16个记录是操作系统利用的超级重要的元数据文件。这些 NTFS主文件表 的重要的元数据文件都是以$(美元符号)开始的名字,因此是隐藏文件,在 Windows 2000中不能利用 dir命令(乃至加上/ah参数)像一般文件一样列出这些元数据文件。事实上 File System Driver保护了一个系统变量 NTFS Protect System Files用于隐藏这些元数据。可是微软公司也提供了一个 OEM TOOL,叫做,用此工具能够转储 NTFS主文件表的重 要的元数据文件(元数据:是存储在卷上支持文件系统

15、格式治理的数据。它不能被应用程序来访问,它只能为系统提供效劳),利用NFI显示结果如下:C:nfi C: |MORE而这些元数据文件文件是系统驱动程序装配卷所必需的,WINDOWS 2000给每一个分区给予一个盘符并非表示该分区包括有WINDOWS 2000能够识别的文件系统格式,若是一旦主文件表损坏,那么该分区在WINDOWS 2000下是无法读取的。为了使该分区能够在WINDOWS 2000下能被识别,也确实是必需第一成立WINDOWS 2000能够识别的文件系统格式即主文件表,这可通太高级格式化该分区来完成。众所周知,Windows以簇号来定位文件在磁盘存储的位置,在FAT格式的文件系统中有关簇号的指针是包括在FAT表中的,而在NTFS中有关簇号的指针是包括在$MFT及$ MFTMirr文件中的。NTFS元文件伴随着以上这些新增功能的是更多的用于寄存与功能相关的数据的元文件。最后,在下面的表中罗列出NTFS5中所有的元文件:每一个MFT记录都对应着不同的文件,若是一个文件有很多属性或是分散成很多碎片,就 极可能需要多个文件记录。这时,寄存其文件记录位置的第一个记录就叫做基文件记录(base file

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号