FAT32 Partition Types

The following table displays all valid partition types and their corresponding values for use in the Part_FileSystem member of the s_partition structure.

Partition Type Values

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)

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

Member Name Description
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.
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.