Jump to content

Apple File System

From Wikipedia, the free encyclopedia
(Redirected fromAPFS)

APFS
Developer(s)Apple Inc.
Full nameApple File System
IntroducedMarch 27, 2017 (iOS), September 25, 2017 (macOS), withiOS 10.3,macOS 10.13
Preceded byHFS Plus
Partition IDs7C3457EF-0000-11AA-AA11-00306543ECAC(GPT)
Structures
Directory contentsB-tree[1]
Limits
Max file size8EB(9,223,372,036,854,775,808 bytes)[2]
Maxno.of files9,223,372,036,854,775,808[2]
Allowed filename
characters
Unicode 9.0encoded inUTF-8[3]
Features
Dates recordedaccess, attributes modified, contents modified, created
Date rangeJanuary 1, 1970 – July 21, 2554[1]
Date resolution1ns[2]
File system
permissions
Unix permissions,NFSv4ACLs
Transparent
compression
Partial (decmpfs)[4]
Transparent
encryption
Yes[5]
Copy-on-writeYes[3][5]
Other
Supported
operating systems
macOS,iPadOS,iOS,tvOS,watchOS

Apple File System(APFS) is aproprietaryfile systemdeveloped and deployed byApple Inc.formacOSSierra (10.12.4)[6]and later,iOS10.3,tvOS10.2,[7]watchOS3.2,[8]and all versions ofiPadOS.[9][10]It aims to fixcore problemsofHFS+(also called Mac OS Extended), APFS's predecessor on these operating systems. APFS is optimized forsolid-state drivestorage and supportsencryption,snapshots,and increased data integrity, among other capabilities.[11][12]

History[edit]

Apple File System was announced atApple'sdevelopers’ conference(WWDC) in June 2016 as a replacement forHFS+,which had been in use since 1998.[11][12]APFS was released for64-bitiOSdevices on March 27, 2017, with the release of iOS 10.3, and for macOS devices on September 25, 2017, with the release ofmacOS 10.13.[13][8]

Apple released a partial specification for APFS in September 2018 which supported read-only access to Apple File Systems on unencrypted, non-Fusion storage devices. The specification for software encryption was documented later.[14]

Design[edit]

The file system can be used on devices with relatively small or large amounts of storage. It uses 64-bitinodenumbers,[2]and allows for more secure storage by using a technology called Data Protection. The APFS code, like the HFS+ code, uses theTRIM commandfor better space management and performance. It may increase read-write speeds on iOS and macOS,[8]as well as space on iOS devices, due to the way APFS calculates available data.[15]

Partition scheme[edit]

APFS uses theGPTpartition scheme. Within the GPT scheme are one or more APFS containers (partition type GUID is7C3457EF-0000-11AA-AA11-00306543ECAC). Within each container there are one or more APFS volumes, all of which share the allocated space of the container, and each volume may have APFS volume roles.macOS Catalina(macOS 10.15) introduced the APFS volume group, which are groups of volumes thatFinderdisplays as one volume. APFS firmlinks lie betweenhard linksandsoft linksand link between volumes.

In macOS Catalina theSystemvolume role (usually named "Macintosh HD" ) became read-only, and inmacOS Big Sur(macOS 11) it became a signed system volume (SSV) and only volume snapshots are mounted. TheDatavolume role (usually named "Macintosh HD - Data" ) is used as an overlay or shadow of theSystemvolume, and both theSystemandDatavolumes are part of the same volume group and shown as one in Finder.

Clones[edit]

Clones allow the operating system to make efficient file copies on the same volume without occupying additional storage space. Changes to a cloned file are saved asdelta extents,reducing storage space required for document revisions and copies.[10]There is, however, no interface to mark two copies of the same file as clones of the other, or for other types ofdata deduplication.

Snapshots[edit]

APFS volumes supportsnapshotsfor creating a point-in-time, read-only instance of the file system.[10]

Encryption[edit]

Apple File System natively supportsfull disk encryption,[2]and file encryption with the following options:

  • no encryption
  • single-keyencryption
  • multi-key encryption, where each file is encrypted with a separate key, andmetadatais encrypted with a different key.[10]

Increased maximum number of files[edit]

APFS supports 64-bitinode numbers,supporting over 9 quintillion files (263) on a single volume.[2][5]

Data integrity[edit]

Apple File System useschecksumsto ensuredata integrityfor metadata but not for user data.[16]

Crash protection[edit]

