Explaining File Systems: NTFS, exFAT, FAT32, ext4 and more

Explaining File Systems

NTFS, FAT32, exFAT, ext4 and APFS are just some of the file systems used to organize data on storage drives. This post outlines the differences between these and other file systems, and explains how to choose between them.

 

FAT12, FAT16, FAT32

  • File allocation table = "FAT"
  • Major variants = FAT12, FAT16 & FAT32
  • Each has an increasing number of clusters , and maximum file and volume sizes
 Max File SizeMax Volume Size
FAT1232MB (8KB clusters)*32MB (8KB clusters)*
FAT162GB / 4GB**16GB (256KB clusters)**
FAT324GB32GB (Windows format)
2TB (Other OS)
16TB (theoretical)

* 16MB with 4KN clusters
**Different FAT16 versions were limited to a maximum volume size of 2GB, 4GB or volume size, with volumes limited to 2GB, 4GB, 8GB or 16GB depending on cluster & sector size.

  • FAT32 remains popular due to wide OS compatibility
  • Still widely used for removable media

 

NTFS

  • New technology file sytem = NTFS
  • File size limit of 16 exabytes (EB)
  • Journaling file system (to avoid corruption)
  • Supports file permissions and encryption
  • Windows must be installed on NTFS drive
  • Limited non-Windows OS compatibility - eg. read-only in macOS and older Linux distros

 

exFAT

  • Extended file allocation table = "exFAT'
  • File system optimized for high-capacity USB flash drives and memory cards
  • Maximum file size = 16EB
  • Default file system for SDXC cards
  • Broader non-Windows OS support than NTFS - including read and write on macOS

 

ext2, ext3, ext4

  • In 1992, the "extended file system" (ext) was launched for Linux
  • In 1993, ext2 was released
  • In 2001, ext3 introduced journaling
  • in 2008, ext4 became the Linux default file system
  • Files up to 16TB and volumes up to 1EB
  • No native Windows or macOS support

 

HFS, HFS+ & APFS

  • HFS - hierarchical file system for macOS
  • HFS also known as "Mac OS Standard"
  • In 1998, HSF+ ("HFS Extended" or "Mac OS Extended") introduced with journaling
  • Files and volumes up to 8EB (macOS 10.4)
  • In 2017, Apple file system (APFS) launched
  • No native Windows or Linux support

 

ZFS

  • ZFS = zed file system
  • Created by Sun Microsystems, and now developed by the OpenZFS Project
  • Integrated volume manager to control storage hardware
  • Hence, provides increased data protection
  • Available for Linux, FreeBSD and TrueOS

 

Note: A journaling file system is a file system that keeps track of changes not yet committed to the file system's main part by recording the intentions of such changes in a data structure known as a "journal", which is usually a circular log. In the event of a system crash or power failure, such file systems can be brought back online more quickly with a lower likelihood of becoming corrupted.

 

Choosing a File System

  • For a system drive, use NTFS (Windows), ext4 (Linux) or HFS+/APFS (macOS)
  • For USB drives and memory cards, use FAT32 or capacities under 32GB
  • ...and use exFAT for 32GB+ or 4GB+ files
  • For other drives, use NTFS if Windows based, exFAT if PC / Mac based, or FAT32