{"id":135,"date":"2017-04-18T22:15:03","date_gmt":"2017-04-19T01:15:03","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2017\/04\/novo-sistema-de-arquivos-da-apple\/"},"modified":"2026-09-08T10:31:55","modified_gmt":"2026-09-08T13:31:55","slug":"novo-sistema-de-arquivos-da-apple","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/en\/2017\/04\/novo-sistema-de-arquivos-da-apple\/","title":{"rendered":"Apple's New File System"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro apontando o diagrama do sistema de arquivos com volumes compartilhando o mesmo cont\u00eainer\" src=\"\/wp-content\/uploads\/2026\/09\/apfs-v2.webp\" width=\"1486\" height=\"856\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Note (2026):<\/strong> Original text from April 2017, when APFS had just arrived on iOS 10.3 and was not yet the Mac's boot disk format. Nine years later, it is the file system on <em>every<\/em> Apple device \u2014 iPhone, iPad, Watch, Apple TV, Mac (Tahoe 26). HFS+ remains for bootable installers; macOS 28 stops accepting encrypted HFS+.<\/div>\n<p>Apple announced <strong>APFS<\/strong> (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.<\/p>\n<p><!-- more --><\/p>\n<h2>What HFS+ could no longer handle<\/h2>\n<p>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.<\/p>\n<p>Dominic Giampaolo, one of the architects, had already built the BeOS filesystem with HFS's shortcomings in mind. APFS is that reckoning \u2014 closed, on hardware Apple controls.<\/p>\n<h2>Container, volume, shared space<\/h2>\n<p>The piece that changes the mental model: an APFS <strong>container<\/strong> is the partition. Inside it fit multiple <strong>volumes<\/strong> that <em>share free space<\/em>. It is not \u201cMacintosh HD = 500 GB and Data = 500 GB\u201d. It is a pool. The system volume and data volume grow and shrink in the same tank.<\/p>\n<p>On a current Mac, the typical layout is:<\/p>\n<ul>\n<li><strong>Preboot \/ Recovery \/ VM<\/strong> \u2014 system volumes the user barely sees.<\/li>\n<li><strong>Macintosh HD<\/strong> \u2014 sealed system (Signed System Volume, read-only since Catalina\/Big Sur).<\/li>\n<li><strong>Data<\/strong> \u2014 home, apps, what you save.<\/li>\n<\/ul>\n<p>On a Mac, to see the actual container:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">diskutil list\ndiskutil apfs list\n<\/code><\/pre>\n<h2>Copy-on-write, clones, and snapshots<\/h2>\n<p>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:<\/p>\n<ul>\n<li><strong>Clone:<\/strong> duplicating a 20 GB file is instantaneous and uses almost no disk space \u2014 both names point to the same blocks until someone changes one of them.<\/li>\n<li><strong>Snapshot:<\/strong> 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; <code data-no-translation=\"\">tmutil<\/code> covers Data.<\/li>\n<li><strong>Crash:<\/strong> CoW metadata + checksum. It is not ZFS\/Btrfs with scrubbing of everything, but it is a different world from HFS+ journaling.<\/li>\n<\/ul>\n<p>Encryption is native (AES-XTS), per volume, with multiple keys \u2014 FileVault is no longer a \u201cbolted-on vault\u201d on top of HFS+.<\/p>\n<p>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.<\/p>\n<h2>What about Linux?<\/h2>\n<p class=\"translation-block\">The kernel still <strong>doesn't<\/strong> mount APFS out of the box. The community route is the module <a href=\"https:\/\/github.com\/linux-apfs\/linux-apfs-rw\">linux-apfs-rw<\/a> (Ubuntu package <code>apfs-dkms<\/code>), read-only by default; writing is experimental and can corrupt the container. FileVault\/APFS encrypted volumes are something the module <em>cannot open<\/em>. The step-by-step how-to \u2014 HFS+ with <code>hfsprogs<\/code>, APFS with DKMS, password in <code>apfs-fuse<\/code> \u2014 is in <a href=\"\/en\/2017\/04\/hd-do-mac-ubuntu\/\">Mac partition on Ubuntu<\/a>.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\"># Ubuntu: identificar e montar leitura\nlsblk -f\nsudo apt install apfs-dkms linux-headers-$(uname -r)\nsudo modprobe apfs\nsudo mkdir -p \/mnt\/mac\nsudo mount -t apfs -o ro \/dev\/sdXY \/mnt\/mac\n<\/code><\/pre>\n<h2>What remains of HFS+<\/h2>\n<p>In 2026, HFS+ still exists for the macOS <strong>bootable installer<\/strong> . An old Time Machine disk in journaled HFS+ still mounts on a Mac. Apple has already warned: starting with <strong>macOS 28<\/strong>, an HFS+ volume that is <em>encrypted<\/em> will no longer be supported \u2014 it can be converted to encrypted APFS in Disk Utility without decrypting first (except Time Machine backups in that format).<\/p>\n<p>An external disk that needs to coexist with Windows is still a case for <strong>exFAT<\/strong>. Outside Apple's ecosystem, APFS remains the ugly duckling: experimental on Linux, paid Paragon software on Windows.<\/p>\n<h2>References<\/h2>\n<ul>\n<li><a href=\"\/en\/2017\/04\/hd-do-mac-ubuntu\/\">Mac partition on Ubuntu<\/a> \u2014 mounting HFS+ and APFS on Linux<\/li>\n<li><a href=\"https:\/\/developer.apple.com\/documentation\/foundation\/file_system\/about_apple_file_system\">Apple \u2014 About Apple File System<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/linux-apfs\/linux-apfs-rw\">linux-apfs-rw<\/a><\/li>\n<li>WWDC 2016 session 701 (the original announcement)<\/li>\n<\/ul>\n<p>APFS did not ask the user's permission in 2017: the iPhone woke up converted. Nine years later, the invisible \u201cvital organ\u201d makes clones, snapshots, and FileVault seem magical \u2014 and still makes life difficult when the disk lands on Linux.<\/p>","protected":false},"excerpt":{"rendered":"<p>Apple announced APFS (Apple File System) at WWDC 2016. In March 2017, iOS 10.3 converted the iPhone\u2019s flash storage without users noticing. In September of that year, High Sierra did the same on SSDs \u2026 <a title=\"Apple&#039;s New File System\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2017\/04\/novo-sistema-de-arquivos-da-apple\/\" aria-label=\"Read more about Novo Sistema de Arquivos da Apple\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,74,2,52],"tags":[77,165,164,4,53],"class_list":["post-135","post","type-post","status-publish","format-standard","hentry","category-apfs","category-apple","category-linux","category-mac","tag-apfs","tag-filesystem","tag-hfs","tag-linux","tag-mac"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":5,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/135\/revisions"}],"predecessor-version":[{"id":1364,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/135\/revisions\/1364"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}