DPT 范围

MBR分区表(DPT)的准确范围

字段 起始偏移(十六进制) 结束偏移(十六进制) 大小(字节) 描述
分区表(DPT) 0x1BE 0x1FD 64 包含4个分区条目,每个16字节。
分区条目1 0x1BE 0x1CD 16 第一个分区条目(主分区或扩展分区)。
分区条目2 0x1CE 0x1DD 16 第二个分区条目。
分区条目3 0x1DE 0x1ED 16 第三个分区条目。
分区条目4 0x1EE 0x1FD 16 第四个分区条目(通常用于扩展分区)。

分区表条目(每个16字节)结构:

相对偏移 长度 字段名 描述
0 1 boot_flag 0x80 = 可引导(活动分区), 0x00 = 非活动
1 1 start_head 起始磁头(CHS)
2 1 start_sector 起始扇区(CHS,仅低6位有效;高2位用于柱面)
3 1 start_cyl 起始柱面(CHS)
4 1 type 分区类型码(如0x0C = FAT32 LBA, 0x83 = Linux, 0x07 = NTFS)
5 1 end_head 结束磁头(CHS)
6 1 end_sector 结束扇区(CHS)
7 1 end_cyl 结束柱面(CHS)
8 4 start_lba 分区的起始绝对扇区号(LBA) - 这是现代系统使用的关键字段
12 4 total_sectors 分区占用的总扇区数

DPT 各字段

DPT = Partition Table,分区表,占64B;
DPT含4个分区项(固定值),字节偏移地址为 0x1BE~0x1FD,每个分区项占16个字节(固定值);

每个分区项16B的偏移地址及具体含义如下:(下图中的相对偏移地址的基地址为0x1BE)

绝对偏移地址 相对偏移地址 字节长度 字段名和定义
0x01BE 0 BYTE 0x80 引导指示符 (Boot Indicator) 指明该分区是否是活动分区。
0x01BF 1 BYTE 0x01 开始磁头 (Starting Head)
0x01C0 2 6位 0x01 开始扇区 (Starting Sector) 只用了0~5位。第6~7位被开始柱面字段使用。
0x01C1 3 10位 0x00 开始柱面 (Starting Cylinder) 由开始扇区的最后2位+8位组成,10位最大值1023。
0x01C2 4 BYTE 0x07 系统ID (System ID) 定义
分区表类型(请详见下面的表)★
0x01C3 5 BYTE 0xFE 结束磁头 (Ending Head)
0x01C4 6 6位 0xFF 结束扇区 (Ending Sector) 只使用0~5位,第6~7位被结束柱面字段使用。
0x01C5 7 10位 0x7B 结束柱面 (Ending Cylinder) 由结束扇区的最后2位+8位组成,10位最大值1023。
0x01C6 8 DWORD 0x0003F 相对扇区数 (Relative Sectors) 磁盘起始到该分区的扇区偏移量。
0x01CA 12 DWORD 0xAA83F 总扇区数 (Total Sectors) 该分区的扇区总数。

注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。

系统ID (System ID) ,又称 分区表类型(Parttition Type)★

类型编号(Hex) 分区类型描述 类型编号(Hex) 分区类型描述
00 空,Microsoft不允许使用 63 GNU HURD or Sys
01 FAT32 64 Novell Netware
02 XENIX root 65 Novell Netware
03 XENIX usr 70 Disk Secure Mult
04 FAT16 <32M 75 PC/IX
05 Extended ★ 80 Old Minix
06 FAT16 81 Minix/Old Linux
07 HPFS/NTFS 82 Linux swap
08 AIX 83 Linux
09 AIX bootable 84 OS/2 hidden C:
0A OS/2 Boot Manage 85 Linux extended ★
0B Win95 FAT32 86 NTFS volume set
0C Win95 FAT32 ★★ 87 NTFS volume set
0E Win95 FAT16 93 Amoeba
0F Win95 Extended(>8GB) ★ 94 Amoeba BBT
10 OPUS 0A IBM Thinkpad hidden
11 Hidden FAT12 A5 BSD/386
12 Compaq diagnose A6 Open BSD
16 Hidden FAT16 A7 NextSTEP
14 Hidden FAT16<32GB B7 BSDI fs
17 Hidden HPFS/NTFS B8 BSDI swap
18 AST Windows swap B6 Solaris boot
1B Hidden FAT32 partition C1 DRDOS/sec
1C Hidden FAT32 partition (LBA) C4 DRDOS/sec
1E Hidden LBA VFAT partition C6 DRDOS/sec
24 NEC DOS C7 Syrinx
3C Partition Magic DB CP/M/CTOS
40 Venix 80286 E1 DOS access
41 PPC PreP Boot E3 DOS R/0
42 SFS E4 SpeedStor
4D QNX4.x EB BeOS fs
4E QNX4.x 2nd part F1 SpeedStor
4F QNX4.x 3rd part F2 DOS 3.3+ secondary partition
50 Ontrack DM F4 SpeedStor
51 Ontrack DM6 Aux FE LAN step
52 CP/M FF BBT
53 OnTrack DM6 Aux
54 OnTrack DM6
55 EZ-Drive
56 Golden Bow
5C Priam Edisk
51 Speed Stor

注:
表格分为两列,分别显示分区类型编号和对应的分区类型描述

示例1

U盘分为4区,本身是一个系统启动盘,分区1为FAT32,可以放数据。
DPT 详解 - 图1