
Apple announced APFS (Apple File System) at WWDC 2016. In March 2017, iOS 10.3 converted the iPhone's flash storage without the user noticing. In September of the same year, High Sierra did the same on the Mac's SSD. HFS+, from 1998 (and HFS from 1985), was born in the floppy-disk era. APFS was built for NAND, clones, and encryption.
What HFS+ could no longer handle
Apple's own document said it: HFS and HFS+ were designed when files were measured in kilobytes and disks were spinning platters. Today, the iPhone stores hundreds of GB in low-latency flash, the Mac clones VMs, and Time Machine snapshots the volume every hour. HFS+ journaling is not copy-on-write; directory hard links (Time Machine's old trick) do not exist in APFS; one-second timestamps do not work for an SSD writing millions of files.
Dominic Giampaolo, one of the architects, had already built the BeOS filesystem with HFS's shortcomings in mind. APFS is that reckoning — closed, on hardware Apple controls.
Container, volume, shared space
The piece that changes the mental model: an APFS container is the partition. Inside it fit multiple volumes that share free space. It is not “Macintosh HD = 500 GB and Data = 500 GB”. It is a pool. The system volume and data volume grow and shrink in the same tank.
On a current Mac, the typical layout is:
- Preboot / Recovery / VM — system volumes the user barely sees.
- Macintosh HD — sealed system (Signed System Volume, read-only since Catalina/Big Sur).
- Data — home, apps, what you save.
On a Mac, to see the actual container:
diskutil list
diskutil apfs list
Copy-on-write, clones, and snapshots
Writing a file does not overwrite the old block: it writes elsewhere and updates the tree. This yields three things HFS+ did not provide for free:
- Clone: duplicating a 20 GB file is instantaneous and uses almost no disk space — both names point to the same blocks until someone changes one of them.
- Snapshot: a picture of the volume at an instant. Local Time Machine and macOS updates (sealed volume) rely on this. Reverting an arbitrary snapshot in Disk Utility is still limited;
tmutilcovers Data. - Crash: CoW metadata + checksum. It is not ZFS/Btrfs with scrubbing of everything, but it is a different world from HFS+ journaling.
Encryption is native (AES-XTS), per volume, with multiple keys — FileVault is no longer a “bolted-on vault” on top of HFS+.
Details that matter every day: nanosecond timestamps, real sparse files, case-insensitive volumes on Mac (the default), and case-sensitive volumes on iOS and APFS Time Machine.
What about Linux?
The kernel still doesn't mount APFS out of the box. The community route is the module linux-apfs-rw (Ubuntu package apfs-dkms), read-only by default; writing is experimental and can corrupt the container. FileVault/APFS encrypted volumes are something the module cannot open. The step-by-step how-to — HFS+ with hfsprogs, APFS with DKMS, password in apfs-fuse — is in Mac partition on Ubuntu.
# Ubuntu: identificar e montar leitura
lsblk -f
sudo apt install apfs-dkms linux-headers-$(uname -r)
sudo modprobe apfs
sudo mkdir -p /mnt/mac
sudo mount -t apfs -o ro /dev/sdXY /mnt/mac
What remains of HFS+
In 2026, HFS+ still exists for the macOS bootable installer . An old Time Machine disk in journaled HFS+ still mounts on a Mac. Apple has already warned: starting with macOS 28, an HFS+ volume that is encrypted will no longer be supported — it can be converted to encrypted APFS in Disk Utility without decrypting first (except Time Machine backups in that format).
An external disk that needs to coexist with Windows is still a case for exFAT. Outside Apple's ecosystem, APFS remains the ugly duckling: experimental on Linux, paid Paragon software on Windows.
References
- Mac partition on Ubuntu — mounting HFS+ and APFS on Linux
- Apple — About Apple File System
- linux-apfs-rw
- WWDC 2016 session 701 (the original announcement)
APFS did not ask the user's permission in 2017: the iPhone woke up converted. Nine years later, the invisible “vital organ” makes clones, snapshots, and FileVault seem magical — and still makes life difficult when the disk lands on Linux.