Apple heeft het APFS-bestandssysteem samen met een nieuw concept geïntroduceerd: de APFS-container. Alle APFS-volumes bevinden zich in een container en de container bevindt zich in de partitie-indeling van de schijf. Alle volumes in een container delen de ruimte die ter beschikking is gesteld van de container; afzonderlijke APFS-containers delen geen ruimte met elkaar.
In macOS High Sierra heeft Apple het concept rollen aan volumes toegevoegd. Op dat moment waren er maar drie rollen die voor de gewone gebruiker grotendeels ongemerkt bleven: preboot, herstel en VG (virtueel geheugen). Dankzij deze rollen kan het systeem specifieke volumes voor specifieke doeleinden identificeren om die volumes dan op een specifieke manier te behandelen (voorbeeld: een volume met de eerder vermelde rollen zou standaard verborgen zijn en ook niet standaard geactiveerd worden).
Op de volgende grafiek ziet u enkele van deze APFS-concepten:
De partitie-indeling omvat de gehele fysieke schijf. In de partitie-indeling kunt u een of meer APFS-containers maken en in elke container kunt u een of meer APFS-volumes maken. Alle volumes in een container delen de ruimte die aan de container is toegewezen, wat bij een traditionele partitionering niet het geval was. In het bovenstaande voorbeeld hebben de drie grijze hulppartities, de systeem- en gegevensvolumes en het ‘andere volume’ (Other Volume) allemaal toegang tot die 700 GB opslagruimte. ‘Other Volume B’ bevindt zich in een afzonderlijke container en deelt geen ruimte met de volumes uit container ‘A’. Normaal wordt een schijf niet gepartitioneerd op deze manier, maar het zou wel gerechtvaardigd zijn als u bijvoorbeeld een reservekopie van de opstartschijf op diezelfde schijf zou willen hebben (bijv. voor testdoeleinden in het geval van ontwikkelaars).
Nieuw concept: APFS-volumegroepen
In macOS Catalina introduceert Apple weer een nieuw concept voor het APFS-bestandssysteem: volumegroepen. Dit is geen nieuwe substructuur maar meer een conceptuele groepering van volumes in een APFS-container. Apple heeft ook het aantal beschikbare rollen voor APFS-volumes aanzienlijk uitgebreid (nu zijn er 16 unieke rollen). Wanneer u de upgrade naar Catalina uitvoert, wordt de naam van het huidige macOS-systeemvolume gewijzigd (bijv. in ‘Macintosh HD - Data’) en wordt de rol ervan ingesteld op Gegevens. Vervolgens wordt een nieuw volume toegevoegd aan de APFS-container van de opstartschijf en krijgt dat volume de rol Systeem. Het wordt ook tegelijk met het gegevensvolume gegroepeerd. De twee volumes in die groep hebben een bijzondere band en krijgen een speciale behandeling van de Finder en van het bestandssysteem van elk volume. Vanuit het oogpunt van de gebruiker worden deze twee volumes behandeld als een enkel, gemeenschappelijk volume. Als u even kijkt in Schijfhulpprogramma, zult u de twee volumes wel als twee afzonderlijke items zien.
Het systeemvolume met alleen-lezenkenmerk
De grootste wijziging in macOS Catalina is misschien wel de manier waarop het systeemvolume wordt geactiveerd bij het opstarten: het heeft het kenmerk alleen-lezen. Door het volume met het kenmerk ‘alleen-lezen’ te activeren kunnen aanvallers geen wijzigingen aan de inhoud van het macOS-systeemvolume brengen. Dat betekent niet dat de Mac 100% beveiligd is tegen alle mogelijke aanvallen; het is eerder een aanvulling op de beveiliging tegen aanvallen.
In macOS Big Sur heeft Apple het systeemvolume nog beter beveiligd met de introductie van een cryptografisch verzegeld ‘ondertekend systeemvolume’. Het systeemvolume wordt bij het opstarten helemaal niet geactiveerd. In plaats daarvan wordt een momentopname van het systeem geactiveerd en als opstartschijf gebruikt. De momentopname kan alleen worden gelezen en is volledig onwijzigbaar.
Het gegevensvolume
U kunt het gegevensvolume beschouwen als een ‘schaduw’ van het systeemvolume met het lezen/schrijven-kenmerk. Het gegevensvolume bevat niet alleen uw gebruikersgegevens (bijv. de thuismap, apps van andere ontwikkelaars) maar ook enkele systeemonderdelen die niet op een alleen-lezenvolume kunnen staan. Apple heeft bijvoorbeeld Safari op het gegevensvolume geplaatst. Misschien om het vaker te kunnen bijwerken? Het gegevensvolume van de huidige opstartschijf wordt geactiveerd op een speciaal activeringspunt in het systeem. U kunt het terugvinden door in de Finder te gaan naar Macintosh HD Systeem Volumes {Naam van gegevensvolume}. Wat u daar zult zien, is een replica van de mappen op rootniveau van het systeemvolume. In deze mappen staan alle systeemonderdelen die nog steeds beschrijfbaar zijn. Normaal ziet u deze onderdelen niet in de Finder omdat de Finder de inhoud van de twee volumes visueel samenbrengt om ze als een enkel volume weer te geven. De Finder zal ook het gegevensvolume niet bij de andere volumes weergeven. Het gegevensvolume is geactiveerd maar verborgen.
Banden bouwen met firmlinks
Om de illusie van een enkel, gemeenschappelijk volume te wekken, heeft Apple ondersteuning voor firmlinks toegevoegd aan APFS. Zoals de naam het al aangeeft, ligt een firmlink conceptueel tussen een soft link en een hard link. Maar dat maakt het wellicht niet duidelijker (zelfs voor mensen die bekend zijn met soft en hard links). Een firmlink wordt door Apple omschreven als een ‘bidirectioneel wormgat’ tussen twee bestandssystemen. Laten we de map ‘Gebruikers’ even als voorbeeld nemen. De map ‘Gebruikers’ op het rootniveau van het systeemvolume is eigenlijk een firmlink die wijst naar de map ‘Gebruikers’ op het rootniveau van het gegevensvolume. Wanneer u probeert te navigeren naar de map /Gebruikers op het systeemvolume, gaat u eigenlijk de inhoud van de map /Gebruikers op het gegevensvolume zien. Of stel voor dat u een map op het bureaublad bekijkt (u ziet dus de inhoud van het gegevensvolume) en enkele niveaus naar boven navigeert. Wanneer u bij de bovenliggende map van de map ‘Gebruikers’ komt, ziet u niet langer het gegevensvolume maar wel de firmlink die u terug naar het rootniveau van het systeemvolume heeft gebracht.
Er zijn ongeveer enkele tientallen firmlinks in het macOS-systeemvolume die diverse mappen op het systeemvolume koppelen aan beschrijfbare tegenhangers op het gegevensvolume. Als u meer wilt weten over deze firmlinks, kunt u een complete lijst bekijken in /usr/share/firmlinks op de opstartschijf.
Bedrog van de map Programma’s in de Finder
Firmlinks zijn meestal transparant, maar er is één overduidelijke uitzondering: de map Programma’s. De map Apps op het rootniveau van het systeemvolume is een firmlink naar de map Apps op het rootniveau van het gegevensvolume. Toch worden veel apps niet echt bewaard in de schrijfbare Apps-map op het gegevensvolume. De Finder goochelt hier wat. De Systeemapps-map met het alleen-lezenkenmerk bevindt zich eigenlijk in Systeem > Apps op het systeemvolume. Wanneer u de Apps-map in de Finder opent, ziet u de gecombineerde inhoud van die map en de Apps-map op het rootniveau van het gegevensvolume (waar al uw apps zich bevinden). Voor de gewone gebruiker is dit precies wat verwacht wordt, en dat is geweldig. U zult echter merken dat dezelfde samenvoeging niet wordt toegepast op andere systeemvolumes waarmee de Mac momenteel niet is opgestart (bijvoorbeeld een verouderde opstartbare kopie van uw opstartschijf). Als u op die volumes de map Programma’s op rootniveau opent op het zichtbare systeemvolume, ziet u alleen de inhoud van de firmlink naar de map Programma’s op het rootniveau van het gegevensvolume (dus geen Apple-apps, alleen uw apps van andere ontwikkelaars en Safari). In die gevallen vindt u de Apple-systeemapps in Systeem > Apps.