BIOS parameter block (BPB) là tập hợp của các thông số liên quan đến File Allocation Table.

FAT12/16

Bảng các thông số có trong BPB của FAT12/16:

OffsetNameLengthNoteNotation
0x0BSố byte của mỗi sector1 word (2 bytes)Thường có giá trị là 2.
0x0DSố sector mỗi cluster1 byteThường có giá trị là 8.
0x0ESố sector dành riêng1 wordGiá trị tối thiểu là 1, bao gồm cả boot sector. Nếu giá trị lớn hơn 1, điều đó có nghĩa là đoạn code khởi động máy quá lớn nên không thể lưu vừa vào boot sector.
0x10Số bảng FAT1 byteThường có giá trị là 2.
0x11Số entries trong RDET1 wordDành cho FAT12/16.
0x13Số sector của volume1 wordChỉ lưu được số sectors có giá trị nhỏ hơn 16 bits (65535 sectors, tương ứng với 32 GB). Nếu số lượng các sector lớn hơn 65535, field này sẽ có giá trị là 0 và field ở offset 0x20 sẽ được sử dụng.
0x15Media descriptor1 byte
0x16Số sector của mỗi bảng FAT1 wordDành cho FAT12/16.
0x18Số sector mỗi track1 word
0x1ASố head1 word
0x1CSố sector phía trước phân vùng1 double word
0x20Số sector của volume1 double wordNếu field ở offset 0x13 có giá trị là 0, field này sẽ mang giá trị khác 0.
0x24Physical drive number1 byte
0x25Current head1 byteKhông được sử dụng bởi hệ thống tập tin FAT.
0x26Signature1 byteCần phải là 0x28 hoặc 0x29.
0x27Volume serial number4 bytes
0x2BVolume label11 bytesTừng được dùng để lưu nhãn của volume.
0x36Loại hệ thống tập tin8 bytesCó thể là FAT12 hoặc FAT16.

FAT32

BPB của FAT32 có 36 bytes đầu tiên (tính từ offset 0x24 trở về trước) là tương tự với FAT12 và FAT16.

Các bytes còn lại sẽ có vài chỗ khác biệt:

OffsetNameLengthDecription
0x24Số sector của mỗi bảng FAT1 double word
0x28Các cờ1 wordBits 0-3 cho biết FAT hiện hành. Bit 7 cho biết bản sao chép của FAT có được sử dụng hay không.
0x2APhiên bản của ổ đĩa FAT321 wordByte cao = major version, byte thấp = minor version.
0x2CChỉ số cluster của bảng RDET1 double wordGiá trị thường thấy là 2.
0x30Chỉ số sector của FSINFO1 wordThường có giá trị là 1.
0x32Chỉ số sector của backup boot sector1 wordThường có giá trị là 6.
0x34Dành riêng12 bytes
0x40Physical drive number1 byteVới 0x00 là đĩa mềm và 0x80 là đĩa cứng.
0x41Dành riêng1 byteCó thể là phần byte cao của field trước đó.
0x42Signature1 byteCó giá trị là 0x29
0x43Volume serial number1 double word
0x47Volume label11 bytes
0x52FAT Name8 bytesCó giá trị là FAT32.

Formulas

Các công thức tính vị trí

Vị trí sector đầu tiên của bảng FAT:

Vị trí sector đầu tiên của RDET

Vị trí sector đầu tiên của vùng dữ liệu