BIOS parameter block
Encyclopedia
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 disk
s, 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 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. 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:
Extended BPB for FAT16 Volumes:
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
, the BIOS parameter block, often shortened to BPB, is a data structure
Data structure
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks...
in the Volume Boot Record
Volume Boot Record
A volume boot record is a type of boot sector introduced by the IBM Personal Computer...
describing the physical layout of a data storage volume
Volume (computing)
In the context of computer operating systems, volume is the term used to describe a single accessible storage area with a single file system, typically resident on a single partition of a hard disk. Similarly, it refers to the logical interface used by an operating system to access data stored on...
. On partitioned devices, such as hard disks, the BPB describes the volume partition, whereas, on unpartitioned devices, such as floppy disk
Floppy disk
A floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium, sealed in a rectangular plastic carrier lined with fabric that removes dust particles...
s, 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 FAT16, FAT32
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
, HPFS, and NTFS
NTFS
NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
. 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. 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 |
Further reading
— a description of BPBs, from version 2.0 to version 7.0 — 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. — 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 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 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 documents extended BPBs on both FAT16 and FAT32 volumes. It also documents BPBs on NTFS volumes. — 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. — an issue that affects BPBs — on the misuse of OEM labels and Microsoft's Volume Tracker
-
- — 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".