Apple File System is designed to avoid metadata corruption caused bysystem crashes.Instead of overwriting existing metadata records in place, it writes entirely new records, points to the new ones and then releases the old ones, an approach known asredirect-on-write.This avoids corrupted records containing partial old and partial new data caused by a crash that occurs during an update. It also avoids having to write the change twice, as happens with an HFS+ journaled file system, where changes are written first to the journal and then to the catalog file.[16]

Compression[edit]

APFS supports transparent compression on individual files using Deflate (Zlib), LZVN (libFastCompression), andLZFSE.All three areLempel-Ziv-type algorithms. This feature is inherited from HFS+, and is implemented with the same AppleFSCompression / decmpfs system using resource forks or extended attributes. As with HFS+, the transparency is broken for tools that do not use decmpfs-wrapped routines.[17]

Space sharing[edit]

APFS adds the ability to have multiple logical drives (referred to asvolumes) in the same container where free space is available to all volumes in that container (block device).[18]

Limitations[edit]

While APFS includes numerous improvements relative to its predecessor, HFS+, a number of limitations have been noted.

Limited integrity checks for user data[edit]

APFS does not provide checksums for user data.[19]It also does not take advantage of byte-addressablenon-volatile random-access memory.[20][21]

Performance on hard disk drives[edit]

Enumerating files, and anyinodemetadata in general, is much slower on APFS when it is located on ahard disk drive.This is because instead of storing metadata at a fixed location like HFS+ does, APFS stores them alongside the actual file data. This fragmentation of metadata means moreseeksare performed when listing files, acceptable for SSDs but not HDDs.[22]

Compatibility with Time Machine prior to macOS 11[edit]

Unlike HFS+, APFS does not supporthard linksto directories.[3][23]Since the version of theTime Machinebackup software included in Mac OS X 10.5 (Leopard) through macOS 10.15 (Catalina) relied on hard links to directories, APFS was initially not a supported option for its backup volumes.[24][23]This limitation was overcome starting inmacOS 11 Big Sur,wherein APFS is now the default file system for new Time Machine backups (existingHFS+-formatted backup drives are also still supported).[25]macOS Big Sur's implementation of Time Machine in conjunction with APFS-formatted drives enables "faster, more compact, and more reliable backups" than were possible with HFS+-formatted backup drives.[26][27]

Security issues[edit]

  • In March 2018, the APFS driver in High Sierra was found to have a bug that causes the disk encryption password to be logged in plaintext.[28]
  • In January 2021, the APFS driver in iOS < 14.4, macOS < 11.2, watchOS < 7.3, and tvOS < 14.4 was found to have a bug that allowed a local user to read arbitrary files, regardless of their permissions.[29][30][31][32]

Support[edit]

macOS[edit]

An experimental version of APFS, with some limitations, is provided inmacOS Sierra10.12.4. It is available through the command linediskutilutility. Among these limitations, it does not performUnicode normalizationwhile HFS+ does,[33]leading to problems with languages other than English.[34]Drives formatted with Sierra’s version of APFS may also not be compatible with later versions of macOS or APFS, and the Sierra version of APFS cannot be used withTime Machine,FileVault volumes, or Fusion Drives.[35]

SincemacOS 10.13 High Sierra,all devices with flash storage are automatically converted to APFS.[36]As ofmacOS 10.14 Mojave,Fusion Drivesand hard disk drives are also upgraded on installation.[37]The primary user interface to upgrade does not present an option to opt out of this conversion, and devices formatted with the High Sierra version of APFS will not be readable in previous versions of macOS.[36]Users can disable APFS conversion by using the installer'sstartosinstallutility on the command line and passing--converttoapfs NO.[38]

FileVaultvolumes are not converted to APFS as of macOS Big Sur 11.2.1. Instead macOS formats external FileVault drives as CoreStorage Logical Volumes formatted with Mac OS Extended (Journaled). FileVault drives can be optionally encrypted.[citation needed]

iOS, tvOS, and watchOS[edit]

iOS 10.3,tvOS 10.2,andwatchOS 3.2convert the existingHFSXfile system to APFS on compatible devices.[13][8][39]

Third-party utilities[edit]

Despite the ubiquity of APFS volumes in today's Macs and the format's 2016 introduction, third-party repair utilities continue to have notable limitations in supporting APFS volumes, due to Apple's delayed release of complete documentation. According to Alsoft, the maker of DiskWarrior, Apple's 2018 release of partial APFS format documentation has delayed the creation of a version of DiskWarrior that can safely rebuild APFS disks.[40]Competing products, including MicroMat's TechTool and Prosoft's Drive Genius, are expected to increase APFS support as well.

Paragon Software Grouphas published asoftware development kitunder the 4-ClauseBSD Licensethat supports read-only access of APFS drives.[41]An independent read-onlyopen sourceimplementation by Joachim Metz, libfsapfs, is released underGNU Lesser General Public Licensev3. It has been packaged intoDebian,Fedora Linux,Rocky Linux,Red Hat Enterprise LinuxandUbuntusoftware repositories.[42][43][44]Both are command-line tools that do not expose a normal filesystem driver interface. There is aFilesystem in Userspace(FUSE) driver for Linux called apfs-fuse with read-only access.[45]An "APFS for Linux" project is working to integrate APFS support into the Linux kernel.[46]

A commercial product, Paragon's APFS for Windows allows for read and write support to APFS volumes in all versions of Windows from Windows 7 through Windows 11 and Windows Server 2008 R2 through Windows Server 2022, but it is unable to format or verify APFS volumes, and it cannot read APFS volumes which are hardware-encrypted against theApple T2security chip.[47]

MacDrive, developed by Mediafour, first shipped in 1996 with support for Mac-formatted HFS disks, to address the growing need for cross-platform file sharing between Mac and Windows computers. Over the years, MacDrive has undergone numerous updates, enhancing its capabilities and adding full support for newer macOS file systems like HFS+ and APFS. In 2017, Mediafour was acquired byOWC (Other World Computing),which has continued to develop and improve MacDrive.

Unlike Paragon, MacDrive offers a more comprehensive solution compared to Paragon. MacDrive’s APFS support is native and not an open source solution enabling greater APFS disk support like full crash protection if a disk is unexpectedly disconnected. MacDrive can also format APFS volumes and offers full read/write support, even if the APFS volume has duplicated files or has been backed up by Time Machine. MacDrive's user-friendly interface and performance make it a more robust choice for users needing reliable and comprehensive APFS support on Windows systems.

See also[edit]

