L'introduction du système de fichiers APFS par Apple a marqué l'arrivée d'un nouveau concept : celui de conteneur APFS. Tous les volumes APFS résident dans un conteneur, qui se trouve lui-même dans le schéma de partitionnement du disque. Tous les volumes d'un conteneur partagent l'espace mis à la disposition du conteneur. Les différents conteneurs APFS ne partagent pas d'espace les uns avec les autres.
Sous macOS High Sierra, Apple a ajouté le concept de rôles aux volumes. À l'époque, seuls trois rôles étaient disponibles, et la plupart des utilisateurs n'ont rien remarqué : Preboot, Recovery et VM (mémoire virtuelle). Ces rôles permettent au système d'associer des volumes spécifiques à des buts bien précis, puis de les traiter de façon particulière (par exemple, un volume associé à l'un des rôles ci-dessus peut être masqué par défaut et non monté par défaut).
Le schéma ci-dessous montre quelques-uns des concepts associés à APFS :
Le schéma de partitionnement englobe l'intégralité du disque physique. Au sein du schéma de partitionnement, vous pouvez créer un ou plusieurs conteneurs APFS. Dans chaque conteneur, vous pouvez créer un ou plusieurs volumes APFS. Contrairement au partitionnement tel qu'il s'effectuait jusqu'à présent, tous les volumes du conteneur partagent l'espace alloué au conteneur. Dans l'exemple ci-dessus, les trois partitions d'utilitaire grises ainsi que le volume Système, le volume Données et le volume « Autre volume » ont tous accès à ces 700 Go d'espace de stockage. Le volume « Autre volume B » se trouve dans un autre conteneur et ne partage pas d'espace avec les volumes du conteneur A. En principe, un disque ne se partitionne pas comme cela, mais cette approche peut dans certains cas se justifier, par exemple pour conserver une sauvegarde de votre disque de démarrage sur ce même disque (pour des tests de développement, par exemple).
Nouveau concept : groupes de volumes APFS
Dans macOS Catalina, Apple a introduit un autre concept lié au système de fichiers APFS : les groupes de volumes. Il ne s'agit pas à proprement parler d'une nouvelle sous-structure, mais plutôt d'un regroupement conceptuel de volumes dans un conteneur APFS. Apple a également augmenté considérablement le nombre de rôles disponibles pour les volumes APFS (il en existe désormais 16). Lorsque vous passez à Catalina, votre volume système macOS est renommé (Macintosh HD - Données), son rôle est défini sur Data. Un nouveau volume est ensuite ajouté au conteneur APFS de votre disque de démarrage et associé au rôle System, puis regroupé dans le même temps avec le volume Data. Les deux volumes de ce groupe ont des relations spécifiques et sont gérés de façon spéciale par le Finder et par le système de fichiers de chaque volume. Du point de vue de l'utilisateur, ces deux volumes sont traités comme un seul volume unifié. Cependant, dans Utilitaire de disque, vous verrez les deux volumes en tant que deux éléments distincts.
Le volume système en lecture seule
Le plus grand changement de macOS Catalina réside peut-être dans la façon dont le volume système est monté au démarrage : il est en lecture seule. Grâce à cette protection, les personnes malveillantes ne pourront pas apporter de modification au contenu du volume système macOS. Votre Mac n'est pas pour autant totalement immunisé contre les attaques, mais il dispose d'un niveau de défense supplémentaire.
Dans macOS Big Sur, Apple a renforcé la protection du volume système en introduisant un volume système signé, protégé par un sceau cryptographique. Le volume système n'est plus monté du tout au démarrage. En revanche, un instantané du volume système est monté et utilisé comme disque de démarrage. L'instantané est en lecture seule et totalement impossible à modifier.
Le volume de données
Le volume de données est en quelque sorte un « fantôme » en lecture-écriture du volume système. Il contient l'ensemble de vos données utilisateur (dossier de départ, applications tierces, etc.), mais également différents composants système qui ne peuvent pas se trouver sur un volume en lecture seule. Par exemple, Apple a placé Safari sur le volume de données, peut-être pour que cette application puisse être mise à jour plus fréquemment. Le volume de données du disque de démarrage actuel est monté dans un point de montage spécifique du système. Pour le trouver, accédez dans le Finder à Macintosh HD Système Volumes {Nom du volume de données}. Vous accéderez alors à une réplique des dossiers de niveau racine du volume système. Dans ces dossiers se trouvent tous les composants système qui restent inscriptibles. En principe, vous ne verrez cependant pas ces éléments dans le Finder, car celui-ci fusionne le contenu des deux volumes pour ne faire apparaître qu'un seul volume. Par ailleurs, le Finder n'affiche pas le volume de données aux côtés de vos autres volumes : celui-ci est monté, mais masqué.
Création de liaisons grâce aux firmlinks
Pour donner l'illusion d'un seul volume unifié, Apple permet à APFS de gérer les firmlinks. Un firmlink est à mi-chemin entre un lien virtuel et un lien physique. Vous saisissez ? Sans doute pas, car même les spécialistes en liens virtuels et physiques s'y perdent ! Apple décrit les firmlinks comme des « trous de ver bidirectionnels » entre deux systèmes de fichiers. Le dossier Utilisateurs qui se trouve au niveau racine du volume système est un fait un firmlink qui renvoie vers le dossier Utilisateurs situé au niveau racine du volume de données. Si vous essayez d'accéder au dossier /Utilisateurs du volume système, vous verrez en fait le contenu du dossier /Utilisateurs du volume de données. De même, imaginons que vous regardez le contenu d'un dossier de votre bureau (et donc le contenu du volume de données), puis que vous remontez de plusieurs niveaux. Lorsque vous accédez au parent du dossier Utilisateurs, vous ne regardez plus le volume de données, mais le firmlink qui vous a ramené au niveau racine du volume système.
Dans le volume système de macOS, il existe une vingtaine de firmlinks reliant différents dossiers du volume système à leur équivalent inscriptible sur le volume de données. Si ce sujet vous intéresse, vous trouverez la liste complète des firmlinks dans le dossier /usr/share/firmlinks de votre disque de démarrage.
Les petits arrangements entre le Finder et le dossier Applications
Les firmlinks sont pour la plupart transparents, à une exception notable près : le dossier Applications. Le dossier Applications situé au niveau racine du volume système est un firmlink menant au dossier Applications situé au niveau racine du volume de données. Cependant, de nombreuses applications ne sont pas réellement stockées dans le dossier Applications du volume de données. Le Finder réalise un tour de passe-passe. Le dossier Applications du volume système en lecture seule se trouve en fait dans Système > Applications sur le volume système. Lorsque vous ouvrez le dossier Applications dans le Finder, vous voyez une version agrégée de ce dossier et du dossier Application situé au niveau racine du volume de données (là où se trouvent toutes vos applications). Pour l'utilisateur lambda, c'est exactement le résultat attendu, et tout est parfait. Cependant, vous remarquerez peut-être que cette agrégation n'est pas appliquée aux autres volumes système qui n'ont pas été utilisés pour démarrer votre Mac (copie démarrable d'ancienne génération de votre disque de démarrage, par exemple). Sur ces volumes, si vous ouvrez le dossier Applications situé à la racine du volume système visible, vous ne verrez que le contenu du firmlink menant au dossier Applications situé à la racine du volume de données (vous ne verrez aucune application Apple, mais uniquement vos applications tierces et Safari). Dans ces cas, vous retrouverez les applications système Apple dans Système > Applications.