FAT: Difference between revisions

Jump to navigation Jump to search
122 bytes added ,  5 years ago
→‎Extended Boot Record: Added hexadecimal numbering to EBPB table
[unchecked revision][unchecked revision]
(→‎BPB (BIOS Parameter Block): Added hexadecimal numbering to BPB table, clarified a couple entries)
(→‎Extended Boot Record: Added hexadecimal numbering to EBPB table)
Line 117:
 
==== Extended Boot Record ====
The extended boot record information comes right after the BPB. The data at the beginning is known as the EBPB. It contains different information depending on whether this partition is a FAT 12, FAT 16, or FAT 32 filesystem. Immediately following the EBPB is the actual boot code, then the standard 0xAA55 boot signature, to fill out the 512-byte boot sector. Offsets shows are from the start of the standard boot record.
 
===== FAT 12 and FAT 16 =====
{| {{wikitable}}
|-
! Offset (from the start of the standard boot recorddecimal)
! Offset (hexadecimal)
! Length (in bytes)
! Meaning
|-
| 36
| 0x024
| 1
| Drive number. The value here should be identical to the value returned by BIOS interrupt 0x13, or passed in the DL register; i.e. 0x00 for a floppy disk and 0x80 for hard disks. This number is useless because the media is likely to be moved to another machine and inserted in a drive with a different drive number.
|-
| 37
| 0x025
| 1
| Flags in Windows NT. Reserved otherwise.
|-
| 38
| 0x026
| 1
| Signature (must be 0x28 or 0x29).
|-
| 39
| 0x027
| 4
| VolumeID 'Serial' number. Used for tracking volumes between computers. You can ignore this if you want.
|-
| 43
| 0x02B
| 11
| Volume label string. This field is padded with spaces.
|-
| 54
| 0x036
| 8
| System identifier string. This field is a string representation of the FAT file system type. It is padded with spaces. The spec says never to trust the contents of this string for any use.
|-
| 62
| 0x03E
| 448
| Boot code.
|-
| 510
| 0x1FE
| 2
| 0xAA55 bootableBootable partition signature 0xAA55.
|}
 
Line 162 ⟶ 171:
{| {{wikitable}}
|-
! Offset (from the start of the standard boot recorddecimal)
! Offset (hexadecimal)
! Length (in bytes)
! Meaning
|-
| 36
| 0x024
| 4
| Sectors per FAT. The size of the FAT in sectors.
|-
| 40
| 0x028
| 2
| Flags.
|-
| 42
| 0x02A
| 2
| FAT version number. The high byte is the major version and the low byte is the minor version. FAT drivers should respect this field.
|-
| 44
| 0x02C
| 4
| The cluster number of the root directory. Often this field is set to 2.
|-
| 48
| 0x030
| 2
| The sector number of the FSInfo structure.
|-
| 50
| 0x032
| 2
| The sector number of the backup boot sector.
|-
| 52
| 0x034
| 12
| Reserved. When the volume is formated these bytes should be zero.
|-
| 64
| 0x040
| 1
| Drive number. The values here are identical to the values returned by the BIOS interrupt 0x13. 0x00 for a floppy disk and 0x80 for hard disks.
|-
| 65
| 0x041
| 1
| Flags in Windows NT. Reserved otherwise.
|-
| 66
| 0x042
| 1
| Signature (must be 0x28 or 0x29).
|-
| 67
| 0x043
| 4
|Volume VolumeIDID 'Serial' number. Used for tracking volumes between computers. You can ignore this if you want.
|-
| 71
| 0x047
| 11
| Volume label string. This field is padded with spaces.
|-
| 82
| 0x052
| 8
| System identifier string. Always "FAT32   ". The spec says never to trust the contents of this string for any use.
|-
| 90
| 0x05A
| 420
| Boot code.
|-
| 510
| 0x1FE
| 2
| 0xAA55 bootableBootable partition signature 0xAA55.
|}
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu