The BPB is the first block of a FAT partition and describes all the critical details of how the disk is laid out. There are variables that are system dependent often based on size of disk.
000000 EB 3C 90 4D 53 44 4F 53 - 35 2E 30 00 02 01 02 00 <MSDOS5.0
000010 02 00 02 60 F4 F8 F3 00 - 3F 00 FF 00 20 00 00 00 ` ?
000020 00 00 00 00 00 00 29 B7 - E1 51 58 4E 4F 20 4E 41 )QXNO NA
000030 4D 45 20 20 20 20 46 41 - 54 31 36 20 20 20 33 C9 ME FAT16 3
000040 8E D1 BC F0 7B 8E D9 B8 - 00 20 8E C0 FC BD 00 7C Ѽ{ٸ |
000050 38 4E 24 7D 24 8B C1 99 - E8 3C 01 72 1C 83 EB 3A 8N$}$<r:
Details for FAT12 / FAT16
Bytes 0x0B-0x0C 00 02 0x200 or 512 bytes per sector
Byte 0x0D 01 1 sector per cluster. Possible values are
1,2,4,8,16,32,64
Bytes 0x0E-0x0F 02 00 2 reserved sectors FAT starts at end of reserved sectors.
Byte 0x10 02 Number of FATs - 2 is normal
Bytes 0x11-0x12 00 02 0x200 or 512 root entries to the directory
Bytes 0x13-0x14 60 F4 0xF460 number of sectors
Byte 0x15 F8 Media type
F8 fixed disk
FB removeable disk
Bytes 0x16-0x17 F3 00 0xF3 Sectors per FAT
Bytes 0x18-0x19 00 3F 0x3F Sectors per track - with modern disks this has no real meaning
Bytes 0x1A-0x1B 00 FF 0xFF Number of heads, as above of no real meaning any more
Bytes 0x1C-0x1F 20 00 00 00 0x20 Hidden sectors. This is the number of sectors from the physical start of the disk.
ie, It should be the address of this sector
Bytes 0x20-0x23 00 00 00 00 The total number of sectors. If the value fits in Bytes0x13-0x14 this field is blank
If the number of sectors is greater than 16 bits, this field is used.
Bytes 0x26-0x2A 29 B7 E1 51 0x51E1B729 Volume serial number
Bytes 0x2B-0x35 NO NAME Volume Name
Bytes 0x2c-0x3D FAT16 File system, such as FAT12, FAT32
Bytes 0x3e-45 Resevered for future use
Additions for FAT32
Bytes 0x24-0x27 Sectors per file allocation table
Bytes 0x2c-0x2F Cluster number for directory
These are the values that are used in the Recover FAT function