硬盘分区表详解硬盘主引导扇区= 硬盘主引导记录(MBR)+ 硬盘分区表(DPT)----------------------------------------------------------------------------------------------------------------------物理位置:0面0道1扇区(clindyer 0, side 0, sector 1)大小:512字节其中:MBR 446字节(0000--01BD),DPT 64字节(01BE--01FD),结束标志2字节(55 AA)功能:MBR通过检查DPT分区信息引导系统跳转至DBR;读取: 使用NORTON DISKEDIT, 在OBJECT菜单中选择DRIVE——>PHYSICAL DISK-—HARD DISK,然后, 在OBJECT菜单中选择DISK PARTITION TABLE即可读取, 并使用TOOLS菜单中的WRITE OBJECT TO 选项存入指定文件备份;写入: 使用NORTON DISKEDIT, 在OBJECT菜单中选择DRIVE——>FLOOPY DISK, 选择备份的DPT文件, 然后使用TOOLS菜单中的WRITE OBJECT TO——>PHYSICAL SECTOR 选项写入001(clindyer 0, side 0, sector 1);详解:---------------------------------------------------------------------------------------------------------------------- 000H--08AH MBR启动程序(寻找开机分区)08BH--0D9H MBR启动字符串0DAH--1BCH 保留("0")1BEH--1FDH 硬盘分区表1FEH--1FFH 结束标志(55AA)活动分区主引导扇区(DBR)---------------------------------------------------------------------------------------------------------------------- 物理位置:1面0道1扇区(clindyer 0, side 1, sector 1)大小:FAT16 1扇区512字节FAT32 3扇区1536字节功能:包含机器CMOS等信息(0000--0059), 核对该信息并引导指定的系统文件, 如NTLDR 等;读取: 使用NORTON DISKEDIT, 在OBJECT菜单中选择DRIVE——>LOGICAL DISK-—DISK C,然后, 在OBJECT菜单中选择BOOT RECORD即可读取, 并使用TOOLS菜单中的WRITE OBJECT TO 选项存入指定文件备份;写入: 使用NORTON DISKEDIT, 在OBJECT菜单中选择DRIVE——>FLOOPY DISK, 选择备份的DBR文件, 然后使用TOOLS菜单中的WRITE OBJECT TO——>PHYSICAL SECTOR 选项写入011(clindyer 0, side 1, sector 1);详解:---------------------------------------------------------------------------------------------------------------------- 000H--002H 3 BYTE的跳转指令(去启动程序, 跳到03EH)003H--03DH BIOS参数区03EH--19DH DOS启动程序19EH--1E5H 开机字符串1E6H--1FDH 文件名(IO.SYS, MSDOS.SYS)1FEH--1FFH 结束标记(55AA)硬盘分区表(DPT)---------------------------------------------------------------------------------------------------------------------- 偏移地址字节数含义分析01BE 1 分区类型:00表示非活动分区:80表示活动分区;其他为无效分区。
01BF~01C1 3 *分区的起始地址(面/扇区/磁道),通常第一分区的起始地址开始于1面0道1扇区,因此这三个字节应为01010001C2 1 #分区的操作系统的类型。
01C3~01C5 3 *该分区的结束地址(面/扇/道)01C6~01C9 4 该分区起始逻辑扇区01CA~01CD 4 该分区占用的总扇区数注释: * 注意分区的起始地址(面/扇区/磁道)和结束地址(面/扇/道)中字节分配:00000000 01000001 00010101~~~~~~~~ ==^^^^^^ ========~ 面(磁头) 8 位^ 扇区6 位= 磁道10 位# 分区的操作系统类型(文件格式标志码)4---DOS FAT16<32M5---EXTEND6---DOS FAT16>32M7---NTFS(OS/2)83---LINUX>64MDPT 总共64字节(01BE--01FD), 如上所示每个分区占16个字节, 所以可以表示四个分区, 这也就是为什么一个磁盘的主分区和扩展分区之和总共只能有四个的原因.逻辑驱动器----------------------------------------------------------------------------------------------------------------------扩展分区的信息位于以上所示的硬盘分区表(DPT)中, 而逻辑驱动器的信息则位于扩展分区的起始扇区, 即该分区的起始地址(面/扇区/磁道)所对应的扇区, 该扇区中的信息与硬盘主引导扇区的区别是不包含MBR, 而16字节的分区信息则表示的是逻辑驱动器的起始和结束地址等.所以, 在磁盘仅含有一个主分区, 一个扩展分区(包含多个逻辑驱动器)的情况下, 即使由于病毒或其他原因导致硬盘主引导扇区的数据丢失(包括DPT), 也可以通过逻辑驱动器的数据来恢复整个硬盘.例如: 以下是一个硬盘的分区情况.道面扇道面扇起始扇(逻辑) 结束扇总共扇区MBR 0 0 1 - - - - - -C 0 1 1 276 239 63 63 4,188,239 4,188,177扩277 0 1 554 239 63 4,188,240 8,391,599 4,203,360D 277 1 1 554 239 63 4,188,303 8,391,599 4,203,297如果主分区表损坏, 则可以通过手工查找扩展分区表中所包含的逻辑驱动器数据, 在本例中就是D盘所对应的数据, 然后将其起始扇(逻辑)减去63就是所对应的扩展分区的起始扇(逻辑), 将其起始地址(面/扇区/磁道)改为0面就是扩展分区的起始地址. 然后通过扩展分区就可以得到主分区C的信息, 然后就可以使用FDISK/MBR命令和手工填写分区表恢复整个硬盘.实际使用这种方法比较麻烦, 如果知道每个分区的大小, 则可以通过使用PQ MAGIC 5 将磁盘重新分区为原来大小(注意: 千万不能应用, 我们只是通过它来获得数据), 并查看INFO 来获得以上数据, 记录以后取消该分区操作, 然后使用NORTON DISK2000手工修改DPT表, 恢复整个硬盘.该例所对应的分区表数据:80 0101 00 06 EF 7F 14 3F 00 00 00 11 E8 3F 00 00 0041 15 05 EF BF 2A 50 E8 3F 00 60 23 40 00 00 0000 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 55 AA扩展分区表数据:00 0141 15 07 EF BF 2A 8F E8 3F 00 21 23 40 00注意: 逻辑起始扇区和总共分区数是左边为低位, 如该例的扩展分区的起始地址为50 E8 3F 00转换十进制时要先变为00 3F E8 50, 总共占用分区数60 23 40 00要先变为00 40 23 60, 同理当手工填写该值时也要进行高低位转换.硬盘分区结构介绍(修复必读)----------------------------------------------------------------------------------------------------------------------硬盘分区的主要结构说明: (Cylinder 柱面/磁道-Side磁头-Sector扇区地址以下简称为?-?-?) 《主分区》名称地址长度(扇区)----------------------------------------------------------------------------------------------------------------------主引导记录(Main Boot Record): 0-0-11 系统扇区(System Secotrs):0-0-2,0-0-63 62 引导扇区(Boot): 0-1-1 1 FAT16系统中,此扇区包含BPB (BIOS Parameter Block)表,描述逻辑盘结构组成,包含隐藏扇区数目(从0-1-1开始计算)、FAT扇区数、FAT拷贝数、硬盘磁头总数、根目录表项最大值等。
FAT32系统中,BPB表的偏移与FAT16不同,但表项基本相同。
整个隐藏扇区部分都作为逻辑盘的描述区域。
隐藏扇区(Hidden Secotrs): FAT16 0-1-1 1 FAT32 0-1-1 32 文件分配表(File Allocation Table): FAT16 0-1-2 根据逻辑盘容量变化 FAT32 0-1-33 根据逻辑盘容量变化说明: FAT16的每个表项由2字节(16位)组成,通常每个表项指向的簇包含64个扇区,即32K 字节。
逻辑盘容量最大为2047MB。
FAT32的每个表项由4字节(32位)组成,通常每个表项指向的簇包含8个扇区,即4K字节。
逻辑盘容量最小为2048MB。
对于C分区,在MBR的偏移01c2H处,FAT16为06H,FAT32为0CH。