BPB (FAT32)
The BPB for FAT32 drives is an extended version of the FAT16/FAT12 BPB. It contains identical information to a standard BPB, but also includes several extra fields for FAT32 specific information.
This structure is implemented in Windows OEM Service Release 2 and later.
A_BF_BPB STRUC
A_BF_BPB_BytesPerSector DW ?
A_BF_BPB_SectorsPerCluster DB ?
A_BF_BPB_ReservedSectors DW ?
A_BF_BPB_NumberOfFATs DB ?
A_BF_BPB_RootEntries DW ?
A_BF_BPB_TotalSectors DW ?
A_BF_BPB_MediaDescriptor DB ?
A_BF_BPB_SectorsPerFAT DW ?
A_BF_BPB_SectorsPerTrack DW ?
A_BF_BPB_Heads DW ?
A_BF_BPB_HiddenSectors DW ?
A_BF_BPB_HiddenSectorsHigh DW ?
A_BF_BPB_BigTotalSectors DW ?
A_BF_BPB_BigTotalSectorsHigh DW ?
A_BF_BPB_BigSectorsPerFat DW ?
A_BF_BPB_BigSectorsPerFatHi DW ?
A_BF_BPB_ExtFlags DW ?
A_BF_BPB_FS_Version DW ?
A_BF_BPB_RootDirStrtClus DW ?
A_BF_BPB_RootDirStrtClusHi DW ?
A_BF_BPB_FSInfoSec DW ?
A_BF_BPB_BkUpBootSec DW ?
A_BF_BPB_Reserved DW 6 DUP (?)
A_BF_BPB ENDS
Members
- A_BF_BPB_BytesPerSector
- The number of bytes per sector.
- A_BF_BPB_SectorsPerCluster
- The number of sectors per cluster.
- A_BF_BPB_ReservedSectors
- The number of reserved sectors, beginning with sector 0.
- A_BF_BPB_NumberOfFATs
- The number of File Allocation Tables.
- A_BF_BPB_RootEntries
- This member is ignored on FAT32 drives.
- A_BF_BPB_TotalSectors
- The size of the partition, in sectors.
- A_BF_BPB_MediaDescriptor
- The media descriptor. Values in this member are identical to standard BPB.
- A_BF_BPB_SectorsPerFAT
- The number of sectors per FAT.
Note: This member will always be zero in a FAT32 BPB. Use the values from A_BF_BPB_BigSectorsPerFat and A_BF_BPB_BigSectorsPerFatHi for FAT32 media.
- A_BF_BPB_SectorsPerTrack
- The number of sectors per track.
- A_BF_BPB_Heads
- The number of read/write heads on the drive.
- A_BF_BPB_HiddenSectors
- The number of hidden sectors on the drive.
- A_BF_BPB_HiddenSectorsHigh
- The high word of the hidden sectors value.
- A_BF_BPB_BigTotalSectors
- The total number of sectors on the FAT32 drive.
- A_BF_BPB_BigTotalSectorsHigh
- The high word of the FAT32 total sectors value.
- A_BF_BPB_BigSectorsPerFat
- The number of sectors per FAT on the FAT32 drive.
- A_BF_BPB_BigSectorsPerFatHi
- The high word of the FAT32 sectors per FAT value.
- A_BF_BPBExtFlags
- Flags describing the drive. Bit 8 of this value indicates whether or not information written to the active FAT will be written to all copies of the FAT. The low 4 bits of this value contain the 0-based FAT number of the Active FAT, but are only meaningful if bit 8 is set. This member can contain a combination of the following values.
Value |
Description |
BGBPB_F_ActiveFATMsk (000Fh) |
Mask for low four bits. |
BGBPB_F_NoFATMirror (0080h) |
Mask indicating FAT mirroring state. If set, FAT mirroring is disabled. If clear, FAT mirroring is enabled. |
Bits 4-6 and 8-15 are reserved.
- A_BF_BPB_FS_Version
- The file system version number of the FAT32 drive. The high byte represents the major version, and the low byte represents the minor version.
- A_BF_BPB_RootDirStrtClus
- The cluster number of the first cluster in the FAT32 drive's root directory.
- A_BF_BPB_RootDirStrtClusHi
- The high word of the FAT32 starting cluster number.
- A_BF_BPB_FSInfoSec
- The sector number of the file system information sector. The file system info sector contains a BIGFATBOOTFSINFO structure. This member is set to 0FFFFh if there is no FSINFO sector. Otherwise, this value must be non-zero and less than the reserved sector count.
- A_BF_BPB_BkUpBootSec
- The sector number of the backup boot sector. This member is set to 0FFFFh if there is no backup boot sector. Otherwise, this value must be non-zero and less than the reserved sector count.
- A_BF_BPB_Reserved
- Reserved member. Do not use.