What’s FAT?
FAT may sound like a strange name for a file system, but it’s actually an acronym standing for file allocation table. Introduced in 1981, FAT is ancient in computer terms. Because of its age, most operating systems—including Windows NT, Windows 98, MacOS, and some versions of UNIX—offer support for FAT.

The FAT file system limits filenames to the 8.3 naming convention, meaning that a filename can have no more than eight characters before the period and no more than three characters after the period. Filenames in a FAT file system must also begin with a letter or number and can’t contain spaces. Filenames aren’t case sensitive.

What about VFAT?
Perhaps you’ve also heard of a file system called VFAT. VFAT, which is an extension of the FAT file system, was introduced with Windows 95. VFAT maintains backward compatibility with FAT, but it relaxes the rules. For example, VFAT filenames can contain up to 255 characters, spaces, and multiple periods. Although VFAT preserves the case of filenames, it isn’t considered case sensitive.

When you create a long filename (longer than 8.3) with VFAT, the file system actually creates two filenames. One is the actual long filename; this name is visible to Windows 95, Windows 98, and Windows NT (versions 4.0 and above). The second filename is a DOS alias, which is an abbreviated form of the long filename. The DOS alias is formed from the first six characters of the long filename (not counting spaces), a tilde, and a numeric trailer.

An interesting side effect results from the way VFAT stores long filenames. When you create a long filename with VFAT, it uses one directory entry for the DOS alias and another entry for each 13 characters of the long filename. In theory, a single long filename could occupy up to 21 directory entries. The root directory has a limit of 512 files, but if you were to use the maximum-length long filenames in the root directory, you could cut this limit to a mere 24 files. Therefore, you should use long filenames very sparingly in the root directory. Other directories aren’t affected by this limit.

We’re discussing VFAT because it’s becoming more common than FAT. But aside from the differences we’ve mentioned, it has the same limitations. When you tell Windows NT to format a partition as FAT, it actually formats the partition as VFAT. The only time you’ll have a true FAT partition under Windows NT Version 4.0 is when you use another operating system (such as MS-DOS) to format the partition.

What’s NTFS?
Microsoft created the new technology file system (NTFS) to compensate for the features it felt FAT lacked. These features include increased fault tolerance, enhanced security, and so on. Now that you know a little about these file systems, let’s compare their performance in various situations.

Compatibility
Before you decide which type of file system to use on a partition, you must consider compatibility. If multiple operating systems will access the partition, you must use a file system that all operating systems can read. Usually, this means using FAT, because of its universal compatibility. Only Windows NT supports NTFS partitions.

Keep in mind, however, that this limitation applies only to the local machine. For example, if Windows NT and Windows 98 are loaded on the same machine and both operating systems require access to a common partition, you must format that partition as FAT. However, if Windows NT is the only operating system on the PC, you can format the partition as NTFS, even if computers running other operating systems will access the partition across the network.

Volume size
Another determining factor is the physical size of your partition. FAT supports partition sizes only up to 2 GB. If your partition size is larger than 2 GB, you must either format it as NTFS or break it into smaller partitions. Keep in mind that NTFS has more overhead than FAT. If your partition size is smaller than 200 MB, you should use FAT to avoid losing a major chunk of disk space to the overhead associated with NTFS. The maximum size of an NTFS partition is 16 EB (exabytes—an exabyte is 2^64 bytes, or 1,024 terabytes).

Fault tolerance
Once you’ve considered your partition size and compatibility issues, you have some flexibility in determining which file system is right for you. When making this decision, you should consider fault tolerance. Windows NT offers software support for several alternate disk-access methods that increase speed and/or fault tolerance. These options include disk striping and disk striping with parity. Many of these options require NTFS. If you’re planning to use a hardware-based stripe set, you can use either file system.

Even without these advanced fault-tolerant options, NTFS includes built-in fault-tolerant capabilities well beyond the capabilities of FAT. For example, when NTFS writes a change to the hard disk, it makes a record of the change in a log file. In the event of a power failure or a disk error, Windows NT can use these log files to repair your data.

NTFS also repairs hard disk errors automatically without displaying an error message. When Windows NT writes a file to an NTFS partition, it keeps a copy of the file in memory. It then reads back the file to make sure it matches the copy stored in memory. If the copies don’t match, Windows NT marks that section of the hard disk as corrupted and won’t try to use it again. It then uses the copy of the file stored in memory to rewrite the file to an alternate location on the hard disk.

The FAT file system doesn’t offer any of these safety features. While FAT does maintain two copies of the file-allocation table, in case one copy is damaged, it’s incapable of automatically fixing errors. Instead, you must run a utility such as Scandisk.

Security
As we mentioned before, NTFS has a built-in security system. You can grant various permissions to directories and to individual files. These permissions protect files and directories locally and remotely. For example, if someone were to sit down at a PC containing restricted files, NTFS would protect those files.

If you’re using FAT, you’re dependent on share permissions for security. Share permissions will protect a file across the network, but they offer no local protection. A person trying to access restricted files could simply sit down at the local PC and gain full access to these files. Another disadvantage to share permissions is that they can be messy to manage. Suppose you have hundreds of users on a server, each with his or her own directories. You could potentially end up with hundreds of shares—and some of them may overlap, which creates additional complications.

File compression
Another advantage to NTFS is its native support for file compression. NTFS compression is much better than its predecessors. It offers you the chance to compress individual files and directories of your choice. Because it compresses individual files, a minor hard disk problem won’t foul up your compression scheme and make you lose everything. Compressing individual files and directories also lets you limit compression to seldom-used files. By doing so, you won’t slow your operating system by making it decompress files each time it needs to access them.

The system partition
This article may seem to say that NTFS is superior to FAT and that unless you have a small partition or need compatibility with other operating systems, you should always use NTFS. However, this isn’t the case.

As we mentioned earlier, NTFS partitions are accessible only via Windows NT. If you have a fatal error with Windows NT, you can’t simply boot a system disk to a command prompt and fix a problem on an NTFS partition. To get around this problem, Microsoft recommends installing a second copy of Windows NT on your hard disk and using this copy to repair problems that occur on NTFS partitions.

Unfortunately, this method has some serious drawbacks. For starters, a second copy of Windows NT could consume up to 150 MB, depending on which options you choose to load. Second, during the boot process, both copies share common files. Therefore, if your system partition (the partition your PC boots from) is formatted as NTFS and has a problem, you may not be able to boot either copy of Windows NT to fix the problem. While you may think the odds of a system partition error are slim, remember that many changes you might make to your disk partitions result in having to manually update the Boot.ini file. If you incorrectly update this file, Windows NT will become unbootable. Since this is an initial boot file on the system partition, every installed copy of Windows NT would share this file.

A better solution is to format your system partition as FAT. If you’re concerned about security, simply make the system partition small and don’t place anything other than the Windows NT system files on it. Remember, a FAT partition is safe from a security standpoint, as long as no unauthorized person has physical access to the machine.

Converting to NTFS
If you’ve read this article and wish you could use NTFS on some of your partitions that already contain data, you can easily convert a partition to NTFS. To do so, open an MS-DOS Prompt window and type the following command:

CONVERT drive: /FS:NTFS

For example, if you want to convert your D drive to NTFS, you’d replace the word drive with the letter D, as follows:

CONVERT D: /FS:NTFS