References[edit]

  1. ^abHansen, K.H.; Toolan, F. (September 21, 2017). "Decoding the APFS file system".Digital Investigation.22:107–132.doi:10.1016/j.diin.2017.07.003.ISSN1742-2876.
  2. ^abcdef"Volume Format Comparison".Apple Developer.RetrievedMay 25,2018.
  3. ^abc"Apple File System Guide / Frequently Asked Questions".RetrievedMay 25,2018.
  4. ^Bertin, René."Compression and APFS".Github.RetrievedFebruary 2,2019.
  5. ^abcApple Inc."Apple File System Guide (Features)".RetrievedDecember 16,2023.
  6. ^Vigo, Jesus (April 13, 2017)."How to set up and use Apple's APFS file system on macOS Sierra".TechRepublic.
  7. ^"tvOS 10.2".What's New in tvOS.Apple Inc.
  8. ^abcdWarren, Tom (March 27, 2017)."Apple is upgrading millions of iOS devices to a new modern file system today".The Verge.Vox Media.Archivedfrom the original on March 27, 2017.RetrievedMarch 27,2017.
  9. ^Roger Fingas (June 13, 2016)."'Apple File System' will scale from Apple Watch to Macs, replace HFS+ ".Apple Insider.Archivedfrom the original on July 23, 2016.
  10. ^abcdHutchinson, Lee (June 13, 2016)."Digging into APFS, Apple's new file system".Ars Technica UK.RetrievedJune 15,2016.
  11. ^abWeintraub, Seth (June 13, 2016)."Apple File System (APFS) announced for 2017, scales 'from Apple Watch to Mac Pro' and focuses on encryption".9to5Mac.Archivedfrom the original on March 28, 2017.RetrievedMarch 27,2017.
  12. ^abHutchinson, Lee (June 13, 2016)."New file system spotted in macOS Sierra [Updated]".Ars Technica.Condé Nast.Archivedfrom the original on March 28, 2017.RetrievedMarch 27,2017.
  13. ^abClover, Juli (March 27, 2017)."Apple Releases iOS 10.3 With Find My AirPods, APFS, App Store Review Tweaks and More".MacRumors.Archivedfrom the original on March 27, 2017.RetrievedMarch 27,2017.
  14. ^"Apple File System Reference"(PDF).Apple Developer.
  15. ^Alan Loughnane (April 2017)."Updating your iPhone will give you one major benefit".joe.co.uk.Archivedfrom the original on May 20, 2017.
  16. ^abAdam Leventhal (June 19, 2016)."APFS in Detail: Data Integrity".Archivedfrom the original on June 21, 2016.
  17. ^Søgaard, Jens K."How do I enable transparent compression on APFS?".Ask Different.RetrievedNovember 13,2019.
  18. ^Tamura, Eric;Giampaolo, Dominic(2016)."Introducing Apple File System"(PDF).RetrievedMay 28,2022.
  19. ^"A ZFS developer's analysis of the good and bad in Apple's new APFS file system".Ars Technica.June 26, 2016.
  20. ^Robin Harris (June 24, 2016)."Why Apple's APFS won't last 30 years".ZDNet.
  21. ^Adam Leventhal (June 19, 2016)."APFS in Detail: Overview".RetrievedOctober 1,2017.
  22. ^"An analysis of APFS enumeration performance on rotational hard drives".Carbon Copy Cloner.RetrievedJanuary 8,2020.
  23. ^abLeventhal, Adam H. (June 26, 2016)."A ZFS developer's analysis of the good and bad in Apple's new APFS file system".Ars Technica.APFS right now is incompatible with Time Machine due to the lack of directory hard links, a fairly disgusting implementation that likely contributes to Time Machine's questionable reliability.
  24. ^"Disks you can use with Time Machine".RetrievedDecember 17,2019.
  25. ^"APFS changes in Big Sur".June 29, 2020.RetrievedNovember 26,2020.
  26. ^"macOS Big Sur 11.0.1 Release Notes".Apple.RetrievedDecember 13,2020.
  27. ^Cunningham, Andrew (November 12, 2020)."macOS 11.0 Big Sur: The Ars Technica review".Ars Technica.RetrievedMarch 6,2021.
  28. ^"Uh Oh! Unified Logs in High Sierra (10.13) Show Plaintext Password for APFS Encrypted External Volumes via Disk Utility.app".mac4n6.March 21, 2018.RetrievedNovember 11,2019.
  29. ^"About the security content of iOS 14.4 and iPadOS 14.4 - Apple Support".Apple Support.RetrievedFebruary 7,2021.
  30. ^"About the security content of macOS Big Sur 11.2, Security Update 2021-001 Catalina, Security Update 2021-001 Mojave - Apple Support".Apple Support.RetrievedFebruary 7,2021.
  31. ^"About the security content of watchOS 7.3 - Apple Support".Apple Support.RetrievedFebruary 7,2021.
  32. ^"About the security content of tvOS 14.4 - Apple Support".Apple Support.RetrievedFebruary 7,2021.
  33. ^Tsai, Michael J."Michael Tsai - Blog - APFS's" Bag of Bytes "Filenames".
  34. ^"APFS is currently unusable with most non-English languages".April 6, 2017.Archivedfrom the original on June 8, 2017.
  35. ^"How to Format a Drive With the APFS File System on macOS Sierra".Archivedfrom the original on October 26, 2016.RetrievedOctober 26,2016.
  36. ^ab"Prepare for APFS in macOS High Sierra".Apple.September 7, 2017.RetrievedSeptember 19,2017.
  37. ^"macOS 10.14 Mojave: The Ars Technica review".arstechnica.September 25, 2018.RetrievedDecember 20,2018.
  38. ^Trouton, Rich (September 26, 2017)."Using the macOS High Sierra OS installer's startosinstall tool to avoid APFS conversion".Der Flounder.RetrievedJanuary 16,2018.
  39. ^"jakepetroules/Filesystem".GitHub.RetrievedMarch 29,2017.
  40. ^"DiskWarrior 5.2 & Apple File System (APFS)".RetrievedJune 28,2020.
  41. ^"Paragon Software Group Releases Free Paragon APFS SDK Community Edition for Software Developers, OEMs, Forensic Experts".Paragon Software Group.GitHub
  42. ^"libyal/libfsapfs".GitHub.November 7, 2019.Library and tools to access the Apple File System (APFS)
  43. ^"apfs-fuse - Fedora Packages".packages.fedoraproject.org.RetrievedOctober 20,2022.
  44. ^"apfs-fuse-20200928-1.el9.x86_64.rpm".rhel.pkgs.org.
  45. ^Ross, Alistair (February 23, 2019)."How to mount macOS APFS disk volumes in Linux".The Ultimate Linux Newbie Guide.(Github)
  46. ^"linux-apfs/linux-apfs-rw: APFS module for linux, with experimental write support".GitHub.APFS for Linux. February 4, 2022.
  47. ^"APFS for Windows | Paragon Software".Paragon Software Group.RetrievedJanuary 29,2024.

External links[edit]