Offset (bytes) | Size (bytes) | Name |
---|---|---|
0 | 3 | BS_jmpBoot |
3 | 8 | BS_OEMName |
11 | 2 | BPB_BytsPerSec |
13 | 1 | BPB_SecPerClus |
14 | 2 | BPB_RsvdSecCnt |
16 | 1 | BPB_NumFATs |
17 | 2 | BPB_RootEntCnt |
19 | 2 | BPB_TotSec16 |
21 | 1 | BPB_Media |
22 | 2 | BPB_FATSz16 |
24 | 2 | BPB_SecPerTrk |
26 | 2 | BPB_NumHeads |
28 | 4 | BPB_HiddSec |
32 | 4 | BPB_TotSec32 |
36 | 1 | BS_DrvNum |
37 | 1 | BS_Reserved1 |
38 | 1 | BS_BootSig |
39 | 4 | BS_VolID |
43 | 11 | BS_VolLab |
54 | 8 | BS_FilSysType |
Information:
BPB (BIOS Parameter Block), sometimes called
boot sector
,reserved sector
or0th sector
is the first important data structure on a FAT VolumeBPB Size
BPB_RsvdSecCnt * BPB_BytsPerSec
BS_jmpBoot
Offset: 0 bytes
Size: 3 bytes
Jump instruction to boot code. This field has two allowed forms:
jmpBoot[0] = 0xEB, jmpBoot[1] = 0x??, jmpBoot[2] = 0x90
and
jmpBoot[0] = 0xE9, jmpBoot[1] = 0x??, jmpBoot[2] = 0x??
0x?? indicates that any 8-bit value is allowed in that byte. What this forms is a three-byte Intel x86 unconditional branch (jump) instruction that jumps to the start of the operating system bootstrap code. This code typically occupies the rest of sector 0 of the volume following the BPB and possibly other sectors. Either of these forms is acceptable. JmpBoot[0] = 0xEB is the more frequently used format.