There are several variants of the FAT file system (e.g.
FAT12,
FAT16 and
FAT32). FAT16 refers to both the original group of FAT file systems with 16-bit wide cluster entries and also to later variants. "
VFAT" is an optional extension for long file names, which can work on top of any FAT file system. Volumes using VFAT long-filenames can be read also by operating systems not supporting the VFAT extension.
Original 8-bit FAT }} The original FAT file system (or
FAT structure, as it was called initially) was designed and implemented by
Marc McDonald, MS-DOS 3.0 to MS-DOS 3.30 could still access FAT12 partitions under 15 MB, but required all 16 MB-32 MB partitions to be FAT16, and so could not access MS-DOS 2.0 partitions in this size range. MS-DOS 3.31 and higher could access 16 MB-32 MB FAT12 partitions again.
Logical sectored FAT MS-DOS and PC DOS implementations of FAT12 and FAT16 could not access disk partitions larger than 32 megabytes. Several manufacturers developed their own FAT variants within their OEM versions of MS-DOS. Also, if they no longer need to be recognized by their original operating systems, existing partitions can be "converted" into FAT12 and FAT16 volumes more compliant with versions of MS-DOS/PC DOS 4.0–6.3, which do not support sector sizes different from 512 bytes, or by formatting the volume on a non-Windows system or on a Windows 9x system with FAT32 support and then transferring it to the Windows NT system. In August 2024, Microsoft released an update to Windows 11 preview builds that allows for the creation of FAT32 partitions up to 2TB in size. The maximal possible size for a file on a FAT32 volume is 4
GB minus 1 byte, or 4,294,967,295 (232 − 1) bytes. This limit is a consequence of the 4-byte file length entry in the directory table and would also affect relatively huge FAT16 partitions enabled by a sufficient sector size. Like FAT12 and FAT16, FAT32 does not include direct built-in support for long filenames, but FAT32 volumes can optionally hold
VFAT long filenames in addition to short filenames in exactly the same way as VFAT long filenames have been optionally implemented for FAT12 and FAT16 volumes.
Development FAT32 was introduced with
Windows 95 OSR2 (MS-DOS 7.1) in 1996, although reformatting was needed to use it, and
DriveSpace 3 (the version that came with Windows 95 OSR2 and Windows 98) never supported it.
Windows 98 introduced a utility to convert existing hard disks from FAT16 to FAT32 without loss of data. In the Windows NT line, native support for FAT32 arrived in
Windows 2000. A free FAT32 driver for
Windows NT 4.0 was available from
Winternals, a company later acquired by Microsoft. The acquisition of the driver from official sources is no longer possible. Since 1998, Caldera's dynamically loadable
DRFAT32 driver could be used to enable FAT32 support in DR-DOS. The first version of DR-DOS to natively support FAT32 and LBA access was OEM DR-DOS 7.04 in 1999. That same year
IMS introduced native FAT32 support with
REAL/32 7.90, and
IBM 4690 OS added FAT32 support with version 2.
Ahead Software provided another dynamically loadable FAT32.EXE driver for DR-DOS 7.03 with
Nero Burning ROM in 2004. IBM introduced native FAT32 support with OEM PC DOS 7.1 in 1999. Two partition types have been reserved for FAT32 partitions,
0x0B and
0x0C. The latter type is also named
FAT32X in order to indicate usage of LBA disk access instead of CHS. On such partitions, CHS-related geometry entries, namely the
CHS sector addresses in the MBR as well as the number of
sectors per track and the
number of heads in the EBPB record, may contain no or misleading values and should not be used. == Extensions ==