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,可以放数据。