BIOS parameter block

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the volume boot record 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.) ECMA-107 or ISO/IEC 9293 (which describes FAT as for flexible/floppy and optical disk cartridges) also describes this as an FDC descriptor or an FDC extended descriptor.

The standard BPB for FAT16 is as follows:

Field Field Length Hex offset Description
BytesPerSector WORD 0x000B Bytes per sector
SectorsPerCluster BYTE 0x000D Sectors per cluster
ReservedSectors WORD 0x000E Reserved sectors
FatCopies BYTE 0x0010 Number of FATs
RootDirEntries WORD 0x0011 Root entries
NumSectors WORD 0x0013 Small sectors
MediaType BYTE 0x0015 Media descriptor
SectorsPerFAT WORD 0x0016 Sectors per FAT
SectorsPerTrack WORD 0x0018 Sectors per track
NumberOfHeads WORD 0x001A Number of heads
HiddenSectors DWORD 0x001C Hidden sectors
SectorsBig DWORD 0x0020 Large sectors

Extended BPB for FAT16 volumes:

Field Length Hex offset Description
BYTE 0x0024 Physical drive number
BYTE 0x0025 Reserved
BYTE 0x0026 Extended boot signature
DWORD 0x0027 Volume serial number
11 bytes 0x002B Volume label
QWORD 0x0036 File-system type

See also[edit]

References[edit]

  1. ^ Microsoft. Microsoft Windows 2000 Server Operations Guide. Microsoft Press

Further reading[edit]

  • Jonathan de Boyne Pollard. "All about BIOS Parameter Blocks". Frequently Given Answers.  — a description of BPBs, from version 2.0 to version 7.0
  • Ken W. Christopher, Barry A. Feigenbaum, & Shon O. Saliga (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.
  • Carl Townsend (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.
  • Alex Verstak (1998-03-10). "FAT Boot Sector".  — 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.  — 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.  — 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.  — 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.
  • Jonathan de Boyne Pollard. "The meaning and use of the OEM Name field in volume boot blocks". Frequently Given Answers.  — an issue that affects BPBs
  • Matthias Paul (2004-08-25). "NOVOLTRK.REG". www.drdos.org. Retrieved 2011-12-17. 
  • Matthias Paul (2002-02-20). "Need DOS 6.22 (Not OEM)". alt.msdos.programmer. Retrieved 2006-10-14.  — on the misuse of OEM labels and Microsoft's Volume Tracker
  • Wally Bass (1994-02-14). "Cluster Size". comp.os.msdos.programmer. Retrieved 2006-10-14.