《[计算机]硬盘数据常识.doc》由会员分享,可在线阅读,更多相关《[计算机]硬盘数据常识.doc(17页珍藏版)》请在三一办公上搜索。
1、了解硬盘C/H/S:磁头(Head):硬盘为数个金属磁性物叠加而成的同心圆盘片,每盘片分两面(Side),依次为0和1、2和3(最少为单面,即只有0),每盘片分为上下两磁头读写。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数,盘面号又叫磁头号。磁道和柱面(Track and Cylinder):同一盘片不同半径的若干同心圆被划分为若干数目相等的磁道,并从外缘的“0”开始编号。柱面是具有相同编号的磁道形成一个圆柱(不同盘片相同半径构成的圆柱面,但不是一体的)。0柱面最外面,依次向里编号。一磁道对应一柱面,磁盘的柱面数与一个盘面上的磁道数是相等的。扇区(Sector):磁盘上的每个磁道被等
2、分为若干个弧段(与下图不同),这些弧段便是磁盘的扇区。每扇区一般可存储512字节(Byte)的信息。如按公式计算,每个扇区可以存储1282的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是1282的2次方=512字节512个字节的信息。在向磁盘读取和写入数据时,都以扇区为单位。磁道和扇区是由低级格式化产生的。低格的作用是将空白的磁片划分一个个半径不同的同心圆磁道(几百到几千),还将磁道划分为若干个扇区,每个扇区的容量一般为512字节。CHS(3D参数):Cylinder(柱面)/ Head(磁头) /Sector(扇区),是硬盘的重要参数。一般书写时按照CHS的次序来做,如0,0,1。
3、硬盘示意图: 硬盘数据的记录方式两种地址:1.物理地址(“绝对扇区”):信息记录被表示为:柱面(磁道),磁头,扇区,从0柱0磁1扇 开始,编号整个硬盘。2.逻辑(logic)地址(“相对扇区”):只有一个逻辑扇区号,可以从0柱0磁1开始计数(如LBA),也可以从0柱1磁1扇开始计数(如DOS扇区)即各分区单独计数。DOS扇区即是一种相对扇区,它从0柱1磁1扇(DBR)开始计数,把第一个DOS扇区(DOS能访问的第一个扇区)编号为逻辑0扇(即C盘逻辑0扇,而MBR所在的0柱0磁1扇则没有DOS扇区编号,只能调用BIOS访问)。两种地址在不同地方称呼各不相同。硬盘的工作模式:1.NORMAL:最大
4、1024柱, 16磁头, 63扇,因此最大容量528MB。2.LARGE:当柱面大于1024时,把柱面数除以2,把磁头数乘以2,其总容量不变。3.LBA:由IDE控制器中的地址翻译器把CHS参数转换为单一的扇区参数。硬盘的寻址方式:1.CHS寻址方式(物理寻址方式,8.4GB以下使用):柱面:范围为01023柱,表示硬盘每一面盘片上有几条磁道,最大为1024。磁头:范围为0254个,表示硬盘总共有几个磁头,也就是有几面盘片, 最大为255。扇区:范围为163扇,表示每一条磁道上有几个扇区,最大为63。NORMAL和LARGE都可以说是使用的CHS寻址方式。在CHS寻址方式中,最大寻址范围是:2
5、55102463512/1000/1000/1000=8.4G。注意:这里的CHS参数与硬盘真实的CHS其实并不相同(硬盘中一般一个盘片对应两个磁头。单碟对应两个磁头;双碟则只有三个磁头,其中一个磁头被两张盘片共用;有的硬盘则只有一磁头。因此物理磁头数不可能多达255个)。硬件意义上的CHS与文件系统的CHS的转换是由硬盘的固件来完成的。2.LBA寻址方式(Logic Block Address,逻辑块寻址,8.4GB以上使用): 早期硬盘的扇区在同心圆磁道中呈扇面形状(如上图),由于每个磁道的扇区数相等(与软盘一样),所以外磁道的记录密度要远低于内磁道,会浪费很多磁盘空间。现在改用等密度结构
6、生产硬盘,外侧磁道一圈因周长更大,所以扇区数量更多(大于63个,在磁道数量一样的情况下,文件系统的柱面数因此变多了),内侧则更少。采用这种结构后,硬盘不再具有实际的CHS参数。系统在写入数据时是从柱面的0磁头1扇区开始写入,第一个磁道写满后,就在同一柱面的下一盘面来写。一个柱面写满后才移动磁头到下一个柱面,从而使磁盘性能最优。硬盘读写数据时采用以扇区(即逻辑块)为单位进行线性寻址的方式,扇区编号也就是该扇区的LBA地址。 LBA方式把0柱0磁1扇编为逻辑“0”扇区(即零磁道,与“DOS扇区”的“0”扇区不同),0,0,2为逻辑1扇区,0,0,63为逻辑62扇区(此扇后为非隐藏扇区),0,1,1
7、,为逻辑63扇区,0柱编完后再转到1,0,1依次进行,直至把所有的扇区都编上号。WinHex把LBA扇区(及DOS扇区)称为“逻辑扇区”,PM则称为“绝对扇区”。查看LBA扇区都应先打开它们HD0的“扇区查看”,然后再输入LBA号。LBA是逻辑地址(但不同于相对地址的“DOS扇区”),也可以说成是物理地址。一般我们称CHS模式下的扇区号为物理扇区号,扇区编号是1”至“63”,而LBA方式的扇区从“0”开始。LBA(逻辑扇区号)=总磁头数每磁道扇区数当前所在柱面号+每磁道扇区数当前所在磁头号+当前所在扇区号1例如:CHS=0/0/1,则根据公式LBA=255630+630+11= 0,也就是说物
8、理0,0,1为LBA逻辑0扇。INT13管理:INT13管理是按照寄存器的模式来设计的,数据读写命令和有关的参数先到达CPU,然后触发INT13中断去激活BIOS的磁盘服务来执行数据传输。BIOS首先往IDE(ATA)里特定的寄存器写入数据的开始地址和数据传输的长度,再把有关的读/写命令往特定的寄存器里发送,从而开始数据传输。老式的BIOS用10位(bit)柱面,8位磁头,6位扇区的地址读写模式,最多可以支持8.4GB的容量(512632551024=8.4GB)。为了超越这个容量限制,人们又定义了新的扩展INT13。不再使用缓存器传递硬盘的寻址参数,而是由OS在内存中建了一个称为地址包的区域
9、。地址包里储存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA接口,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA接口。28位LBA寻址方法是把数据传输的开始地址写到4个8位寄存器里。一共28位(16位柱面,8位扇区,4位磁头)的寄存器地址空间,被看作一个完整的LBA地址。因此,柱面的最大数是65,536(2的16次方),磁头是16(2的4次方),扇区是255(2的8次方-1)。在28位LBA寻址方式下,逻辑块数目的理论极限是2的28次方即268435456块,则硬盘的理论容量极限就是:268435456512=137,438,953,472字节
10、=137GB。迈拓的Big Drive技术通过48位寻址设计突破了硬盘137GB储存容量限制,达到144,115,188,075,855,872字节=144百万GB=144PB (petabyte),很显然,在未来的许多年,这个容量极限绝对够用了。但32位操作系统只支持2.1TB的硬盘容量,2.1TB以上需要64位的操作系统,如Windows Vista、Windows7等。现在的硬盘一般都支持LBA和CHS寻址,是因为在HD控制器内部安装了一个地址翻译器,可以将C/H/S参数翻译成LBA地址。小于8.4G的分区仍需用CHS 方式寻址,在大于8.4G的分区,CHS参数就没有什么意义了,此时须用
11、LBA 方式寻址。现代硬盘件系统的柱面数已经突破了1024的限制,最大磁头数和扇区数仍为255和63,所以硬盘的大小一般是与柱面的多少相联系的。相对于LBA来说,CHS模式较为直观,所以磁盘编辑器通常采用CHS模式来作为磁盘逻辑结构划分方式。硬盘存储计数存储容量磁头数磁道(柱面)数每道扇区数每扇区字节数。一个扇区若为512字节大小,那么硬盘容量=C(柱面数)H(磁头数)S(扇区数)512Byte。若干扇区为一簇(文件最小单位),FAT32一簇最大为32扇区,NTFS一簇4K。硬盘的容量以兆字节(MB)或千兆字节(GB)为单位,1GB=1024MB,1M=1024KB,1KB=1024B(yte
12、) 1Byte=8bit(二进制位)。但硬盘厂商在标称硬盘容量时通常取1G=1000MB,因此我们在BIOS中或在格式化硬盘时看到的容量会比厂家的标称值要小。DOS/Windows下硬盘数据结构一个完整硬盘的数据应该包括五部分:MBR,DBR,FAT,DIR区和DATA区。其中只有MBR(主引导扇区)是唯一的,其它则随你的分区的不同而不同。MBR (Master Boot Record,主引导扇区或主引导记录):主引导扇区,位于0柱0磁1扇(大小是512字节,也就是零磁道),外加DPT,由Fdisk命令产生,以55AA标志结束。MBR主要完成的任务是:(1) 存放硬盘分区表(DPT),这是硬盘
13、正确读写的关键数据。(2) 检查硬盘分区的正确性,要求只能并且必须存在一个活动分区。(3) 确定活动分区号,并读出相应操作系统的引导记录。(4) 检查操作系统引导记录的正确性,DOS引导扇区末尾也存在着一个AA55H标志,供引导程序识别。(5) 释放引导权给相应的操作系统。例如,当确认DOS操作系统引导纪录存在时,则调出DOS引导程序并执行。硬盘主引导区截图:注:HEX为地址数值,十六进制。DEC为十进制。BIN为二进制。OCT为八进制。MBR的结构:1 主引导程序(446字节,含出错提示),偏移地址为0H-1BDH。其中0000H-00D9H为主引导记录代码区(0000H-008AH寻找开机
14、分区;008BH-00D9H启动字符串)。00DAH-01BDH为保留的空闲区。DOS命令Fdisk/MBR可以重写这一部分,内容较为固定。其在截图的上面,占了MBR的最大部分。2 DPT(Disk Partition Table)硬盘分区表(主分区表):01BEH-01FDH。有四个分区表项,各16字节,共64字节,后两项常不用。其内容在截图下面的最后五行内,以80开头,以55AA结束。第一分区项(指向活动主分区):01BEH-01CDH(参照上图来寻找此地址,01BEH纵坐标为1B0,横坐标为最上面一行的E,其它地址与此相同)。80 01 01 00 0C FE FF FF 3F 00 0
15、0 00 9A E5 3F 01各字节含义有以下几项:引导标志:第一表项第1字节,必须是80(表示为活动分区,00则表示非活动分区,那么操作系统将不能启动)。C盘逻辑0扇:2、3、4字节即01 01 00,依次为磁/扇/柱,为0柱1磁1扇,表示DBR(DOS引导记录)所在位置。DBR位于MBR所在扇区之后的第63个扇区(间隔整整1磁头)。分区项将指向活动主分区(一般就是C盘)的DOS引导记录DBR。分区类型:为各表项的第5字节,0C表示DBR所在分区为FAT32主分区(LBA)。C盘逻辑尾扇:6、7、8字节FE FF FF,由于该分区大于8G,所以它的CHS参数已经没有意义,大硬盘中的C盘逻辑
16、尾扇一般都是此数,下同。可根据下面C盘扇区总数来计算。C盘零扇前的隐含扇区总数:9-12字节3F 00 00 00,为63扇(一般都如此),MBR就位于隐含扇区首扇。其实硬盘主分区和每一个逻辑分区前都有63个隐含扇区,一般都保存有一个分区表。因为在OS中被隐藏,所以并不是各分区的开始扇区。C盘扇区总数:13-16字节9A E5 3F 01。由于所用扇区数是用十六进制表示,低位在前,高位在后,扇区数应该是0x13FE59AH,用十六进制计算器(Windows中自带计算器选程序员或科学型也可进行换算)计算后为20964762个扇区,大小约为10G。第二分区项(指向扩展区):01CEH-01DDH。
17、00 00 C1 FF 0F FE FF FF D9 E5 3F 01 27 C0 10 08 55AA各字节含义有以下几项:扩展区标志:首字节00。扩展区首扇:2 3 4字节00 C1 FF,一般为D盘分区表所在扇区(十六进制数00 C1 FF无意义,道理同上 )。此数的LBA一般算法为:“C盘扇区总数+MBR所在的63个隐藏扇区+1”。CHS为:(0磁1扇x柱) +1(x柱=主分区扇区总数/63HD磁头数即255,x柱在此为1305柱)。明确此物理地址,可以用它找到D盘分区表所在位置,并根据D盘分区表的链接找到E盘的分区表,其它分区的分区表同样可照此方法找到。扩展分区类型标志:第5字节0F
18、,为Win95 Extended分区(大于8GB)。扩展区尾扇:6 7 8字节FE FF FF(大硬盘都是此数,无意义),为扩展分区结束的磁头、扇区、柱面号,CHS表示为:(HD总磁头数-1) 63扇 (HD总柱数-1),处于HD尾。主分区扇区总数:9-12字节D9 E5 3F 01,位于扩展扇区前。主分区扇区总数=C盘逻辑扇区数+隐含扇区数(63个),与第一分区项的C盘扇区总数(无隐藏扇区)有别,后面的分区表与此相同。此处为20964825个扇区,比C盘扇区总数多63。下一个扇区20964826(属于隐含扇区)即D盘分区表所在。扩展扇区总数:13-16字节27 C0 10 08。主分区、扩展
19、扇区两数相加为HD扇区总数。其它分区项:分区3(01DEH-01EDH)、分区4(01EEH-01FDH):可以为隐藏分区。隐藏分区为主分区,一键还原精灵所产生的隐藏分区,想把它变成逻辑分区,可直接操作DPT,把代表它的分区表项删除,即可顺利完成。3 结束标志55AA ,位于1FEH-1FFH。其值为AA55,十六进制存储时低位在前,高位在后,即看上去就是55AA。FDISK/MBR,再SYS C:,再难缠的引导扇区病毒都OK了。其它磁盘工具也可以完成同样的工作。注:Fdisk/MBR在结构正常下重写MBR不破坏DPT,55AA错则全部重写。为保护分区表(DPT)数据,需要先修复55AA标志,
20、才能进行此操作。在0柱0磁2扇(MBR的下一扇区),可以备份MBR。当MBR出错时,把它复制、粘帖到MBR扇区,可以恢复原来的MBR。DBR前的空白隐藏扇区都可以用来备份或存文件。MBR先于操作系统装入内存,具有公共引导的特性。但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它。DBR( Dos Boot Record):DOS引导记录,又称DOS引导区或BOOT区,位于0柱1磁1扇(C盘逻辑0扇),由Format命令产生,可用sys c:修复。在FAT32和NTFS中,引导扇区在以前的DBR基础上逐步演变成OBR(OS Boot Record)。DBR结构(FAT16、FAT3
21、2、NTFS各部分并不相同,以下是FAT32的DBR结构):1. 跳转指令,下图所示为扇首EB 52 90三字节,属NTTFS分区(FAT32为EB 58 90)。2. 厂商标志和OS版本号,跳转指令后8字节。3. BPB(BIOS Parameter Block,BIOS参数记录块)(53字节),记录DOS分区的磁盘信息。位于DBR偏移0BH处,包含HD大小,FAT、FDT位置大小,可算出逻辑地址和物理地址。4. 扩展BPB(26字节)。5. 分区引导程序(420字节)。完成DOS系统文件(IO.SYS,MSDOS.SYS)的定位与装载。DBR是由硬盘的MBR装载的程序段。DBR装入内存后,
22、即开始执行该引导程序段,其主要功能是完成操作系统的自举并将控制权交给操作系统。DBR只有一个,但每个分区都有引导扇区(Extended Boot Record,EBR),但只有位于活动分区的DBR才会被MBR装入内存运行。6. 有效结束标志55AA(2字节)。因为DBR对操作系统非常重要,NTFS格式分区,在其分区最后的扇区上,备份了DBR,如果它是正常的,我们只需将最后一个扇区的内容复制到DBR位置,如果没有其它问题,这个分区就正常了。其它分区的引导程序(EBR)也同样在该分区的最后一个扇区备份了EBR,同样可以把此备份复制到分区引导扇区,使该分区恢复正常。DBR大小:FAT16为1扇,FA
23、T32为3扇,FAT表起始位置一般为95扇区,操作系统引导记录备份在69扇区,FAT表标记是F8 FF FF 0F FF FF。NTFS为1扇,主索引记录一般起始位置在本分区第 6291456 扇区,OS引导记录备份在分区最后一个扇区。C盘逻辑0扇截图(0柱1磁1扇,逻辑扇区63,DBR所在)FAT(File Allocation Table,文件分配表)。是DOS文件组织结构的主要部分,反映硬盘上所有簇的使用情况。一般有两个FAT表,内容一样,起备份作用。FAT32的FAT1(第一文件分配表)位于0柱1面33扇区。由于FAT表的长度不固定,FAT2的地址也并不固定。每个FAT表的前两个字节都
24、是:F8FF 。当从磁盘上读取一个文件时,首先从文件目录表(FDT)中找到该文件的目录登记项。继而从目录登记项的有关字段,查到分配给该文件的第一个簇号,根据第一个簇号,就能形成一条能够检索整个文件的“簇链”,完成文件的读取。NTFS的文件系统:MFT (Master File Table 主文件表),NTFS分区的主文件表。NTFS分区用于存放目录、索引、安全性等信息,以及小文件等,由文件记录(File Record)数组构成。File Record的大小一般是固定的,通常情况下均为1KB,是这个卷上每一个文件的索引,为每一个文件保存着一组称为“属性”的记录,每个属性存储了如下数据: 大小、时
25、间戳、安全属性和数据位置。系统空间分配、读写磁盘时会频繁地访问MFT,因此 MFT对NTFS的卷的性能有着至关重要的影响。一但MFT产生碎片,磁盘碎片整理程序无法对其进行整理。NTFS通过保留 1/8 的磁盘空间留作MFT专用(称为MFT区域),磁盘的此区域尽可能在MFT增大时保持其连续性,从而将磁盘碎片降至最低。NTFS针对FAT/ FAT32文件系统安全性差、容易产生碎片、难以恢复等缺点作了重大改进。NTFS把整个分区的全部扇区都作为簇来划分,所有的分区信息(扇区分配表,引导记录等)都被组织起来以系统文件的形式存放在磁盘各处,而不是先放文件分配表,后接数据区的做法。NTFS利用B-Tree
26、文件管理方法来跟踪文件在磁盘上的位置,文件名是顺序存放的,因而查找速度更快,访问次数最少,这种技术比FAT的链接表技术具备更多的优越性。其中只有$Boot(分区引导记录)文件的位置是固定存放在分区首部,其他的文件都可以随意存在于分区中的任何一个位置。这样使得对所有数据的读写都有一个较为统一的方法,而且使得改变分区的尺寸和碎片整理变得非常容易。NTFS是一个可恢复的文件系统。发生系统失败事件时,NTFS使用标准的事务日志文件和检查点信息自动恢复文件系统的一致性,用户很少需要运行磁盘修复程序。在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限,可以进行磁盘配额管理,可以在NTFS卷中
27、压缩单个文件和文件夹,并支持活动目录和域。NTFS支持4GB以上的文件(FAT32不能),支持的分区大小可以达到2TB,簇的大小都为4KB,支持稀疏文件,最大限度地避免了磁盘空间的浪费。DIR区(根目录区,即Directory的简写),又称为ROOT区,主要为FDT(File Directory Table 文件目录表)。DOS的DIR命令就是显示该区的内容。DIR紧接在第二FAT表之后的下一个扇区,长度为32个扇区(256个表项)。FAT32/FAT16支持长文件名,则每个表项为64个字节,其中,前32个字节为长文件链接说明;后32个字节为文件属性说明,包括文件名、后缀名、文件长度大小、起始
28、地址、时间、修改日期和文件在数据区保存的第一个簇的簇号。如不支持长文件名,则每个表项为32个字节的属性说明。FAT16的根目录紧跟在FAT2表后,并把子目录放到数据区。FAT32根目录区可以不固定大小,在DBR中提供根目录区的第一个簇的簇号。FAT必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(最重要)、文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。 注意:Win9x的文件删除只在目录区做了一个小标记将目录区的文件的第一个字符改成了E5就表示将此文件删除了。被删除文件仍旧能够找到开始簇,数据恢复
29、就依靠这一特点。DATA区(硬盘的数据区)。在DIR区之后,才是真正意义上的数据存储区(紧跟在FDT的下一个扇区,直到逻辑盘的结束地址)。它存储着所有的数据,而且即使文件目录被破坏仍旧可能从磁盘里把信息读出。文件删除只在FDT中将第1字符改成“E5”,DATA区将首字节改为“0E”,格式化也不能根本删去,Format命令只是重写FAT和DBR,并没有把DATA区的数据清除,除非你使用了“Format X: /U”全面格式化命令,强制对每一扇区写“F6”。至于硬盘分区,也只是修改了MBR和DBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,MBR,D
30、BR,FAT,DIR之一被破坏的话,我们的数据也无法正常读取。如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复。 数据恢复通常只能在数据文件删除之后相应存储位置没有写入新数据的情况下进行。因为一旦新的数据写入,磁粒子极性将无可挽回的被改变从而使得旧有的数据真正意义上被清除。 但是只是单纯的对存储介质进行覆写,乃至从物理上破坏存储设备,都不能保证数据不会被恢复出来。在一些拥有尖端设备的实验室中,既使被覆盖多次的磁盘,也可能被还原出最早存储在上面的磁性信号。这种情况对那
31、些需要恢复他们宝贵数据的用户来说可能是个令人激动的消息。DOS/Windows分区知识:硬盘可激活分区数不得大于3,扩展分区数不得大于1,当前活动分区数必须小于等于1(一般为C:)。一个分区的所有扇区必须连续,硬盘可以有最多4个物理上的分区,这4个物理分区可以是4个主分区或者3个主分区(包括隐藏分区)加一个扩展分区。扩展分区在DOS/Windows管理下,可以而且必须再继续划分逻辑分区(逻辑盘如D:E:等)。扩展分区由于MBR仅仅为DPT保留了64个字节的存储空间,每分区的参数各占16个字节,总计只可以存储4个分区的数据。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。所谓扩展
32、分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。硬盘分区实例:上图所见,序号0,1,2三个分区属于主分区,只有序号0有引导标志80,属于活动分区;而序号1所谓的扩展分区严格说来仅仅是位于C盘前面的隐藏扇区中的一张分区表,是它上接了主分区,下连了4,5,6三个逻辑分
33、区;序号2是一键还原精灵建立的隐藏分区,它虽然起始于硬盘最后的59800柱,但它仍是主分区;一块硬盘可以有四个主分区,那么这块硬盘还可以建一个主分区。通过对柱面的观察,可见上面C:D:E:F:各盘前后相连,各分区都是一个整体。标准Windows分区软件都是按柱面分区的,所有分区的大小都是整数柱面。有些特殊软件为了节省几M的硬盘空间,会按磁道或扇区计算划定分区,这样的分区方式再按柱面方式搜索,包括DiskGenius、分区表医生PTDD在内的分区恢复软件就不可能找到分区信息。分区表链接一个四分区的磁盘结构图:分区表的一般结构:有四分区表项,一般只用前两表项。以位移1BEH开始,以55AA终止。第
34、一分区表项:1 首字节,所指分区的分区标志。2 2-4字节,所指分区的DOS首扇。3 5字节,所指分区的分区类型。4 6-8字节,所指分区的尾扇。5 9-12字节,所指分区的DOS首扇(逻辑0扇)与此分区表所在扇区的距离(是分区表与分区逻辑0扇的链接,大小固定为63扇,即为分区前的隐藏扇区数)。6 13-16字节,所指分区的DOS扇区总数(不包括隐藏扇区)。第二分区表项:1 首字节,所指分区的分区标志。2 2-4字节,所指分区的DOS首扇。3 5字节,所指分区的分区类型。4 6-8字节,所指分区的尾扇。5 9-12字节,所指分区的分区表扇区(起始隐藏扇区)与主分区表或第一扩展分区表所在扇区的距
35、离(是两分区表的链接,逻辑分区表中此数是下一逻辑分区表与第一扩展分区表的间隔,以此数可轻松找到下一逻辑分区表)。6 13-16字节,所指分区的扇区总数(包括隐藏扇区)。DPT为主分区表,剩余的扩展(extend)分区表(EPT)位置可以由主分区表依次推导出来。以位移1BEH开始的第一分区表作为链首,有表内的链接表项(第二分区表项的9-12字节)指示下一分区表的物理位置(x柱面、0磁头、1扇区),在该位置的扇区内同样位移1BEH处,保存着第二逻辑分区表,依次类推,直至指向最后一张分区表的物理位置(y柱面、0磁头、1扇区)。因该分区表内不存在链接表项,即作为分区表链的链尾。分区表链接的计算: 从主
36、分区表中开始推算:DPT的第二表项9-12字节为主分区扇区总数(含隐藏扇区),此也是第一扩展分区表的LBA号(因为LBA是从0扇开始)。 从第一扩展分区表(D盘分区表)推算:第二表项的9-12字节是E盘分区表与第一扩展分区表的间隔,那么,此间隔数+主分区扇区总数,即为E盘分区表的LBA号。 从E盘分区表推算:第二表项的9-12字节是F盘分区表与第一扩展分区表的间隔,那么,此间隔数+主分区扇区总数,即为F盘分区表的LBA号。 下面的分区以此类推,关键是找到第二表项的9-12字节,明确下一分区表与第一扩展分区表的间隔。以第一扩展分区表作为标尺,可以方便的找出各分区表所在地址。 而各分区的DOS首扇
37、,则只须用分区表LAB号+63即可找到。各分区结束扇区则可用后一分区表LBA号-1找到。还可用其它已知数据把它们计算出来。分区常规数据:分区表:MBR、EPT各占1扇区,都自01BEH开始,以55AA终止,EPT一般不含引导代码。MBR的CHS是(0,0,1),所有扩展分区首扇区即EPT的CHS(X,0,1),所以分区表所在扇区通常在(X 柱,0磁,1扇)。首扇区:主分区、逻辑分区的DOS首扇区CHS是(X,1,1),若损坏,可改它扇。首扇常带有FAT32、NTFS之类的字符串。分区表与分区首扇区之间隔了63 个隐藏扇区。分区表和首扇区标志:所有分区表和引导扇区的末尾都是0xAA55H。在Wi
38、nHex中可以通过55AA的十六进制搜索,筛选出分区表和首扇区。 扩展分区、主分区、逻辑分区终止CHS参数:X,254,63。隐藏扇区:硬盘上有几块的空间是Windows系统所不能读写的,是被隐藏的扇区。这些隐藏的扇区包括硬盘主分区表所在的磁道(0磁头0柱面的前63个扇区),和其他逻辑分区的分区表(分区链表)所在的磁道。而且一般硬盘用LBA模式管理硬盘空间,硬盘最后的两个柱面DOS/WIDOWS系统也没有使用。扩展分区首扇截图(第一扩展分区表即D盘分区表,接C盘尾,此处位于6528柱面 0磁头1扇区,与MBR一样,是被隐藏了的):分区表含义:扩展分区的首扇区之内没有MBR引导代码,只有分区表,
39、一共只有两分区项,含义与DPT中大致相同。前项指向D盘,后项指向E盘。00 01 C1 FF 07 FE FF FF 3F 00 00 00 60 0F 40 11 00 00 C1 FF 0F FE FF FF 9F 0F 40 11 F3 43 C0 08 55AA两分区项最开头的00表示D盘E盘都不是活动分区。后面2-4和6-8字节标明一个逻辑分区(即D盘)和下一个扩展(逻辑)分区(即E盘)的起始和终止CHS的绝对位置,所示十六进制数无意义。第5字节07表明逻辑分区D盘的分区类型是NTFS,下行对应的0F表明下一个扩展分区E盘的分区类型为WIN95扩展区(大于8GB)。9-12字节是标明
40、D盘和E盘起始扇区的相对于扩展首扇的位置:D盘逻辑0扇起始于扩展分区首扇之后的第(3F,00,00,00)个扇区,即扩展区首扇之后的第63个扇区;E盘分区表位于扩展分区首扇之后的第(9F,0F,40,11)个扇区。两分区项最后四个字节标明了D盘的DOS扇区总数(未加前面的隐藏扇区)和E盘扇区总数(加上了隐藏扇区)。最后以55AA标志结束。虚拟MBR(即EBR或PBR):FDISK除了在柱面0、磁头0、扇区1上建立一个MBR之外,还在扩展(extend)分区的每个逻辑盘(D:E:)的逻辑0扇(非逻辑分区表所在)上都建立一个类似于MBR的扩展引导记录(Extended Boot Record,EB
41、R)。每一个EBR用于扩展分区上的一个逻辑盘。DOS就是用这种方法来使一个扩展分区看起来象是有多个硬盘。D盘逻辑0扇截图(D盘DOS起始扇区)如上图,虚拟MBR (EBR或PBR)扇区开始的内容同C盘的DBR大部分相同,它们都起着引导所在分区的作用。它位于D盘逻辑0扇,分区表所在隐藏扇区后的第63个扇区。第二扩展分区表截图(即E盘分区表,此处位于394283295绝对扇区): E盘分区表也位于隐藏扇区,上链D盘分区表,下链F盘分区表,其含义与D盘分区表相同。其它逻辑分区表和分区的DOS首扇区同上面大致一样。 分区类型:常见分区标志:属于NTFS格式的有:07(HPFS/NTFS) 0F(WIN
42、95扩展区,大于8GB) 17(NTFS隐藏区)42(NTFS动态分区)属于FAT32格式的有:OB(FAT32,主分区,CHS寻址方式, HD为8G以内) OC(FAT32主分区,LBA寻址方式, HD为8G以上) 05(DOS扩展区,DOS3.3) 1C(FAT32隐藏区,LBA) 1B(FAT32隐藏区)其它:06(FAT16主分区)00(未知OS,非活动分区)详细分区类型如下图:磁盘分区类型标志00空,DOS或Windows不允许使用,视为非法5CPriam Edisk01FAT1261Speed Stor02XENIX root63GNU HURD or Sys03XENIX usr
43、64Novell Netware06FAT16 04 表示分区小于32M 65Novell Netware07HPFS / NTFS70Disk Secure Mult08AIX75PC/IX09AIX bootable80Old Minix0AOS/2 Boot Manage81Minix/Old Linux0BWin95 FAT3282Linux swap0CWin95 FAT3283Linux0EWin95 FAT16840s/2 hidden C:0FWin95 Extended(大于 8GB)85Linux extended10OPUS86NTFS volume set11Hidde
44、n FAT1287NTFS volume set12Compaq diagmost93Amoeba16HiddenFAT1694Amoeba BBT14Hidden FAT1632MBA0IBM Thinkpad hidden17Hidden HPFS/NTFSA5BSD/38618AST Windows swapA6Open BSD1BHidden FAT32A7NextSTEP1CHidden FAT32 partition(using LBA-mode INT 13 extensions)B7BSDI fsB8BSDI swap1EHidden LBA VFAT partitionBES
45、olaris boot partition24NEC DOSC0DR-DOS/Novell DOS secured partition3CPartition MagicC1DRDOS/sec40Venix 80286C4DRDOS/sec41PPC Perp BootC6DRDOS/sec42NTFS动态分区C7Syrinx4DQNX4.xDBCP/M/CTOS4EQNX4.x 2nd partE1DOS access4FQNX4.x 3rd partE3DOS r/050OnTrack DME4Speedstor51OnTrack DM6 AuxEBBeoS fs52CP/MF1SpeedS
46、tor53OnTrack DM6 AuxF2DOS 3.3+secondary partition54OnTrack DM6F4SpeedStor55EZ-DriveFELAN step56Golden BowFFBBTGPT(GUID 分区表):GUID(Globally Unique Identifier,全局唯一标志符)分区模式。是一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与MBR最大4个主分区表项的限制相比,GPT对分区数量没有限制,每个分区都拥有唯一的ID标志码,它使用64bit的整数表示扇区号,所以理论上允许用户使用最高18EB容量(1E
47、B=100万TB)进行分区,这绝对是一个高得令人匪夷所思的数字。GPT的分区信息是建立在分区中,而不像MBR一样在主引导扇区或隐藏分区中。为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区(Protective MBR)的MBR分区表,这种分区的类型标志为0xEE,这个保护分区的大小在Windows下为128MB,在Windows磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘。Windows最大仅支持128个GPT分区,但是Windows XP(32位)/2000/NT/98这些系统无法支持GPT分区方案,Windows XP (64位) 版本只能使用