Max FAT16 Partition Size in Windows 95
The original release of Windows 95 relied on the FAT16 file system, which imposed a hard maximum partition size limit of 2 gigabytes (2,048 megabytes). This constraint was a direct consequence of the 16-bit cluster addressing system paired with a maximum cluster size of 32 kilobytes. This limitation forced users with larger hard drives to divide their storage into multiple drive letters until Microsoft introduced FAT32 in later OEM updates.
The 2 GB Limit Explained
The maximum partition size supported by the original FAT16 implementation in Windows 95 is 2 GB.
This limitation stems from two fundamental architectural constraints of FAT16 under MS-DOS 7.0 and original Windows 95:
- 16-bit Cluster Addressing: FAT16 uses a 16-bit integer to address allocation units (clusters). This theoretically allows for \(2^{16}\) (65,536) clusters, though several values are reserved for system markers, leaving approximately 65,526 usable clusters.
- Maximum Cluster Size: To maintain compatibility and system stability, the maximum cluster size supported by the MS-DOS and Windows 95 implementation of FAT16 was set to 64 sectors per cluster. Given standard sector sizes of 512 bytes, this yielded a maximum cluster size of 32 KB (32,768 bytes).
Multiplying the maximum number of clusters by the maximum cluster size yields the ceiling:
\[\approx 65,526 \text{ clusters} \times 32\text{ KB} \approx 2\text{,097,152 KB} = 2\text{ GB}\]
While Windows NT had a specific implementation allowing 64 KB clusters (enabling 4 GB partitions), this was not compatible with the original Windows 95 environment.
The Impact of the 2 GB Ceiling
During the mid-1990s, hard drive capacities expanded rapidly beyond 2 GB. Because of the FAT16 restriction, users installing a 4 GB or 8 GB drive on the original retail release of Windows 95 had to divide the physical disk into multiple logical partitions—such as C:, D:, E:, and F:—each not exceeding 2 GB.
Additionally, using large 2 GB partitions under FAT16 led to significant internal fragmentation, known as "slack space." Because files had to occupy clusters in 32 KB increments, even a tiny 1 KB text file consumed an entire 32 KB block of disk space.
The Transition to FAT32
Microsoft resolved this limitation in August 1996 with the release of Windows 95 OSR2 (OEM Service Release 2). OSR2 introduced FAT32, which uses 28-bit cluster addressing to support partition sizes up to 2 terabytes, effectively ending the 2 GB partition barrier for consumer PCs.