File Systems: FAT16 versus FAT32

While the venerable DOS FAT16 file system continues to be the lingua franca of the PC world—despite several attempts to relegate it to the dinosaur graveyard—Windows 98 introduces a new FAT32 file system with a number of important advantages.

Perhaps the biggest advantage of a FAT32 (32-bit) file system is how the disk drive allocates space. With the 16-bit addressing scheme used by the old FAT system (now called FAT16), there is a limit on the number of clusters that can be created on a single drive (or on a logical partition on a physical drive).

In brief, since the FAT16 can handle only 216 addresses, hard drives larger than 512MB need to allocate file space in 16KB blocks. This means that any fraction of a file less than 16KB still occupies a full 16KB block. Larger files occupy multiple blocks but, on most systems, there tend to be a lot of small files, many less than 100 bytes and even more in the 1KB or 2KB range. For example, in my own Windows 98 directories, I can find hundreds of files that are smaller than 2KB. On a FAT16 system, each of these would occupy a full 16KB of space.

NOTE

Before you decide that my setup is unusual and that this doesn’t really apply to your system, take a few minutes to check the files on your own hard drive. If you have a convenient utility that lets you sort files by size, you should find a very large number of files, in virtually any directory, that are less than 100 bytes and an even larger number that are less than a kilobyte in size. Also, the chances are that you will find a number of files that are 0 bytes in size but still occupy complete clusters.

Of course, a 1GB drive is also limited to 65,536 clusters, where the cluster size becomes 64KB.

The problem with the FAT16 system and the 1GB drive is that any individual file must occupy some integral number of clusters; that is, a file has a minimum size of one cluster. This means that if you write a file that uses only 1KB on a 250MB drive, for example, that 1KB file is still occupying 16KB of space; it is wasting 93.75 percent of that space. But that is only a part of the problem, because that 4.3KB file is occupying 8KB of space 256KB drive. Here the waste is smaller—only 46.25 percent—but this is added to the rest of the lost space on your drive. On a 1GB drive, where the cluster sizes are larger, the problem becomes worse.

The upshot is that only very large files—and you have relatively few of these—actually use space efficiently. The odds are very good that the FAT16 file system wastes 20 to 30 percent or more of your drive space.

Switching to the FAT32 file system, which can handle 232 addresses, means that cluster sizes can be as small as 1KB (although 4KB is much more common). This applies even to 1GB or larger drives, without partitioning. The result is that the amount of wasted drive space can easily fall as low as 2 percent or less.

The drawback, however, is that at present only Windows 98 recognizes the FAT32 file system (just as only Windows NT recognizes the NTFS file system). This means that drives or partitions using FAT32 are not accessible by other operating systems. The good news is that in the future, beginning with Windows NT 5.0, FAT32 should be recognized by more operating systems.

If you are planning to dual-boot Windows 98 and Windows NT 4, the difference in their file systems is a concern. See the “Dual-Boot Systems” section later in the chapter for more information.

TIP

There are several utilities on the market that allow you to convert from FAT16 to FAT32 without losing your existing files or requiring that you reformat the drives or partitions. My own preference for this task is PowerQuest’s Partition Magic, which not only converts from FAT16 to FAT32 (or the reverse), but also allows you to change the cluster size and to resize, create, or delete partitions—all without wiping out the existing data. Other FAT16-to-FAT32 conversion packages offer similar services.

© 1998 SYBEX Inc. All rights reserved.