NTFS vs. FAT
ONE GREAT STRENGTH OF WINDOWS NT is its ability to support multiple file
systems. This ability stems from NT's modular approach to file system support.
To support each file system, NT uses a low-level driver that's part of the
Windows NT Executive. So creating support for additional file systems is as easy
as developing and installing a new driver. (The sidebar, "Windows NT File Systems," on page 96, shows the file systems available under NT and
provides a general description of each.)
An important decision in setting up an NT system is choosing a primary file
system. With NT 3.5x, you had a choice of three file systems: NT File System
(NTFS), File Allocation Table (FAT), and the OS/2 High-Performance File System
(HPFS). In addition to support for the NTFS and FAT file systems, NT supports
the CD-ROM File System (CDFS) for accessing data on PC-compatible CD-ROMs. NT
4.0 supports NTFS and FAT (to see how to make HPFS work with NT 4.0, see the
sidebar, "Using HPFS with NT 4.0," page 98).
To decide what's right for your situation, you need to understand NTFS's and
FAT's capabilities, advantages, and disadvantages. The sidebar, "Choosing
an NT File System,"
on page 100, presents the pluses and minuses of both
file systems. Let's start this look at file systems by clarifying some
disk-related concepts and terms.
Disky Business
Every disk can contain partitions, or structural divisions. The two
types of drive partitions are primary and extended. A
primary partition is the only type that can contain an OS. You can
assign a drive letter to each of up to four primary partitions on one physical
drive. An extended partition is a special type of partition that you can
subdivide into one or more logical drives. Each logical drive can have
its own drive letter. You can have only one extended partition per physical
drive, but the extended partition can have multiple logical drives (the number
of logical drives on an extended partition has no practical limit). Each primary
partition and each logical drive is formatted independently and can use a
different file system.
A volume is a primary partition or logical drive that you format
with a file system. In fact, any medium you can format, including a removable
disk such as a floppy or CD-ROM, can be a volume.
System and Boot Partitions
NT gives special names to particular disk partitions. For example, the system
partition contains hardware-specific files for booting the system. These
files include the NT Boot Manager and boot.ini, ntdetect.com, and ntldr (osloader
on RISC-based systems). The system partition can contain the NT installation
directory.
On Intel x86-based computers, you can format the system partition with FAT
or NTFS. On RISC-based computers, you must format the system partition with FAT.
FAT partitions don't have NTFS's security capabilities, so NT 4.0 includes a new
feature to secure the FAT system partition on a RISC-based NT system. From the
NT Disk Administrator's partition menu, choose Secure System Partition.
The system asks you to confirm the request. Click OK, and reboot the system to
activate security on the system partition. With this feature, only
Administrators group members can access the FAT system partition.
Another NT disk partition is the boot partition. Despite its name,
this partition isn't necessarily the drive the system boots from. Instead, it
contains the NT installation directory you choose during NT setup. The term boot
refers to the files required to start NT, not the computer. The boot partition
can be the same as the system partition. On RISC and Intel NT systems, the boot
partition can be on a FAT or NTFS partition.
For maximum system security, administrators of RISC-based systems will want
to consider separate partitions for the boot partition and the system partition
and consider securing the system partition with the Secure System Partition
option. This approach puts the NT system files on an NTFS partition (for better
security and protection from data corruption than with FAT) and prevents access
to the NT system files if the system boots from a DOS floppy, unless you use
NTFSDOS (a shareware utility that can access an NTFS drive)--for information on
NTFSDOS, see Mark Russinovich and Bryce Cogswell, "NTFSDOS Poses Little
Security Risk," and Joel Sloss, "That Depends on Your Definition of
Secure," September 1996).
The FAT File System
FAT is the granddaddy of all PC file systems. Several flavors of FAT have
emerged over time, but the core technology is largely unchanged.
Features
Experienced DOS users will recognize some distinguishing characteristics of
the FAT file system. It uses the file allocation table (FAT's namesake) to track
files and directories. The system stores this table near the beginning of the
FAT volume. To prevent corruption, the system automatically maintains a second
copy of the table on the disk and can access this copy if the primary table
becomes corrupt. The table and the volume's root (main) directory must be in
specific locations on the disk so the system can access files needed to boot
from a FAT volume.
The table needs constant updating, which requires that the hard drive heads
continually return to the beginning of the volume. As a result, FAT can
cause a severe performance hit on large volumesthe larger the volume, the
greater the performance penalty.
FAT stores files on a first-come, first-served basis: The system writes
files to disk in the first available area. Over time, this method can result in
heavy file fragmentation (files are in multiple, noncontiguous disk blocks) on
FAT volumes and is another performance killer. To remedy this problem, you have
to run a disk defragmentation program.
As of this writing, the only NT disk defragmentation tool is Executive
Software's DISKEEPER for Windows NT. No one utility can work with all the NT
versions and service packs, and DISKEEPER is no different. With NT 3.5x,
fragmentation utilities had to be specific to a particular NT version or service
pack. If you use such a utility on a different version or service pack level,
you can corrupt data. NT 4.0 solves this problem by including a disk
defragmentation API. You can expect to see several new NT defragmentation tools
available in the near future.
Another disadvantage to FAT is that its directory structure has no formal
organization, so FAT can't automatically sort folders and filenames in a
directory. Locating a file on a large FAT volume can take longer than searching
an NTFS volume with automatic directory sorting.
Uses for FAT Volumes
So why use FAT? It is the most popular and widely used PC file
system because it's been the only choice for millions of DOS users worldwide
since DOS arrived in the early 1980s.
Even on systems, such as NT, that can support additional file systems, FAT
can be the best choice. Multiboot systems (those with more than one OS
installed) usually have at least one FAT volume because many OSs, including
MS-DOS, Windows 3.x, Windows for Workgroups, Windows 95, OS/2, and NT, support
FAT. It can be the best choice for small volumes because its simple nature and
low overhead make it fast on these volumes. This advantage is also why FAT is
the only choice for floppy disk formats in NT.
NT can access FAT volumes of up to 4GB, but MS-DOS can recognize FAT
volumes of only up to 2GB. Therefore, keep the volume size to 2GB or smaller
when you create FAT volumes for use by both DOS and NT.
If you use FAT with another OS and switch to NT, you can keep your volumes
formatted as FAT until you're ready to switch to NTFS. However, after you
convert a FAT volume to NTFS, you can use that volume only with NTyou
can't convert that volume back to FAT without backing up, reformatting, and
restoring the volume.
To convert a FAT volume to NTFS, type CONVERT at the command prompt. The
format of the CONVERT command is CONVERT <drive:>/FS: NTFS [/V], where <drive>
is the designation of the drive you want to convert. The /V option tells CONVERT
to run in verbose mode, which gives detailed command output.
A final advantage of FAT is its ability to store programs that you can
access when the system boots under DOS. These programs include setup utilities
for configuring hardware devices and peripheral cards.
When you consider these advantages, don't forget FAT is not as secure as
NTFS. You can easily access FAT volumes with a DOS boot floppy, and FAT provides
only limited directory-level access security. For these reasons, I do not
recommend FAT for network shared volumes. Instead, consider NTFS, which has
file-level security and superior protection from physical access.
If you maintain a disk volume larger than 400MB, consider FAT's potential
to affect performance and usable disk space. Every FAT and NTFS volume uses
clusters, the basic unit of allocation to store disk files. FAT can have large
minimum cluster sizes that reduce the usable storage space on the volume.
Regardless of how small a file or part of a file is, it must take up at
least one cluster of disk space. When a file doesn't take up an entire cluster,
the portion of the cluster that contains no data is wasted. The larger the
cluster, the larger the waste. The amount of disk space wasted by minimum
cluster sizes on FAT volumes becomes exaggerated the larger the volume is.
Larger volumes have larger minimum cluster sizes. Therefore, large volumes that
store many small files will lose a lot of storable space because of the minimum
cluster size problem.
Table 1 lists the default minimum cluster sizes for various FAT
volume sizes. With large FAT volumes (256MB to 2048MB), the wasted drive space
is substantial and is reason enough to choose NTFS for these volumes.
NTFS File System
When NT came out, it included a new file system that Microsoft intended to
be robust, secure, and fast. This system, NTFS, has several advantages over
other file systems.
Security
NTFS's integration with NT security makes NTFS the best choice for volumes
requiring high levels of security. NTFS provides file-level security for setting
permissions on folders and files. These permissions make the most of the
existing local or domain NT accounts database, and you can have different
permissions on different files in the same folder.
Several types of file and folder permissions are available. They include
No Access, which excludes a specified user or group from any access to a
file or folder, and Full Control, which grants full control over
a file or folder, such as the ability to set permissions and take ownership of
it. File and folder permissions use the accounts database of the local NT
computer or domain. You can apply permissions to individual users, user groups,
or everyone.
NTFS also has better protection from unauthorized physical access than FAT:
Users can't access NTFS volumes by booting the system from a DOS diskette. This
restriction is because the NTFS driver that allows access to an NTFS volume
loads with NT.
Despite these security features, NTFS volumes are far from impervious to
intrusion. Utilities such as NTFSDOS and even one that works under LINUX (a UNIX
variant) can grant unauthorized access to NTFS volumes. NTFS can't prevent physical
access to files on NTFS volumes; instead, you have to physically lock away the
computer containing the data or use file encryption, which NTFS doesn't support.
However, third-party products such as Genio USA's CrypEdit or Regnoc Software's
Safe Program let you encrypt data on NTFS volumes.
Another NTFS security-related feature is preventing users from undeleting
files or folders removed from NTFS volumes. Even if the files exist on the
drive, NT doesn't give undelete programs physical disk access to work on an NTFS
volume. (You can, however, use a third-party DOS-based undelete program such as
Symantec's Norton Utilities and Microsoft's Undelete on FAT volumes. These
programs can recover deleted files but make no guarantees.) Although NTFS's
security features can be inconvenient for users with few or no security needs,
these features are central to NTFS and NT security and required for NT's
C2-level security certification.
Reliability
In addition to its extensive memory and application protection features,
NTFS is a reliable file system. When storing data to disk, NTFS records file I/O
events to a special transaction log. If the system crashes or encounters an
interruption, NT can use this log to restore the volume and prevent corruption
from an abnormal program termination or system shutdown. NTFS doesn't commit an
action to disk until it verifies the successful completion of the action. This
precaution helps prevent corruption of an NTFS volume and makes NTFS especially
solid for data storage on standalone systems and network file servers.
NTFS also supports hot-fixing disk sectors, where the OS automatically
blocks out bad disk sectors and relocates data from these sectors. This
housecleaning happens in the background. An application attempting to read or
write data on a hot-fixed area will never know the disk had a problem.
Performance
NTFS is also built for speed. NTFS provides impressive disk I/O performance
on large volumes such as those on file servers or advanced workstations and is
the best file system for such machines. This performance gain applies only to
volumes larger than 400MB because of NTFS's overhead from its security and
reliability features.
NTFS uses a binary tree structure for all disk directories, which reduces
the number of times the system has to access the disk to locate files. This
system is best for large directories, and NT easily outperforms FAT in these
situations. In addition, NTFS automatically sorts files in a folder on the fly.
Another performance-related feature is NTFS's resistance to file
fragmentation. NTFS uses a special process of writing files to disk. This
process minimizes file fragmentation by making intelligent choices about where
to store file data on the disk. In contrast to FAT's first-available method,
NTFS's method of writing files reduces, but does not eliminate, the problem of
file fragmentation on NTFS volumes.
NT also gains an edge over FAT by using relatively small disk allocation
units (cluster sizes) for NTFS volumes. Smaller clusters prevent wasted disk
space on volumes, especially those with numerous small files. Table 2 lists the
default cluster sizes for various NTFS volumes sizes.
As Table 2 shows, the largest NTFS cluster size is 4KB, even on volumes
larger than 2GB. Because NTFS uses small clusters better and has a more
efficient design, its performance doesn't degrade with large volumes, in
contrast to FAT's.
When you format an NT volume, NT chooses a cluster size to fit the volume
size. With NTFS, you can select the cluster size for the volume when you use the
FORMAT command from the NT command prompt (this solution is not possible from
Disk Administrator). To set the cluster size, use the /A switch with the FORMAT
command as follows: FORMAT <drive>/FS:<filesystem /A: <unitsize>
Despite the flexibility this feature provides, you generally won't need to
specify manual NTFS cluster sizes. NT can automatically configure them for you.
NT works best with volumes at the settings it specifies, and changing these
settings can adversely affect your system's performance.
File and Folder Compression
Another important NTFS feature, which was new with NT 3.51, is the ability
to selectively compress individual files and folders on a disk. You can also
compress an entire NTFS volume by compressing the volume's root folder. With NT
3.5x, you compress files and folders through File Manager. In NT 4.0, you select
a file's or folder's Properties dialog by right-clicking the file or folder and
choosing Properties. You can also compress a file or folder with the
command-line utility compact.exe.
No one file system is perfect for all situations. To choose a file system
for a given volume, you have to consider how you will use the volume and what
the security needs will be for information on the volume. Will the volume
require NTFS's file-level security? Do you need to access the volume under DOS
or OS/2? With the information in this article, the information in the sidebar, "Choosing
an NT File System,"
can help you answer these and other questions.
Sean Daily’s very informative October article, “NTFS vs. FAT,” says that one of the advantages of NTFS over FAT is the size of the clusters on the disk. In the article, Tables 1 and 2 illustrate this point. The problem is that Table 1 lists the cluster sizes in a way I don’t understand. As you progress down the table, they read 4KB, 2KB, 4KB, 8KB, 16KB, 32KB. The cluster size cannot be larger, then smaller, then larger again. The values should be 2KB, 4KB, 8KB, 16KB, 32KB, and 64KB.
--Jay Benson,
Jay, thank you for pointing out an area that needs clarification. The reason why the first value is 4KB is that up to 16MB, the value is for a 12-bit FAT; for more than 16MB, the FAT is 16-bit. The source for this information is NT 3.51 MS Knowledge Base article Q140365.
--Sean Daily
It is a great articel, but i dindent find what i was looking for
but thnaks for the help