In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the volume boot record (VBR) describing the physical layout of a data storage volume. On partitioned devices, such as hard disks, the BPB describes the volume partition, whereas, on unpartitioned devices, such as floppy disks, it describes the entire medium. A basic BPB can appear and be used on any partition, including floppy disks where its presence is often necessary; however, certain filesystems also make use of it in describing basic filesystem structures. Filesystems making use of a BIOS parameter block include FAT12 (except for in DOS 1.x), FAT16, FAT32, HPFS, and NTFS. Due to different types of fields and the amount of data they contain, the length of the BPB is different for FAT16, FAT32, and NTFS boot sectors.[1] (A detailed discussion of the various FAT BPB versions and their entries can be found in the FAT article.) Combined with the 11-byte data structure at the very start of volume boot records immediately preceding the BPB or EBPB, this is also called FDC descriptor or extended FDC descriptor in ECMA-107 or ISO/IEC 9293 (which describes FAT as for flexible/floppy and optical disk cartridges).
Format of standard DOS 2.0 BPB for FAT12 (13 bytes):
0x00B
0x00
0x00D
0x02
0x00E
0x03
0x010
0x05
0x011
0x06
0x013
0x08
0x015
0x0A
0x016
0x0B
Format of standard DOS 3.0 BPB for FAT12 and FAT16 (19 bytes), already supported by some versions of MS-DOS 2.11:[2]
0x018
0x0D
0x01A
0x0F
0x01C
0x11
Format of standard DOS 3.2 BPB for FAT12 and FAT16 (21 bytes):
0x01E
0x13
Format of standard DOS 3.31 BPB for FAT12, FAT16 and FAT16B (25 bytes):
0x020
0x15
Format of PC DOS 3.4 and OS/2 1.0-1.1 Extended BPB for FAT12, FAT16 and FAT16B (32 bytes):
0x024
0x19
0x025
0x1A
0x026
0x1B
0x28
0x027
0x1C
Format of DOS 4.0 and OS/2 1.2 Extended BPB for FAT12, FAT16, FAT16B and HPFS (51 bytes):
0x29
0x02B
0x20
0x036
0x2B
Format of short DOS 7.1 Extended BIOS Parameter Block (60 bytes) for FAT32:
0x028
0x1D
0x02A
0x1F
0x02C
0x21
0x030
0x25
0x032
0x27
0x034
0x040
0x35
0x041
0x36
0x042
0x37
0x043
0x38
Format of full DOS 7.1 Extended BIOS Parameter Block (79 bytes) for FAT32:
0x047
0x3C
0x052
0x47
Format of Extended BPB for NTFS (73 bytes):
0x80
0x038
0x2D
0x044
0x39
0x048
0x3D
0x050
0x45
exFAT does not use a BPB in the classic sense. Nevertheless, the volume boot record in sector 0 is organized similarly to BPBs.[3]
0x000
0x003