硬盘以及分区结构简介.doc

上传人:PIYPING 文档编号:10806206 上传时间:2021-06-04 格式:DOC 页数:19 大小:301KB
返回 下载 相关 举报
硬盘以及分区结构简介.doc_第1页
第1页 / 共19页
硬盘以及分区结构简介.doc_第2页
第2页 / 共19页
硬盘以及分区结构简介.doc_第3页
第3页 / 共19页
硬盘以及分区结构简介.doc_第4页
第4页 / 共19页
硬盘以及分区结构简介.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《硬盘以及分区结构简介.doc》由会员分享,可在线阅读,更多相关《硬盘以及分区结构简介.doc(19页珍藏版)》请在三一文库上搜索。

1、 研发部资料 硬盘结构及其分区简介(版本/日期)目 录背景知识简介:硬盘结构简介:基本INT 13H 调用简介:扩展INT 13H 调用简介:磁盘分区简介:BOOTSECTOR简介分区表结构简介扩展分区简介硬盘分区类型如何找到一个逻辑分区逻辑分区简介:FAT16 FAT32 NTFS逻辑分区BOOTSECTORFAT16 FAT32逻辑分区组成结构NTFS逻辑分区组成结构背景知识简介:硬盘结构简介: 很久以前, 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数. 由此人们定义硬盘参数为(CHS)参数,即磁头数(Heads),柱面数(Cy

2、linders),扇区数(Sectors),以及相应的寻址方式。其中:磁头数表示硬盘总共有几个磁头,也就是有几面盘片,最大为255 (用8个二进制位存储);柱面数表示硬盘每一面盘片上有几条磁道, 最大为1023(用10个二进制位存储);扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为63 (用6个二进制位存储);每个扇区一般是 512个字节, 理论上讲这不是必须的, 但好象没有取别的值的;所以磁盘最大容量为:255 * 1023 * 63 * 512 / 1048576 = 8024 MB ( 1M = 1048576 Bytes )或硬盘厂商常用的单位:255 * 1023 *

3、 63 * 512 / 1000000 = 8414 MB ( 1M = 1000000 Bytes )在 CHS 寻址方式中, 磁头, 柱面, 扇区的取值范围分别为 0 到 Heads 1,0 到 Cylinders - 1,1 到 Sectors (注意是从 1 开始)在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间 (与软盘一样)。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多。采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。为了与使用3D寻址

4、的老软件兼容在硬盘控制器内部安装了一个地址翻译器。由它负责将老式3D参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有多种选择的原因 (不同的工作模式, 对应不同的3D参数, 如 LBA, LARGE, NORMAL)。基本INT 13H 调用简介:BIOS INT 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用, 它可以完成磁盘(包括硬盘和软盘)的复位, 读写, 校验, 定位, 诊断, 格式化等功能.它使用的就是 CHS 寻址方式, 因此最大识能访问 8 GB 左右的硬盘INT13H调用中 AH=功能号AL=扇区数CH,CL=磁头号,扇区号DH,DL=磁头号,驱动器号ES

5、:BX=数据缓冲区地址功能号AH :0软盘系统复位 1读软盘状态 只有AH有效 返回AL=状态字节2读磁盘成功AH=0 失败 AH=错误代码3写磁盘成功AH=0 失败 AH=错误代码4检验磁盘扇区(ES:BX不设置)成功AH=0 失败 AH=错误代码5格式化磁道 (ES:BX=磁道地址CH,CL不设置)成功AH=0 失败 AH=错误代码8取磁盘参数 (只需设置AH,DL返回值方在CH,CL,DH中) 成功 AH=0 失败 AH=错误代码扩展INT 13H 调用简介:为了支持大于8G的硬盘,现在的主板BIOS提供了扩展INT 13H调用,它使用的是线性寻址方式。功能号AH: 41H 检测是否支持

6、扩展INT 13H调用 BX=55AAH AH=0支持42H 读磁盘扇区 DL=磁盘号DS:SI=调用结构的地址调用结构:disk_addr_pktstrucpacket_sizedb16 ; 结构长度通常为16 1字节reserveddb0 ; 保留 必须为0 1字节block_countdw?; 读取扇区数目 2字节buffer_addrdd? ; 缓冲区地址4字节 高2字节段址低2节字偏移block_numdq?; 读取的绝对扇区起始号8字节disk_addr_pkt ends成功AH=0 失败AH=错误代码。43H 写磁盘扇区DL=磁盘号DS:SI=调用结构的地址 调用结构与读磁盘相同

