BIOS parameter block
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. (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).
FAT12 / FAT16
DOS 2.0 BPB
Format of standard DOS 2.0 BPB for FAT12 (13 bytes):
DOS 3.0 BPB
Format of standard DOS 3.0 BPB for FAT12 and FAT16 (19 bytes), already supported by some versions of MS-DOS 2.11:
DOS 3.2 BPB
Format of standard DOS 3.2 BPB for FAT12 and FAT16 (21 bytes):
DOS 3.31 BPB
Format of standard DOS 3.31 BPB for FAT12, FAT16 and FAT16B (25 bytes):
DOS 3.4 EBPB
Format of PC DOS 3.4 and OS/2 1.0-1.1 Extended BPB for FAT12, FAT16 and FAT16B (32 bytes):
FAT12 / FAT16 / HPFS
DOS 4.0 EBPB
Format of DOS 4.0 and OS/2 1.2 Extended BPB for FAT12, FAT16, FAT16B and HPFS (51 bytes):
FAT32
DOS 7.1 EBPB
Format of short DOS 7.1 Extended BIOS Parameter Block (60 bytes) for FAT32:
Format of full DOS 7.1 Extended BIOS Parameter Block (79 bytes) for FAT32:
NTFS
Format of Extended BPB for NTFS (73 bytes):
exFAT BPB
exFAT does not use a BPB in the classic sense. Nevertheless, the volume boot record in sector 0 is organized similarly to BPBs.
See also
References
Further reading
- de Boyne Pollard, Jonathan. "All about BIOS Parameter Blocks". Frequently Given Answers. Archived from the original on 2017-09-09. Retrieved 2016-04-18. — a description of BPBs, from version 2.0 to version 7.0
- Christopher, Ken W.; Feigenbaum, Barry A.; Saliga, Shon O. (1990). "9: DOS Disk Usage". Developing applications using DOS. Wiley. ISBN 0-471-52231-7. — In the "processing the BIOS parameter block" section the authors describe the evolution of the BIOS parameter block from the MS-DOS version 2.0 BPB to the PC DOS version 4.0 BPB, and label each field with the DOS version that introduced it.
- Townsend, Carl (1989). "4: Disk organization and management". Advanced MS-DOS Expert Techniques for programmers. Howard M. Sams. ISBN 0-672-22667-7. — Figure 4.3 contains a diagram of the version 4.0 BPB and states that the layout of BPBs "is not defined by Microsoft and can vary with different vendors". At the time that the book was written, this was true. Microsoft first publicly documented the BPB structure in the OS/2 Developers' Toolkit.
- Verstak, Alex (1998-03-10). "FAT Boot Sector". Archived from the original on 2016-07-30. — Verstak reverse engineers the BIOS parameter block. The paper contains several errors. One such is its statement that "the presence of the EBPB in FAT32 is not documented by Microsoft". See:
- Microsoft. "Chapter 10 - Disks and File Systems". Microsoft Windows 98 Resource Kit. Archived from the original on 2017-09-09. Retrieved 2017-09-09. — Microsoft documents a version 4.0 BPB and a new "FAT32 BIOS Parameter Block (BPB)" (a version 7.0 BPB) for DOS-Windows 98 that is "larger than a standard BPB", has an "identical structure to a standard BPB", but that also "includes several extra fields".
- Microsoft. "Chapter 32 - Disk Concepts and Troubleshooting". Microsoft Windows 2000 Professional Resource Kit. Archived from the original on 2006-08-10. Retrieved 2006-06-01. — Microsoft documents extended BPBs on both FAT16 and FAT32 volumes. It also documents BPBs on NTFS volumes.
- Microsoft. "How NTFS Works". Microsoft Windows Server 2003 NTFS Technical Reference. Archived from the original on 2016-07-30. — The table "BPB and Extended BPB Fields on NTFS Volumes" describes BPBs on NTFS volumes. The descriptions of several fields contradict those given in the Windows 2000 Resource Kit.
- de Boyne Pollard, Jonathan. "The meaning and use of the OEM Name field in volume boot blocks". Frequently Given Answers. Archived from the original on 2017-09-09. Retrieved 2016-06-04. — an issue that affects BPBs
- Paul, Matthias R. (2004-08-25). "NOVOLTRK.REG". www.drdos.org. Archived from the original on 2016-03-04. Retrieved 2011-12-17. [1]
- Paul, Matthias R. (2002-02-20). "Need DOS 6.22 (Not OEM)". Newsgroup: alt.msdos.programmer. Archived from the original on 2017-09-09. Retrieved 2006-10-14. — on the misuse of OEM labels and Microsoft's Volume Tracker
- Paul, Matthias R. (2002-08-12). "File System ID - "The alt.os.development boot sector descriptors standards committee"". Newsgroup: alt.os.development. Archived from the original on 2022-05-29. Retrieved 2019-07-29.
- Bass, Wally (1994-02-14). "Cluster Size". Newsgroup: comp.os.msdos.programmer. Archived from the original on 2017-09-09. Retrieved 2006-10-14.
- Elliott, John C. (2006-04-17) [2004-06-18]. "On OEM IDs". Seasip.info. 1.3. Archived from the original on 2019-04-08. Retrieved 2019-07-29.
- Dye, Charles E. (1999-03-20). "FDISK problems". delorie.com. Archived from the original on 2019-07-29. Retrieved 2019-07-29.
- Anonymous (2004-06-15). "I hope this is helpful about Microsoft and Caldera DR-DOS and OEM IDs". Groklaw. Retrieved 2019-07-29.[permanent dead link]
- Kilmer, Jen (2013-05-21). "Evil :) DOS6 FAT". Newsgroup: comp.os.os2.misc. Archived from the original on 2022-05-29. Retrieved 2019-07-29.