详见表1。
[表1主引导记录结构]
位 置 内 容
0000H -00D9H 主引导记录代码区
00DAH -01BDH 空闲区
01BEH -01CDH 分区1结构信息
01CEH -01DDH 分区2结构信息
01DEH -01EDH 分区3结构信息
01EEH -01FDH 分区4结构信息
01FEH -01FFH 55 AAH 主 引 导 记 录 有 效 标 志
说明:
A,分区表自偏移1BEH处开始,分区表共64个字节,表中可填入四个分区信息,每十六个字节为一个分区说明项,这16个字节含义详见表2。
B,必须注意:扇区号的高二位占用柱面号所在字节的最高二位,即柱面号为10位,扇区号6位。
The format of a partition record is as follows:
Offset Size Description
0 8 bit A value of 80 designates an active partition.
1 8 bit Partition start head
2 8 bit Partition start sector (bits 0-5)
3 8 bit Partition start track (bits 8,9 in bits 6,7 of sector)
4 8 bit Operating system indicator
5 8 bit Partition end head
6 8 bit Partition end sector (bits 0-5)
7 8 bit Partition end track (bits 8,9 in bits 6,7 of sector)
8 32 bit Sectors preceding partition
C 32 bit Length of partition in sectors
Operating system indicators: (hexadecimal, incomplete list)
00 Empty partition-table entry
01 DOS FAT12
04 DOS FAT16 (up to 32 MB)
05 DOS 3.3+ extended partition
06 DOS 3.31+ FAT16 (over 32 MB)
07 OS/2 HPFS, Windows NT NTFS, Advanced Unix
08 OS/2 v1.0-1.3, AIX bootable partition, SplitDrive
09 AIX data partition
0A OS/2 Boot Manager
0B Windows 95+ FAT32
0C Windows 95+ FAT32 (using LBA-mode INT 13 extensions)
0E DOS FAT16 (over 32 MB, using INT 13 extensions)
0F Extended partition (using INT 13 extensions)
17 Hidden NTFS partition
1B Hidden Windows 95 FAT32 partition
1C Hidden Windows 95 FAT32 partition (using LBA-mode INT 13 extensions)
1E Hidden LBA VFAT partition
42 Dynamic disk volume
50 OnTrack Disk Manager, read-only partition
51 OnTrack Disk Manager, read/write partition
81 Linux
82 Linux Swap partition, Solaris (Unix)
83 Linux native file system (ext2fs/xiafs)
85 Linux EXT
86 FAT16 volume/stripe set (Windows NT)
87 HPFS fault-tolerant mirrored partition, NTFS volume/stripe set
BE Solaris boot partition
C0 DR-DOS/Novell DOS secured partition
C6 Corrupted FAT16 volume/stripe set (Windows NT)
C7 Corrupted NTFS volume/stripe set
F2 DOS 3.3+ secondary partition
[表2分区结构信息]
偏移 长度 含义
00H 1 活动分区指示符,该值为80H表示为可自举分区(仅有一个),该值为00H表示其余分区。
01H 1 分区起始磁头号。
02H 1 低6位是分区开始的扇区,高2位是分区开始的柱面的头两位。
03H 1 分区开始的起始柱面号的低8位。
04H 1 系统标志,该值为01H表示采用12位FAT格式的DOS 分区,该值04H表示采用16位FAT格式的DOS分区,该值为05H表示为扩展DOS分区,为06H表示为DOS系统。
05H 1 分区终止头号
06H 1 低6位为分区结束的扇区号,头2位为结束柱面号的前2位。
07H 1 分区结束柱面号的低8位。
08H 4 本分区前的扇区数,低位字节在 前。
0CH 4 本分区总的扇区数,低位字节在前。
重要公式:
02H为X,03H为Y。柱面=(X>>6)*16^2+Y;
以我的硬盘为例:
有九个可用分区,二个不可用分区;
两个Primary NTFS分区,第二个为active;
七个Extened 分区,第五个为NTFS其他为FAT32.
.
主分区表数据:位置cylinder0, head 0,sector1
偏移 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 33 C0 8E D0 BC 00 7C FB 50 07 50 1F FC BE 1B 7C
1 BF 1B 06 50 57 B9 E5 01 F3 A4 CB BE BE 07 B1 04
2 38 2C 7C 09 75 15 83 C6 10 E2 F5 CD 18 8B 14 8B
3 EE 83 C6 10 49 74 16 38 2C 74 F6 BE 10 07 4E AC
4 3C 00 74 FA BB 07 00 B4 0E CD 10 EB F2 89 46 25
5 96 8A 46 04 B4 06 3C 0E 74 11 B4 0B 3C 0C 74 05
6 3A C4 75 2B 40 C6 46 25 06 75 24 BB AA 55 50 B4
7 41 CD 13 58 72 16 81 FB 55 AA 75 10 F6 C1 01 74
8 0B 8A E0 88 56 24 C7 06 A1 06 EB 1E 88 66 04 BF
8 0A 00 B8 01 02 8B DC 33 C9 83 FF 05 7F 03 8B 4E
9 25 03 4E 02 CD 13 72 29 BE 59 07 81 3E FE 7D 55
A AA 74 5A 83 EF 05 7F DA 85 F6 75 83 BE 2E 07 EB
B 8A 98 91 52 99 03 46 08 13 56 0A E8 12 00 5A EB
C D5 4F 74 E4 33 C0 CD 13 EB B8 00 00 80 24 45 00
D 56 33 F6 56 56 52 50 06 53
1B 00 00
1C 01 46 07 FE 7F 1E C6 28 11 00 99 31 35 00 80 00
1D 41 30 07 FE 7F B2 30 85 4A 00 C3 1C 20 00 00 00
1E 41 B3 0F FE FF FF F3 A1 6A 00 08 FE F7 01 00 00
1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA