Windows XP Professional File Systems Overview With this article I will begin focusing on the next section of material which centers on Implementing and Conducting Administration of Resources on Windows XP Professional, this one covering Windows XP Professional file systems. File System Overview To have a good understanding of how and why you can set up or deny access to data on a Windows XP Professional system, you need to have an underlying understanding of any native file security that may or may not be in place. One place to start would be the file system the operating system is utilizing. Windows XP Professional supports the three major computer files systems of File Allocation Table (commonly known as FAT or FAT16), FAT32 and NTFS. FAT16 File Allocation Table (commonly known as FAT or FAT16) is supported by Windows XP Professional, all Windows operating systems, DOS, as well as a host of other non-Microsoft OSes. FAT is allocated in clusters, the size of which are determined by the size of the partition. The larger the partition, the larger the cluster size. The larger the cluster size, the more space is "required" when using it to store data. FAT file system cluster sizes Partition Size Cluster Size FAT Type 0M to less than 16MB 4,096 bytes 12-bit 16M through 128MB 2,048 bytes 16-bit 128 through 256MB 4,096 bytes 16-bit 256 through 512MB 8,192 bytes 16-bit 512 through 1,024MB 16,384 bytes 16-bit 1,024 through 2,048MB 32,768 bytes 16-bit As you can see, with a 2GB partition size, (the maximum allowed under FAT16 in most cases) if you were to save 50 different files, all 1024 bytes (1KB) in actual size (or to have 50 fractions of larger files "fall over" to the next cluster by that same amount), the amount of hard drive space used up would be 1,638,400 bytes (a little over 1 MB), for 51,200 bytes of actual data. You can obviously see that this is a serious problem when there are thousands of small *.DLLs and other types of small files. Also, with the advent of super-inexpensive hard drives that are 80GB in size, you can see where using FAT would be an issue as well. In summary, there are "advantages" for using the FAT file system on a Windows XP Professional installation: MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, and some UNIX operating systems can use FAT16. If there is some reason to dual boot the system, FAT16 allows you the greatest number of options. There are many software tools that can address problems and recover data on FAT16 volumes. If you have a startup failure, you can start the computer by using a bootable floppy disk to troubleshoot the problem. FAT16 is efficient, in speed and storage, on volumes smaller than 256 MB. (Those 50 files I mentioned above, all 1024 bytes (1KB) in actual size, would use up "only" 409,600 bytes on a 400MB partition formatted with FAT16 and "only" 204,800 bytes on a 250MB partition.) There are also some FAT16 disadvantages as well: The root folder (usually the C:\ drive) has a limit of 512 entries. The use of long file names can significantly reduce the number of available entries. FAT16 is limited to 65,536 clusters, but because certain clusters are reserved, it has a practical limit of 65,524. The largest FAT16 volume on Windows 2000 and Windows XP Professional is limited to 4 GB and uses a cluster size of 64 KB. To maintain compatibility with MS-DOS, Windows 95, and Windows 98, a volume cannot be larger than 2 GB. (Those 50 files I mentioned above, all 1024 bytes (1KB) in actual size, would use up 3,276,200 bytes of hard drive space to store 51,200 bytes of actual data on a 4 GB FAT16 partition used in this scenario.) FAT16 is inefficient on larger volume sizes, as the size of the cluster increases. We have seen this in the examples above. The boot sector is not backed up on FAT16 partitions. Because FAT16 does not include a backup copy of critical data structures they are susceptible to single point of failure issues, more so than other file systems. There is no native file level security, compression or encryption available in the FAT16 file system. Below is a table of Microsoft Operating systems and which file systems they can natively access. Supports Supports NTFS Supports NTFS Max Operating System NTFS FAT32 FAT Partition Windows XP Professional Yes Yes Yes 4GB Windows XP Home Yes Yes Yes 4GB Windows 2000 Yes Yes Yes 4GB Professional Windows Millennium No Yes Yes 2GB Edition Windows 98 and Second No Yes Yes 2GB Edition Windows 95 OSR2 and No Yes Yes 2GB OSR2.5 Windows NT4 Yes No Yes 4GB Workstation Windows 95 Gold No No Yes 2GB (Original Release) Windows NT3.5x Yes No Yes 4GB Workstation MS-DOS (versions 3.3 No No Yes *See below and higher) [NOTES FROM THE FIELD] - There is no test requirement to memorize these tables, but it's good to understand the "how and why" of it. Also, it is never a "best practice" to dual boot any workstation or server that has sensitive data on it with any file system installed that cannot secure those files or any operating system that threatens that security. The maximum FAT partition that can be created and accessed by the operating systems listed above is 2GB in most cases. 4GB FAT partitions can be created and properly accessed only under those operating systems specifically listed above. A dual boot NT family of operating system can create a 4GB FAT partition and a lower level OS such as Windows 98 may be able to see data on it, however, issues will arise when data access is attempted above the 2GB threshold that the OS normally uses. For more information on the Maximum Partition Size Using the FAT16 File System in Windows XP, you can look up Q310561 at the Microsoft PSS webpage. The "OSR" in "Windows 95 OSR2 and OSR2.5" stands for OEM Service Release. The "OEM" in "OEM Service Release" stands for Original Equipment Manufacturer. For more information on Maximum Partition Size Using FAT16 File System, feel free to follow the link I have provided to the Microsoft web site. * There are some exceptions, but for the most part, DOS 3.3 and higher can access up to 2GB of single partition space, as outlined in Q67321 at the Microsoft PSS webpage. The MS- DOS Partitioning Summary (Q69912) names some exceptions and points out the fact that some earlier versions didn't support many of today's FAT16 standards. The maximum single file size on a FAT16 partition is 2 GB, regardless of the fact that some OSes can have a 4GB partition. FAT32 FAT32 is supported by Windows XP Professional, as well as a number of the newer Microsoft Operating systems. FAT32 was first introduced with Microsoft Windows 95 OSR2 and the major differences between FAT and FAT32 are volume and cluster sizes for the most part and the fact that only Microsoft Operating systems can natively access FAT32 and these are a reduced number from FAT16. The FAT32 file system can support drives up to 2 terabytes in size (in theory) and because it uses space more efficiently, FAT32 uses smaller clusters (that is, 4,096 byte clusters for drives up to 8 GB in size), resulting in more efficient use of disk space relative to large FAT16 drives. FAT32 file system cluster sizes Partition Size Cluster Size 0M to less than 260MB 512 bytes 260MB through 8GB 4,096 bytes 8GB through 16GB 8,192 bytes 16GB through 32GB 16,384 bytes 32GB through 2TB 32,768 bytes The 50 files I mentioned in the FAT16 section, all 1024 bytes (1KB) in actual size, would use up only 409,600 bytes on a 16GB partition formatted with FAT16 and only 204,800 bytes on a 8GB partition. As you can see however, we are now running into the issue with FAT32 drives with 80GB and 100GB partitions that we did a few years ago under FAT16, wasted space. Those same 50 files would use 819,200 bytes on either of the two large drives I mentioned. There's a Windows 2000 Professional and XP Professional catch, however. While the FAT32 file system can support drives up to a standard theoretical size of 2 terabytes, (it "can" be jury-rigged under Windows Millennium Edition to support partitions of up to 8 TB). Windows 2000 Professional and XP Professional cannot FORMAT a volume larger than 32 GB in size using their native FAT32 file system. The FastFAT driver can mount and support volumes larger than 32 GB that use the FAT32 file system, such as those created locally by Windows 98 or ME in dual boot configuration, (subject to other limits listed here for Windows 98, ME and 2000 and here for Windows XP), but you cannot CREATE one using the Format tool from within either Windows 2000 Professional or XP Professional. If you attempt to format a FAT32 partition larger than 32 GB, the format fails near the end of the process with the following error message: Logical Disk Manager: Volume size too big. In summary, the advantages of the FAT32 file system are: FAT32 allocates disk space much more efficiently than FAT16. The root folder on a FAT32 drive is not restricted in the number of entries in the root folder as was FAT16. FAT32 is a more robust file system than FAT16 was. FAT32 has the ability to relocate the root directory and use the backup copy of the FAT instead of the default copy. In addition, the boot record on FAT32 drives has been expanded to include a backup of critical data structures. This means that FAT32 volumes are less susceptible to a single point of failure than FAT16 volumes. Just as there were disadvantages to the FAT16 file system, so there are in FAT32 as well: FAT32 volumes are not accessible from any other operating systems other than certain Microsoft ones. FAT32 partition sizes are limited to 32GB in size using the native FAT32 file system format tools under Windows 2000 and Windows XP. (The maximum size is 127.5 GB practical and 2TB standard theoretical.) There is no native file level security, compression or encryption available in the FAT32 file system. Below is a table of Microsoft Operating systems which support native access to the FAT32 file system. Operating System Supports FAT32 Windows XP Professional Yes Windows XP Home Yes Windows Millennium Edition Yes Windows 98 and Second Edition Yes Windows 95 OSR2 and OSR2.5 Yes Windows NT4 Workstation No Windows 95 Gold (Original Release) No Windows NT3.5x Workstation No MS-DOS (versions 3.3 and higher) No [NOTES FROM THE FIELD] - There is no test requirement to memorize the FAT32 tables either, but again, it's good to understand the "how and why" of it. Also, it is never a "best practice" to dual boot any workstation or server that has sensitive data on it with any file system installed that cannot secure those files or any operating system that threatens that security. This would include the FAT32 file system. For answers to some common questions about the FAT32 File System, you can look up Q253774 at the Microsoft PSS webpage. For more information on the Limitations of FAT32 File System on Windows 98, ME and 2000, you can look up Q184006 at the Microsoft PSS webpage. You can find the information for the limitations of the FAT32 File System in Windows XP information available at Q314463. You will also find the maximum partition sizes, both practical and theoretical listed there as well. The maximum single file size on a FAT32 partition is 4 GB, regardless of the size of the partition. NTFS NTFS is the preferred file system for all computers running Windows XP Professional. The version of NTFS that is in use on Windows XP Professional is called NTFS 5. (Windows 2000 uses version 5 as well.) If you are running Windows NT 4.0 Service Pack 4 or later, you can read basic volumes formatted by using NTFS 5 locally on dual boot systems. Windows 2000 and Windows XP Professional can read NTFS 5 on both basic and dynamic volumes. (Computers systems accessing either version of NTFS across networks are not affected. Version differences are usually only considered in local / dual boot situations.) The following NTFS features are available under version 5; File and Folder Permissions Encryption Disk Quotas File Compression Mounted Drives Hard Links Distributed Link Tracking Sparse Files Multiple Data Streams POSIX Compliance NTFS Change Journal Indexing Service Detailed information on these features can be found in both the Microsoft Windows XP Professional Resource Kit Documentation and online. If you are running Windows XP Professional in a dual boot scenario with a system running Windows NT 4.0 Service Pack 4 or later, most of the NTFS 5 features are not available. Most read and write operations are permitted provided as they do not attempt to make use of most NTFS 5 features. Issues that may occur under this type of configuration may include some of the following: Windows NT4 cannot perform any operations that make use of reparse points. When you run Windows NT4 on a multiple-boot configuration that also runs Windows XP Professional, Windows NT4 ignores disk quotas implemented by Windows XP Professional. Windows NT4 cannot perform any operations on files encrypted by Windows XP Professional. Windows NT4 cannot perform any operations on sparse files. Windows NT4 ignores the change journal setup under Windows XP Professional. The NTFS file system can support drives up to 16 exabytes, in theory, but because partition tables on basic disks (disks that include a master boot record) only support partition sizes up to 2 terabytes, you would need to use dynamic volumes to create NTFS partitions over 2 terabytes in size. Windows XP Professional manages dynamic volumes in a special database instead of in the partition table, so dynamic volumes are not subject to the 2-terabyte physical limit imposed by the partition table. This is why dynamic NTFS volumes can be as large as the maximum volume size supported by NTFS. Default NTFS file system cluster sizes Partition Size NTFS 7 MB-16 MB 512 bytes 17 MB-32 MB 512 bytes 33 MB-64 MB 512 bytes 65 MB-128 MB 512 bytes 129 MB-256 MB 512 bytes 257 MB-512 MB 512 bytes 513 MB-1,024 MB 1,024 bytes 1,025 MB-2 GB 2,048 bytes 2 GB-4 GB 4,096 bytes 4 GB-8 GB 4,096 bytes 8 GB-16 GB 4,096 bytes 16 GB-32 GB 4,096 bytes 32 GB-2 terabytes 4,096 bytes In summary, the advantages of NTFS 5 are as follows: NTFS uses standard transaction logging and recovery techniques. By using the log file and checkpoint information to automatically restore the consistency of the file system in the event of a failure, NTFS, for the most part, maintains the consistency of the data on the volume and the volume itself. NTFS supports compression on volumes, folders, and files. Files that are compressed on an NTFS volume can be read and written by any Windows based application without first being decompressed by another program. Decompression happens automatically, (think of a ZIP utility on-the-fly) during the file read. The file is compressed again when it is closed or saved. NTFS does not restrict the number of entries to 512 in the root folder. Windows 2000 and Windows XP can format partitions up to 2 terabytes using NTFS. NTFS manages disk space efficiently by using smaller clusters (see the cluster table). The boot sector is backed up to a sector at the end of the volume. You can set permissions on shares, folders, and files that specify which groups and users have access, and what level of access is permitted on NTFS partitions. NTFS supports a native encryption system, (EFS), to prevent unauthorized access to file contents. Reparse points enable new features such as volume mount points. Disk quotas can be set to limit the amount of usage allowed by end users. NTFS uses a change journal to track changes made to files. NTFS supports distributed link tracking to maintain the integrity of shortcuts and OLE links. NTFS supports sparse files so that very large files can be written to disk while requiring only a small amount of storage space. There are also a few notable disadvantages to NTFS, as outlined below. NTFS volumes are not locally accessible from MS-DOS, Windows 95, Windows 98 and Windows Millennium Edition operating systems. Many advanced features of NTFS included with version 5 are not available in Windows NT. On small partitions with mostly small files, the overhead of managing the NTFS file system can cause a slight performance drop in comparison to FAT. Floppy disks cannot be formatted as NTFS [NOTES FROM THE FIELD] - There is no test requirement to memorize the NTFS tables either, but again, it's good to understand the "how and why" of it. Also, it is never a "best practice" to dual boot any workstation or server that has sensitive data on it with any file system installed that cannot secure those files or any operating system that threatens that security. This would include even NTFS if older versions and newer versions of NTFS are running and one "degrades" the security strength of the other. For more detailed answers to questions about the NTFS File System, you can look up the information in the Microsoft Windows XP Professional Resource Kit Documentation, which can also be found online. NTFS stands for New Technology File System. The maximum single file size on a NTFS partition is 16 EB (exabytes), in theory. Well, that's a wrap for this week. On my way out the door I'd like to drop one more table into your lap and a few more bullet points. Default Cluster Sizes for partitions under Windows XP Professional Partition Size FAT16 cluster size FAT32 cluster size NTFS cluster size 7 MB-16 MB 2 KB (FAT12) Not supported 512 bytes 17 MB-32 MB 512 bytes Not supported 512 bytes 33 MB-64 MB 1 KB 512 bytes 512 bytes 65 MB-128 MB 2 KB 1 KB 512 bytes 129 MB-256 MB 4 KB 2 KB 512 bytes 257 MB-512 MB 8 KB 4 KB 512 bytes 513 MB-1,024 MB 16 KB 4 KB 1 KB 1,025 MB-2 GB 32 KB 4 KB 2 KB 2 GB-4 GB 64 KB 4 KB 4 KB 4 GB-8 GB Not Supported 4 KB 4 KB 8 GB-16 GB Not Supported 8 KB 4 KB 16 GB-32 GB Not Supported 16 KB 4 KB 32 GB-2 TB Not Supported Not Supported 4 KB Quick points and summary tidbits: FAT volumes smaller than 16 megabytes (MB) are formatted as FAT12. FAT12 is used only on floppy disks and on volumes smaller than 16 megabytes. FAT16 volumes larger than 2 gigabytes (GB) are not locally accessible from computers running MS-DOS, Windows 95, Windows 98, Windows Millennium Edition and many other operating systems. FAT32 volumes can theoretically be as large as 2 terabytes, Windows 2000 and Windows XP Professional limit the maximum size FAT32 volume that it can format to 32 GB. (Windows 2000 and Windows XP Professional can read and write to larger FAT32 volumes formatted locally by other operating systems.) The implementation of FAT32 in Windows 2000 limits the maximum number of clusters on a FAT32 volume that can be mounted by Windows 2000 to 4,177,918. This is the maximum number of clusters on a FAT32 volume that can be formatted by Windows 98. NTFS volumes can theoretically be as large as 16 exabytes (EB), but the practical limit is 2 terabytes. The user can specify the cluster size when an NTFS volume is formatted. However, NTFS compression is not supported for cluster sizes larger than 4 kilobytes (KB). Not supported means "Not supported by Microsoft." In some "chance" cases, you may be able to perform a function that is not normally supported. Whew! "A machine is only as secure as the administrator is trustworthy."