Windows File Systems: Types and Limitations

What are file systems?
File systems are methods of storing and organizing data on your computer. File systems are used on data storage devices such as hard disks or CD-ROMs to maintain the physical location of the files on these media types.
But how does that affect my data and computer operations?
For each type of file system there are certain specifications and limitations that govern the way you can read and write data on your disk. Windows makes use of the FAT and NTFS file systems.

FAT
File Allocation Table (FAT) is supported by all versions of Microsoft Windows. Older versions of the FAT file system (FAT12 and FAT16) had file name length limits this is commonly referred to as the 8.3 filename limit. VFAT, which was an extension to FAT12 and FAT16 introduced in Windows NT 3.5 and subsequently included in Windows 95, allowed long file names (LFN).

To address the need for even larger storage capacity, Microsoft introduced FAT32 with Windows 95 OSR2, FAT32 also addressed many of the limits in FAT12 and FAT16, but remains limited compared to NTFS.

Limitations of the FAT32 file system include:
• Clusters cannot be 64 kilobytes (KB) or larger. If clusters are 64 KB or larger, some programs (such as Setup programs) may incorrectly calculate disk space.
• A FAT32 volume must contain a minimum of 65,527 clusters. You cannot increase the cluster size on a volume that uses the FAT32 file system so that it contains fewer than 65,527 clusters.
• The maximum disk size is approximately 8 terabytes when you take into account the following variables: The maximum possible number of clusters on a FAT32 volume is 268,435,445, and there is a maximum of 32 KB per cluster, along with the space required for the file allocation table (FAT).
• You cannot decrease the cluster size on a FAT32 volume so that the size of the FAT is larger than 16 megabytes (MB) minus 64 KB.
• You cannot format a volume larger than 32 gigabytes (GB) in size using the FAT32 file system during the Windows XP installation process. Windows XP can mount and support FAT32 volumes larger than 32 GB (subject to the other limits), but you cannot create a FAT32 volume larger than 32 GB by using the Format tool during Setup. If you need to format a volume that is larger than 32 GB, use the NTFS file system to format it. Another option is to start from a Microsoft Windows 98 or Microsoft Windows Millennium Edition (Me) Startup disk and use the Format tool included on the disk.
• You are not allowed to have 4GB or more data file to a FAT32 File System.

You can follow this link to the Microsoft Support page for more information about the FAT32 file system:
http://support.microsoft.com/kb/154997

NTFS
NTFS, introduced with the Windows NT operating system, has much less file size limitations. a log-based file system, addresses FAT’s reliability and recoverability problems. A partition’s clusters are numbered sequentially using a 64-bit logical cluster number (LCN). Theoretically this system would allow access to 16 exabytes (16 billion GB) which far exceeds current storage needs. For now, Windows 2000 limits volumes to 128 Terabytes, but later operating systems could take advantage of even larger storage capacities. Like FAT, it sets a default cluster size depending on the size of the partition, assigning a size of 4KB for anything over 2GB. Also like FAT, administrators can override the defaults and use drop-down box to specify sizes up to 64KB.

The following are a few limitations of NTFS:

• File Names

File names are limited to 255 UTF-16 code words. Certain names are reserved in the volume root directory and cannot be used for files. These are: $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, . (dot), $Bitmap, $Boot, $BadClus, $Secure, $Upcase, and $Extend;[3] . (dot) and $Extend are both directories; the others are files. The NT kernel limits full paths to 32,767 UTF-16 code words.

• Maximum Volume Size

In theory, the maximum NTFS volume size is 264−1 clusters. However, the maximum NTFS volume size as implemented in Windows XP Professional is 232−1 clusters. For example, using 64 KB (64 × 1024 bytes) clusters, the maximum Windows XP NTFS volume size is 256 TB (256 × 10244 bytes) minus 64 KB. Using the default cluster size of 4 KB, the maximum NTFS volume size is 16 TB minus 4 KB. (Both of these are vastly higher than the 128 GB (128 × 10243 bytes) limit lifted in Windows XP SP1.) Because partition tables on master boot record (MBR) disks only support partition sizes up to 2 TB, dynamic or GPT volumes must be used to create NTFS volumes over 2 TB. Booting from a GPT volume to a Windows environment requires a system with EFI and 64-bit support.[43]

• Maximum File Size

As designed, the maximum NTFS file size is 16 EB (16 × 10246 bytes) minus 1 KB (1024 bytes) or 18,446,744,073,709,550,592 bytes. As implemented, the maximum NTFS file size is 16 TB (16 × 10244 bytes) minus 64 KB (64 × 1024 bytes) or 17,592,185,978,880 bytes.

• Alternate Data Streams

Windows system calls may handle alternate data streams.[3] Depending on the operating system, utility and remote file system, a file transfer might silently strip data streams.[3] A safe way of copying or moving files is to use the BackupRead and BackupWrite system calls, which allow programs to enumerate streams, to verify whether each stream should be written to the destination volume and to knowingly skip offending streams.

You can check the following Microsoft Support link for even more information about the Windows Fily systems:
http://support.microsoft.com/kb/100108