Windows File System Formats
Windows includes support for the following file system formats:
CDFS
UDF
FAT12, FAT16, and FAT32
exFAT
NTFS
Each of these formats is best suited for certain environments, as you’ll see in the following sections.
CDFS
CDFS (%SystemRoot%\System32\Drivers\Cdfs.sys), or CD-ROM file system, is a read-only file system driver that supports a superset of the ISO-9660 format as well as a superset of the Joliet disk format. While the ISO-9660 format is relatively simple and has limitations such as ASCII uppercase names with a maximum length of 32 characters, Joliet is more flexible and supports Unicode names of arbitrary length. If structures for both formats are present on a disk (to offer maximum compatibility), CDFS uses the Joliet format. CDFS has a couple of restrictions:
A maximum file size of 4 GB
A maximum of 65,535 directories
CDFS is considered a legacy format because the industry has adopted the Universal Disk Format (UDF) as the standard for optical media.
UDF
The Windows UDF file system implementation is OSTA (Optical Storage Technology Association) UDF-compliant. (UDF is a subset of the ISO-13346 format with extensions for formats such as CD-R and DVD-R/RW.) OSTA defined UDF in 1995 as a format to replace the ISO-9660 format for magneto-optical storage media, mainly DVD-ROM. UDF is included in the DVD specification and is more flexible than CDFS. The UDF file system format has the following traits:
Directory and file names can be 254 ASCII or 127 Unicode characters long.
Files can be sparse. (Sparse files are defined later in this chapter.)
File sizes are specified with 64 bits.
Support for access control lists (ACLs).
Support for alternate data streams.
The UDF driver supports UDF versions up to 2.60. The UDF format was designed with rewritable media in mind. The Windows UDF driver (%SystemRoot%\System32\Drivers\Udfs.sys) provides read-write support for Blu-ray, DVD-RAM, CD-R/RW, and DVD+-R/RW drives when using UDF 2.50 and read-only support when using UDF 2.60. However, Windows does not implement support for certain UDF features such as named streams and access control lists.
FAT12, FAT16, and FAT32
Windows supports the FAT file system primarily for compatibility with other operating systems in multiboot systems, and as a format for flash drives or memory cards. The Windows FAT file system driver is implemented in %SystemRoot%\System32\Drivers\Fastfat.sys.
The name of each FAT format includes a number that indicates the number of bits that the particular format uses to identify clusters on a disk. FAT12’s 12-bit cluster identifier limits a partition to storing a maximum of 212
(4,096) clusters. Windows permits cluster sizes from 512 bytes to 8 KB, which limits a FAT12 volume size to 32 MB.Note
All FAT file system types reserve the first two clusters and the last 16 clusters of a volume, so the number of usable clusters for a FAT12 volume, for instance, is slightly less than 4,096.
FAT16, with a 16-bit cluster identifier, can address 216
(65,536) clusters. On Windows, FAT16 cluster sizes range from 512 bytes (the sector size) to 64 KB (on disks with a 512-byte sector size), which limits FAT16 volume sizes to 4 GB. Disks with a sector size of 4,096 bytes allow for clusters of 256 KB. The cluster size Windows uses depends on the size of a volume. The various sizes are listed in Table 12-1. If you format a volume that is less than 16 MB as FAT by using theVolume Size
Default Cluster Size
<8 MB
Not supported
8 MB–32 MB
512 bytes
32 MB–64 MB
1 KB
64 MB–128 MB
2 KB
128 MB–256 MB
4 KB
256 MB–512 MB
8 KB
512 MB–1,024 MB
16 KB
1 GB–2 GB
32 KB
2 GB–4 GB
64 KB
>16 GB
Not supported