7、成功 AH=0 失败AH=错误代码。48H 取得磁盘参数DL=磁盘号DS:SI= 结果缓冲区结构如下info_size dw 26缓冲区长度 26flags dw ? 磁盘状态标志字cylinders dd ? 磁盘逻辑柱面数heads dd ? 磁盘逻辑磁头数sec_per_track dd ? 磁盘逻辑每道扇区数sectors dq ? 磁盘总扇区数sector_size dw ? 磁盘每扇区字节数AH=0 失败AH=错误代码磁盘分区简介:BOOTSECTOR简介Boot Sector 也就是硬盘的第一个扇区, 它由 MBR (Master Boot Record), DPT (Disk

8、Partition Table) 和 Boot Record ID 三部分组成。MBR 又称作主引导记录占用 Boot Sector 的前 446 个字节 ( 0 to 0x1BD ), 存放系统主引导程序 (它负责从活动分区中装载并运行系统引导程序). DPT 即主分区表占用 64 个字节 (0x1BE to 0x1FD), 记录了磁盘的基本分区信息,主分区表分为四个分区项,,每项 16 字节,分别记录了每个主分区的信息(因此最多可以有四个主分区).Boot Record ID 即引导区标记占用两个字节 (0x1FE and 0x1FF), 对于合法引导区,它等于 0xAA55,这是判别引导

9、区是否合法的标志。BOOTSECTOR的具体结构如下图所示:00001BD1BE1CD1CE1DD1DE1ED1FE1FD1FEMaster Boot Record主引导记录(446字节)分区信息 1(16字节) 分区信息 2(16字节) 分区信息 3(16字节) 分区信息 4(16字节) 55AABOOTSECTOR结构图分区表结构简介分区表由四个分区项构成, 每一项长度为16个字节,分区表结构如下图所示:0123456789ABCDEF分区状态, 0 = 未激活, 0x80 = 激活 (注意此项)分区起始磁头号分区起始扇区和柱面号, 底字节的低6位为扇区号,高2位为柱面号的第 9,10 位

10、, 高字节为柱面号的低 8 位分区类型,如0x0B=FAT32, 0x83=Linux等,0表示此项未用分区结束磁头号分区结束扇区和柱面号, 底字节的低6位为扇区号,高2位为柱面号的第 9,10 位, 高字节为柱面号的低 8 位在线性寻址方式下的分区相对扇区地址(对于基本分区即为绝对地址)分区大小 (总扇区数)注意: 在 DOS / Windows 系统下, 基本分区必须以柱面为单位划分 ( Sectors * Heads 个扇区), 如对于 CHS 为 764/255/63 的硬盘, 分区的最小尺寸为 255 * 63 * 512 / 1048576 = 7.844 MB.分区表结构图扩展分

11、区简介由于主分区表中只能分四个分区, 无法满足需求, 因此设计了一种扩展分区格式. 基本上说, 扩展分区的信息是以链表形式存放的, 但也有一些特别的地方.首先, 主分区表中要有一个基本扩展分区项, 所有扩展分区都隶属于它,也就是说其他所有扩展分区的空间都必须包括在这个基本扩展分区中. 对于DOS / Windows 来说, 扩展分区的类型为 0x05(EXTENDX). 除基本扩展分区以外的其他所有扩展分区则以链表的形式级联存放,后一个扩展分区的数据项记录在前一个扩展分区的分区表中, 但两个扩展分区 的空间并不重叠.扩展分区类似于一个完整的硬盘, 必须进一步分区才能使用. 但每个扩展分区中只能

12、存在一个其他分区. 此分区在 DOS/Windows 环境中即为逻辑盘. 因此每一个扩展分区的分区表 (同样存储在扩展分区的第一个扇区中)中最多只能有两个分区数据项(包括下一个扩展分区的数据项).扩展分区的分区表存放在该分区的第一个扇区中它的结构与硬盘的BOOTSETOR基本相同,只是没有主引导纪录,即该扇区的0-0X1BD的数据是无效的,另外它的分区表只有前面两项是有效的。他的最后两个字节也是合法性检测标志即55AA下面是扩展分区的结构示意图主扩展分区扩 展分 区 表 分区项 1分区项 2逻辑盘1扩展分区2扩 展分 区 表 分区项 1分区项 2逻辑盘2扩展分区3扩 展分 区 表 分区项 1分

