This article will focus on computer file systems. These are the standards for organizing data on our hard drive or SSD as a storage device and are applied when formatting disks or partitions. Today, there are many different file systems in use, the choice of which depends on the operating system used and the type of disk being formatted. For example, Windows uses the NTFS or exFAT file system. For Linux, if necessary, format the flash drive, the file system parameters are FAT32, NTFS or ext4. So what is the difference between file systems and which one should you choose?
FAT12, FAT16 and FAT32
File systems divide storage space on a disk into virtual compartments, known as clusters, and maintain an index of the location of individual files and available free space. The first file system was operated by Windows MS-DOS and was called the file allocation table or FAT with three main versions: FAT12, FAT16 and FAT32. Each option can partition the disk into an increasing number of clusters and support an increasing maximum file size and volume size.
For example, FAT12 supports a maximum file and volume size of 32 megabytes. Meanwhile, FAT32 can store individual files up to 4 gigabytes and is limited to 32 GB when formatted on Windows, up to 2 terabytes when formatted on other operating systems, and has an absolute maximum volume size of 16 terabytes. FAT32 remains a popular file system due to its high level of compatibility with operating systems and is still widely used to format USB drives, memory cards, and some other external storage devices.
The most popular file system for Windows today is the New Technology File System or NTFS. It appeared in 1993 to overcome the limitations of FAT32 and has a file size limit of 16 exabytes (EB). An exabyte is equal to 1 million terabytes, so in practice there is no file size limit. NTFS is also a journaled file system, which means it can maintain a record of changes for a chance to recover from a system or power failure. Unlike FAT32, NTFS also supports file permissions, allowing you to mark a file as read-only. It also supports encryption and other features that make NTFS more usable on the system drive. For these reasons, all modern versions of Windows must be installed on an NTFS-formatted drive. The only real drawback of this file system is the lack of compatibility with older versions of Windows and other operating systems. For example, by default, NTFS volumes are read-only on Mac OS and older Linux distributions, and may not be read at all on some devices, such as standalone media players.
exFAT, or Extended File Allocation Table, was introduced by Microsoft in 2006 as a file system optimized for mass storage USB drives and memory cards. exFAT is less complex than NTFS, but has significant advantages over FAT32. Last but not least, the maximum file size is 16 EB or virtually unlimited, making exFAT the best choice for formatting memory cards for video recording. For this reason, exFAT has been adopted by the SD Card Association as the default file system for SDXC memory cards. In terms of compatibility, exFAT supports Windows, Mac OS, and the latest Android systems. However, most Linux systems require additional drivers to be installed to access exFAT devices.
Ext2, Ext3 and Ext4
Speaking of Linux, in 1992, an Ext (extended file system) was launched specifically for this operating system. In 1993, an update was released called Extended File System 2, or Ext2, which was the default file system for many Linux distributions for many years.
By 2001, Ext2 was upgraded to Ext3, which added logging to protect against corruption in the event of power failures.
In 2008, Ext4 was released, the most modern specialized file system for Linux. Ext4 has a maximum file size of 16 TB and a maximum volume size of 1 EB. However, as you might guess, neither Windows nor MacOS supports Ext2, Ext3, or Ext4.
HFS, HFS+ and APFS
HFS, or Hierarchical File System, was introduced by Apple in 1985 for use in MacOS. It offers a maximum file size of 2 gigabytes and a maximum volume size of 2 terabytes and is also known as “Mac OS standard“. In 1998, HFS was upgraded to a new version called HFS+ or “HFS Extended“, also known as “MacOS Extended“. The new version adds journaling, and the maximum file size and volume size is 8 EB when using MacOS 10.4 or higher. In 2017, Apple introduced a new file system called APFS or Apple File System that is optimized for SSD and other solid state media.
HFS, HFS+ and APFS were developed for Apple systems and therefore are not natively supported by Windows or other operating systems.
Finally, consider ZFS or Zed File System. Originally released in 2006, it was created by Sun Microsystems but has been developed as part of the OpenZFS project since 2013. The file system differs from other options in that it has a built-in volume manager to manage storage devices connected to the computer. By integrating physical disk management with file system functionality, ZFS provides enhanced protection against data loss or corruption. ZFS is currently available for Linux, FreeBSD, and TrueOS, and may be ported to Windows in the future.
Select file system
Which file system to choose? For any system drive, the file system is chosen based on the operating system you are using. So, NTFS is suitable for Windows, Ext4 for a Linux distribution, and HFS+ or APFS for MacOS. For USB sticks and flash memory cards, FAT32 remains the best choice for devices under 32 GB to ensure maximum compatibility between platforms. Meanwhile, exFAT is the best choice for a flash drive or memory card with a capacity of 32 GB or more, and if you need to store files larger than 4 GB.
For external hard drives or SSDs, NTFS is the best choice for those who run full or mostly Windows, and exFAT is probably the best option for those who regularly share files between PC and Mac. With file and volume size limitations, FAT32 also remains a good option for external drives that need to be accessed on a wide range of Windows, Mac, and Linux systems.
In order to check which file system is on the disk, go to the operating system, select the desired disk, right-click and select “Properties“, through which you can see the file system. If the system is not what you would like to have, then you can change it by formatting the disk.
In the article, various file systems and their features were considered. You can always use either one based on your operating system and the total size of the files stored on the disk, so choose wisely.