FAT32 Features
The following topics describe the FAT32 file system.
Partition Types
The following are all the valid partition types and their corresponding values for use in the Part_FileSystem member of the s_partition structure.
Value |
Description |
PART_UNKNOWN (00h) |
Unknown |
PART_DOS2_FAT (01h) |
12-bit FAT |
PART_DOS3_FAT (04h) |
16-bit FAT. Partitions smaller than 32MB. |
PART_EXTENDED (05h) |
Extended MS-DOS Partition |
PART_DOS4_FAT (06h) |
16-bit FAT. Partitions larger than or equal to 32MB. |
PART_DOS32 (0Bh) |
32-bit FAT. Partitions up to 2047GB. |
PART_DOS32X (0Ch) |
Same as PART_DOS32 (0Bh), but uses Logical Block Address Int 13h extensions. |
PART_DOSX13 (0Eh) |
Same as PART_DOS4_FAT (06h), but uses Logical Block Address Int 13h extensions. |
PART_DOSX13X (0Fh) |
Same as PART_EXTENDED (05h), but uses Logical Block Address Int 13h extensions. |
s_partition (FAT32)
Note:
Values for head and track are 0-based. Sector values are 1-based. This structure is implemented in Windows OEM Service Release 2 and later.
- s_partition STRUC
- Part_BootInd DB ?
- Part_FirstHead DB ?
- Part_FirstSector DB ?
- Part_FirstTrack DB ?
- Part_FileSystem DB ?
- Part_LastHead DB ?
- Part_LastSector DB ?
- Part_LastTrack DB ?
- Part_StartSector DD ?
- Part_NumSectors DD ?
- s_partition ENDS
Members
- Part_BootInd
- Specifies whether the partition is bootable or not. This value could be set to PART_BOOTABLE (80h), or PART_NON_BOOTABLE(00h). The first partition designated as PART_BOOTABLE is the boot partition. All others are not. Setting multiple partitions to PART_BOOTABLE will result in boot errors.
- Part_FirstHead
- The first head of this partition. This is a 0-based number representing the offset from the beginning of the disk. The partition includes this head.
- Part_FirstSector
- The first sector of this partition. This is a 1-based, 6-bit number representing the offset from the beginning of the disk. The partition includes this sector. Bits 0 through 5 specify the 6-bit value; bits 6 and 7 are used with the Part_FirstTrack member.
- Part_FirstTrack
- The first track of this partition. This is an inclusive 0-based, 10-bit number that represents the offset from the beginning of the disk. The high 2 bits of this value are specified by bits 6 and 7 of the Part_FirstSector member.
- PartFileSystem
- Specifies the file system for the partition. The following are acceptable values:
Value |
Description |
PART_UNKNOWN(00h) |
Unknown. |
PART_DOS2_FAT(01h) |
12-bit FAT. |
PART_DOS3_FAT(04h) |
16-bit FAT. Partition smaller than 32MB. |
PART_EXTENDED(05h) |
Extended MS-DOS Partition. |
PART_DOS4_FAT(06h) |
16-bit FAT. Partition larger than or equal to 32MB. |
PART_DOS32(0Bh) |
32-bit FAT. Partition up to 2047GB. |
PART_DOS32X(0Ch) |
Same as PART_DOS32(0Bh), but uses Logical Block Address Int 13h extensions. |
PART_DOSX13(0Eh) |
Same as PART_DOS4_FAT(06h), but uses Logical Block Address Int 13h extensions. |
PART_DOSX13X(0Fh) |
Same as PART_EXTENDED(05h), but uses Logical Block Address Int 13h extensions.
Same as PART_EXTENDED(05h), but uses Logical Block Address Int 13h extensions. |
- Part_LastHead
- The last head of the partition. This is a 0-based number that represents the offset from the beginning of the disk. The partition includes the head specified by this member.
- Part_LastSector
- The last sector of this partition. This is a 1-based, 6-bit number representing offset from the beginning of the disk. The partition includes the sector specified by this member. Bits 0 through 5 specify the 6-bit value; bits 6 and 7 are used with the Part_LastTrack member.
- Part_LastTrack
- The last track of this partition. This is a 0-based, 10-bit number that represents offset from the beginning of the disk. The partition includes this track. The high 2 bits of this value are specified by bits 6 and 7 of the Part_LastSector member.
- Part_StartSector
- Specifies the 1-based number of the first sector on the disk. This value may not be accurate for extended partitions. Use the Part_FirstSector value for extended partitions.
- Part_NumSectors
- The 1-based number of sectors in the partition.