13、区项 2逻辑盘3扩展分区的结构示意图硬盘分区类型0未使用分区项1 DOS12一种fat表为12位的分区主要用于早期小硬盘和部分软盘2 xenix一种linux分区4D0S16早期硬盘分区方法,分区表项为16位,最大支持32M分区大小5 EXTEND扩展分区的一种该分区的 起始扇区为前面的第一个EXTENDX分区起始扇区+该分区的相对偏移6 BIGDOS即FAT16分区 分区表为16位,每簇最大为32K,最大分区为2G7 NTFS分区BFAT32分区 分区表为32位CFAT32X分区与FAT32基本相同EBIGDOSX即FAT16分区扩展 分区表为16位,每簇最大可以超过32KFEXTENDX扩

14、展分区的一种,起始扇区为该分区的相对偏移或者 前面的前面的第一个EXTENDX分区起始扇区+该分区的相对偏移;如何找到一个逻辑分区前面介绍了硬盘的分区结构,下面主要讲解如何找到一个硬盘的逻辑分区首先读取硬盘BOOTSECTOR,读取该硬盘的分区表例如下面是一个15G硬盘的BOOTSECTOR0X000 33 C0 8E D0 BC 00 7C FB-50 07 50 1F FC BE 1B 7C 3.|.P.P.|0X010 BF 1B 06 50 57 B9 E5 01-F3 A4 CB BD BE 07 B1 04 .PW.0X02030 38 6E 00 7C 09 75 13 83-C

15、5 10 E2 F4 CD 18 8B F5 8n.|.u.0X03083 C6 10 49 74 19 38 2C-74 F6 A0 B5 07 B4 07 8B .It.8,t.0X040F0 AC 3C 00 74 FC BB 07-00 B4 0E CD 10 EB F2 88 .U.t.t.0X090B7 07 EB A9 8B FC 1E 57-8B F5 CB BF 05 00 8A 56 .W.V0XA000 B4 08 CD 13 72 23 8A-C1 24 3F 98 8A DE 8A FC .r#.$?.0XB043 F7 E3 8B D1 86 D6 B1-06 D2

16、 EE 42 F7 E2 39 56 C.B.9V0X0C00A 77 23 72 05 39 46 08-73 1C B8 01 02 BB 00 7C .w#r.9F.s.|0X0D08B 4E 02 8B 56 00 CD 13-73 51 4F 74 4E 32 E4 8A .N.V.sQOtN2.0X0E056 00 CD 13 EB E4 8A 56-00 60 BB AA 55 B4 41 CD V.V.U.A.0X0F013 72 36 81 FB 55 AA 75-30 F6 C1 01 74 2B 61 60 .r6.U.u0.t+a 0X1006A 00 6A 00 FF

17、 76 0A FF-76 08 6A 00 68 00 7C 6A j.j.v.v.j.h.|j0X11001 6A 10 B4 42 8B F4 CD-13 61 61 73 0E 4F 74 0B .j.B.aas.Ot.0X12032 E4 8A 56 00 CD 13 EB-D6 61 F9 C3 49 6E 76 61 2.V.a.Inva0X1306C 69 64 20 70 61 72 74-69 74 69 6F 6E 20 74 61 lid partition ta0X14062 6C 65 00 45 72 72 6F-72 20 6C 6F 61 64 69 6E bl

18、e.Error loadin0X15067 20 6F 70 65 72 61 74-69 6E 67 20 73 79 73 74 g operating syst0X16065 6D 00 4D 69 73 73 69-6E 67 20 6F 70 65 72 61 em.Missing opera0X17074 69 6E 67 20 73 79 73-74 65 6D 00 00 00 00 00 ting system.0X18000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .0X19000 00 00 00 00 00 00 00-

19、00 00 00 00 00 00 00 00 .0X1A000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .0X1B000 00 00 00 00 2C 44 63-DE BB C4 76 00 80 01 .,Dc.v.0X1C001 00 06 FE 3F 0C 3F 00-00 00 8E 2F 03 00 00 00 .?.?./.0X1D001 0D 0F FE FF FF CD 2F-03 00 D5 6C BC 01 00 00 ./.l.0X1E000 00 00 00 00 00 00 00-00 00 00 00 00 00

20、 00 00 .0X1F000 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA .U.一个硬盘的BOOTSECTORS数据其中红色部分是主引导纪录(MBR)蓝色和浅绿色是分区表数据一共是4个分区项和显然后两个分区表项是未用的。最后两个字节是合法性标志。对于第一个分区表项可以知道该分区是一个活动分区,分区类型是0X0C (FAT16)分区分区相对扇区起始地址是0x3f(63) 分区大小是0x32F8E(208782个扇区大小大概未100M由于这是柱分区该分区的起始扇区号就为0x3f;对于第二个分区表项可以知道该分区的分区类型是0x0F(EXTENDX)分

21、区,起始扇区地址是0X32FCD(208845)分区大小是0X1BC6CD5(29125845)个扇区。读取扇区0X32FCD取出扩展分区得的分区表项00 01 01 0D 07 FE BF 0A 3F 00 00 00 3F 04 7D 00 00 00 81 0B 05 FE FF 09 7E 04 7D 00 3F 82 3E 0000 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取出第一个分区表项知道该分区是类型是7(NTFS分区)分区大小是0X7

22、D043F分区相对扇区号为0x3f可以算出分区的起始扇区是0X32FCD+0X3F=0X3300C取出第二个分区表项知道该分区是类型是5(EXTEND分区)分区大小是0X3E823F分区相对扇区号为0X7D047E可以算出分区的起始扇区是0X32FCD+0X7D047E=0X80344B 读取扇区0X80344B取出扩展分区得的分区表项 00 01 81 0b 0b fe ff 08 3f 00 00 00 00 82 3e 0000 00 c1 0a 05 fe ff ff bd 86 bb 00 57 a7 00 0100 00 00 00 00 00 00 00 00 00 00 00

23、00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00取出第一个分区表项知道该分区是类型是0b(fat32分区)分区大小是0X3e8200分区相对扇区号为0x3f可以算出分区的起始扇区是0X32FCD+0x7d047e +0X3F=0X80348a取出第二个分区表项知道该分区是类型是5(EXTEND分区)分区大小是0X100a757分区相对扇区号为0Xbb86bd可以算出分区的起始扇区是0X32FCD+0Xbb86bd=0Xbbe68a 读取扇区0Xbbe68a取出扩展分区得的分区表项 00 01 c1 0a 07 fe ff f

24、f 3f 00 00 00 18 a7 00 0100 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 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00取出第一个分区表项知道该分区是类型是7(NTFS分区)分区大小是0X100a718分区相对扇区号为0x3f可以算出分区的起始扇区是0X32FCD+0xbbe68a+3f=0Xbeb6c9逻辑分区简介:FAT16 FAT32 NTFS逻辑分区BOOTSECTOR逻辑分

25、区的BOOTSECTOR的第一个扇区它由以下部分组成跳转指令硬盘分区类型的文本字符名分区参数块扩展的分区参数块启动指令块合法性标志55AA对于不同的分区类型这些块的内容与意义是不同的下面是FAT FAT32 NTFS各分区的BOOTSECTORD的内容语义的略图跳转指令EB 3C 903BYTE0H硬盘分区类型的文本字符名MSDOS5.08BYTE3H分区参数块25BYTE0BH0BH2BYTE每扇区字节数0DH1BYTE每簇扇区数0EH2BYTE保留扇区数10H1BYTEFAT表份数11H2BYTE根目录入口项数13H2BYTE磁盘大小(32m)15H1BYTE介质类型16H2BYTEFAT

26、表占用扇区数18H2BYTE每道扇区数1AH2BYTE磁头数1CH2BYTE隐藏扇区数24H1BYTE物理磁盘号25H1BYTE当前磁头号26H1BYTE0X28或0X2927H4BYTE磁盘序列号2BH11BYTE卷表36H8BYTE系统标志符扩展的分区参数块26BYTE24H启动指令块448 BYTE3EH合法性标志55AA2 BYTE1FEHFAT16分区BOOTSECTOR结构图跳转指令EB 58 903BYTE0H硬盘分区类型的文本字符名MSWIN4.18BYTE3H分区参数块25BYTE0BH0BH2BYTE每扇区字节数0DH1BYTE每簇扇区数0EH2BYTE保留扇区数10H1B

27、YTEFAT表份数11H2BYTE 未用15H1BYTE介质类型16H2BYTE未用18H2BYTE每道扇区数1AH2BYTE磁头数1CH2BYTE隐藏扇区数24H4BYTEFAT表占用扇区数2CH1BYTE根目录入口簇号40H1BYTE物理磁盘号42H1BYTE0X2943H4BYTE磁盘序列号47H8BYTE系统标志符扩展的分区参数块52BYTE24H启动指令块422 BYTE5AH合法性标志55AA2 BYTE1FEH20H4BYTE磁盘总扇区数52H8BYTE系统标志符FAT32分区BOOTSECTOR结构图启动指令块426BYTE54H合法性标志55AA2 BYTE1FEH0BH2B

28、YTE每扇区字节数0DH1BYTE每簇扇区数0EH2BYTE保留扇区数10H1BYTE011H4BYTE015H1BYTE介质类型16H2BYTE018H2BYTE每道扇区数1AH2BYTE磁头数1CH2BYTE隐藏扇区数跳转指令EB 52 903BYTE0H硬盘分区类型的文本字符名NTFS8BYTE3H分区参数块25BYTE0BH扩展的分区参数块52BYTE24H24H4BYTE0(未用)28H8BYTE总扇区数30H8BYTEMFT表起始簇号38H8BYTEMFT镜像起始簇40H4BYTE每个记录段簇数44HH4BYTE每个索引占簇数20H4BYTE0(未用)48HH8BYTE磁盘序列号5

29、0HH4BYTE校验和NTFS分区BOOTSECTOR结构图FAT16 FAT32逻辑分区组成结构FAT16和FAT32的分区组成结构比较类似其基本如下:BOOTSETCOR保留扇区FAT表1FAT表2根目录区磁盘内容FAT16 FAT32逻辑盘结构图其中FAT16的根目录区是固定大小的紧跟在FAT表后,而FAT32的根目录区可以是不固定大小的在BOOTSECTOR中提供了根目录区的第一个簇的簇号。每一个目录项占20个字节这些字节的定义如下0-A文件名 第一个字节为E5表示该目录项已被删除,为0表示未用,为2E表示是当前目录或者根目录。B是文件属性BIT0文档 BIT1只读文件BIT2系统文件

30、BIT3隐藏文件BIT4目录 BIT5卷标 0X10-0X13 文件创建日期0X14-0X15文件或目录起始簇号高16位(对FAT16无效为00 00)。0X16-0X19文件更改日期0X1A-0X1B文件或目录起始簇号低16位。0X1C-0X1F文件大小(对目录该项为0)整个磁盘空间是按簇划分,在BOOTSECTOR中记录了每个簇的大小参数。 FAT表是用来记录整个磁盘空间的使用与分配情况的它的结构是一种链式结构。他每16个字节或者32个字节表示一个簇。例如我们在FAT16分区找到第121簇的使用情况过程如下:假设该分区大小为2G,起始扇区为63,FAT表为255个扇区,根目录有0X100个

31、入口,每簇大小为64个扇区,隐含扇区为1个。该簇在FAT表中的位置为: A=121*2=241;B=A%512;IF(B!=0);B=1; C=63+1+A/512+B; 读取扇区C到缓冲区取第A%512/2个字即为该扇区的下一个扇区,如果为0表示该扇区未用,为FF FF表示该扇区为最后一个扇区。其他的表示有下一个扇区。该簇的物理磁盘扇区号是63+1+255*2+0X100*20/512+(121-2)*64读于一个FAT32分区,要找到121簇的使用情况假设该分区大小为4G,起始扇区为200048,FAT表为3997个扇区,每簇大小为8个扇区,根目录起始簇号为2,隐含扇区为32个。该簇在FA

32、T表中的位置为: A=121*4=241;B=A%512;IF(B!=0);B=1; C=20048+32+A/512+B;读取扇区C到缓冲区取第A%512/4个双字即为该扇区的下一个扇区,如果为0表示该扇区未用,为FF FF FF FF表示该扇区为最后一个扇区。其他的表示有下一个扇区。该簇的物理磁盘扇区号是20048+32+3997*2+(121-2)*8经过上面的介绍我们就比较亲楚整个FAT16 FAT32分区的寻址方式例如读取文件C:WINDOWSSYSTEM.INI首先找到逻辑盘C的起始扇区,然后读出他的根目录区,在根目录区中找到WINDOWS子目录项,找到目录项中该子目录的起始簇,在

33、FAT表中找到以该簇为起始簇的簇链,读出这些簇的所在的扇区内容然后找到文件名为SYTEM.INI的目录项,取得它的起始簇号,读出该簇为起始簇的簇链的所有扇区内容即可。NTFS逻辑分区组成结构NTFS分区的结构比FAT16和FAT32复杂。整个NTFS分区也是和FAT分区一样以簇为基本的的存储结构,但NTFS分区把整个分区的全部扇区都作为簇来划分,而FAT分区的BOOTSECTORFAT表,根目录(FAT32除外),作为另外的部分它的起始簇是在这些扇区之后的。NTFS分区的结构大概如下;BOOTSETCORMFT表文件磁盘空间BOOTSECTOR记录了MFT表的起始簇号,通过BOOTSECTOR

34、找到MFT的起始扇区,(方法是 磁盘起始扇区+簇号*每簇扇区数)。MFT表是由很多个MFT记录构成,每个MFT记录表示一个文件的信息,MFT表将整个文件系统的内容,都当成文件来处理包括它自己本身。MFT表记录将文件的所有信息都当成属性来处理。下面是MFT记录的头结构说明。起始长度意义 04MFT记录标志FILE42修复校验偏移(Offset to fixup usually 2C)62修复数据长度,包含第一个字节88LSN 102序列号起始长度意义122链节个数(有多少个文件名链节在这个实际文件上)142第一个属性的起始于该MFT记录得哪一个字节162BIT0表示该记录中有属性值存于记录外,B

35、IT1表示该记录中存有文件目录184该记录的有效字节数(记录头+所有属性长度和)1C4该记录的长度208高2字节主MFT记录的记录号,低2字节0282所有属性加一2A6+修复数据依赖于记录长度MFT记录头属性1属性2属性3MFT记录结构示意图MFT的记录由记录头和属性列表组成,每一个属性都有一个结构相同的属性头,属性头分两种,一种是属性内容在MFT表中,一种是属性的内容在磁盘分配的簇中,属性头分两部分对于所有属性第一部分结构是相同的第二部分结构不同:属性头的第一部分内容(前16字节)偏移(16进制)长度(16进制)内容的意义04属性类型44属性在MFT中的总长度81属性数据是否存在MFT表中,

36、0表示是,1表示存在磁盘分配的空间91属性名长度A2属性内容相对于属性头起始地址的偏移C2属性值是否压缩0表示没压缩,1表示压缩E2属性标志(通常为0)属性内容在MFT表中的属性头第二部分内容104属性值长度142属性值起始字节(相对于属性头起始地址)162属性在MFT属性中是第几个属性(从0开始)属性内容不在MFT表中的属性的第二部分内容1010H属性内容所在簇计算的起始簇202属性数据起始字节(相对于属性头起始地址)222属性内容压缩方法(我不太清楚这个字的意义)288为属性数据的分配空间大小308属性数据的实际大小388初始化数据长度(对于压缩的数据)408压缩前的长度(对于压缩数据)

37、48不定长vcn lcn runlength数据所在簇的位置(具体解释在后面)属性头后紧跟的是属性内容NTFS的标准的属性包括以下几种。10H标准信息属性Standard information 20H 属性列表属性 Attribute list30H文件名属性File Name40H卷表版本属性Volume Version50H安全性描述属性Security descriptor60H卷表名属性Volume name70H卷表信息属性Volume information80H数据内容属性Data90H索引根目录属性Index RootA0H索引分配表属性Index AllocationB0H

38、镜像属性BitMapC0H 链节属性SymlinkD0H HPFS扩展属性信息属性HPFS extended attributes informationE0H HPFS扩展属性HPFS extended attributes对于NTFS标准属性我并不完全了解下面就我所了解的部分进行介绍标准信息属性内容定义偏移(16进制)长度(16进制)内容的意义08文件创建时间88文件内容最后一次修改时间108文件别的属性最后一次修改时间188文件最后一次修改时间204文件存取控制 800文件内容是压缩的,400文件是一个链接20文档标志4系统文件标志,2隐含文件标志,1系统文件标志24C未用通常为0属性列

39、表属性内容定义偏移(16进制)长度(16进制)内容的意义04属性名42属性长度61属性字符名长度88属性簇号计算起始簇号108包含该属性的MFT记录号388文件存取控制38 1A长度为BIT6*2属性名的UniCode文件名属性内容定义偏移(16进制)长度(16进制)内容的意义08该文件的根目录的MFT记录号820文件的时间信息(与基本信息中的相同)288属性分配空间308属性大小388文件属性 38 20文档标志4系统文件标志,2隐含文件标志,1系统文件标志39 08 压缩 3b 10目录401文件名长度411文件名类型0 posix 1 unicode 2 dos 3both dos and unicode42长度为BIT40*2文件名的UniCode索引根目录属性定义偏移(16进制)长度(16进制)内容的意义04总是30h44总是184索引记录大小C4每个簇可以记录的索引记录个数104总是10144整个属性大小+1

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1