Zur Adressierung wird ein Speichermedium in logische Blöcke von üblicherweise 512 Bytes aufgeteilt, wobei der erste DatenblockBlock 0 die Apple-spezifische “Driver Descriptor Map”[2] enthält und ab dem zweiten Datenblock die eigentliche Partitionstabelle beginnt. In dieser sind die einzelnen Blöcke über 32-Bit breite Adressen definiert, woraus sich eine partitionierbare Gesamtgröße von maximal 2 TiB ergibt.[3]
Als eine Besonderheit der Apple-Partitionstabelle gilt, dass sie sich selbst ebenfalls als Partition definiert, ebenso wie freier Speicher auf dem Speichermedium als spezielle Partition definiert ist. Damit ist mit der Ausnahme des Block 0 jeder logische Block auf dem Medium einer Partition zugehörig.
Auch auf Hybrid-CDs findet APM gemeinsam mit dem ISO-9660-Dateisystem Verwendung, um (wie Microsoft mit der Joliet-Erweiterung) Interoperabilität bei gleichzeitig voller Funktionalität zu bieten.
Für den Zugriff auf Partitionen und die enthaltenen Dateisysteme können ab Mac OS X Tiger (ab 10.4.2, 2005) sowohl APM- als auch GPT-partitionierte Speichermedien in üblicher Weise verwendet werden. Für den Betriebssystemstart (Booten) ist jedoch auf PowerPC-basierten Macs APM Voraussetzung[4], wohingegen auf Intel-basierten Macs GPT verwendet wird.[1]
Macintosh-Computer, die mit Mac OS X Tiger (10.4, 2005) oder Mac OS X Leopard (10.5, 2007) ausgeliefert wurden, können sowohl von APM- als auch von GPT-partitionierten Speichermedien starten, sofern die Methode unterstützt ist und ein passendes Betriebssystem enthalten ist. Dieser Umstand ist der Kompatibilität der Betriebssysteme für sowohl PowerPC- als auch Intel-Macs geschuldet, da die Installationsmedien dieser Mac-OS-X-Versionen eine APM-Partitionierung verwenden (müssen) um auf PowerPC-basierten Macs startfähig zu bleiben. Auf Intel-basierten Macs verwehrt das Installationsprogramm dennoch die Auswahl einer APM-Partition als Installationsziel. Einzig für externe Speichermedien existiert eine offizielle Anleitung von Apple, wie man ein Mac-OS-X-Leopard-(10.5)-Betriebssystem so auf einer APM-partitionierten externen Festplatte installiert, dass es auf beiden Architekturen startfähig ist.[5]
Aufbau
Ein Eintrag in der Partitionstabelle hat jeweils eine Größe von einem Datenblock, was normalerweise 512 Bytes entspricht.[6][7] Jeder Eintrag in die Partitionstabelle belegt somit 512 Bytes oder einen Sektor. Da die Partitionstabelle selbst auch einen Eintrag darstellt, gibt die Größe der ersten Partition die mögliche Anzahl an Partitionen an sich vor.
Normalerweise umfasst die Partitionstabelle selbst 63 Blöcke (Sektoren), kann also 62 zusätzliche Partitionen beherbergen.[8] Zusammen mit der Driver Descriptor Map sind im Normalfall also die ersten 64 Sektoren (64 × 512 = 32 kB) belegt.
Jeder Eintrag in der Partitionstabelle enthält neben dem Startsektor und der Größe auch einen Namen, einen Typ, die Position des Datenbereichs und eines etwaigen Startprogramms auch die gesamte Anzahl der Partitionen in der Partitionstabelle.[9] So weiß z. B. die Firmware bereits beim Einlesen des ersten Partitionseintrags, wie viele weitere Sektoren à 512 Bytes noch eingelesen werden müssen, damit alle Einträge verarbeitet wurden.
Da zum Starten ein Dateisystem benötigt wird, das von der Open Firmware (“New World”: Open Firmware 3.0 und neuer) gelesen werden kann, wird diese Partition für BootX verwendet, wenn sich die Installation von Mac OS X nicht auf einem von der Open Firmware lesbaren Dateisystem befindet. Das ist z. B. bei Software-RAID-Konfigurationen der Fall oder wenn ein UFS-Dateisystem oder ein HFS+-Dateisystem, welches “case-sensitive” ist, verwendet wird.
Diese allgemeine Bootpartition der Open Firmware (New World) wird hauptsächlich von yaboot verwendet. Die Partition beinhaltet ein HFS-Dateisystem, das von der Open Firmware gelesen werden kann.
Dieser Partitionstyp kennzeichnet eine unbenutzte Partition.
Apple_Free
freier Speicher
Extra
Dieser Partitionstyp markiert freien Speicherplatz. Hier zeigt sich deutlich die Besonderheit der Apple Partition Map: selbst freier Speicher ist einer Partition zugeordnet.
Wird von Mac OS und Mac OS X normalerweise mit dem HFS- oder HFS+-Dateisystem verwendet, kann jedoch auch ein „MS-DOS-Dateisystem“ (File Allocation Table) enthalten, auf das ebenfalls von Mac OS und Mac OS X zugegriffen werden kann.
Diese Partition enthält ein HFS+-Dateisystem ohne “HFS wrapper”, wodurch es nicht mehr direkt startbar ist. HFSX wurde mit Mac OS X Panther (10.3, 2003) eingeführt und wird nur in besonderen Fällen verwendet, etwa wenn ein HFS+ in der Variante “case-sensitive” verwendet wird. HFSX ist der Standard-GUID-Partitionstyp auf Intel-basierten Macs.
Apple_Loader
–
SecondaryLoader
Beinhaltet BootX, den Bootloader für Mac OS X, analog zu Apple_Boot, jedoch für “Old World”-Macs. Diese Partition beinhaltet kein Dateisystem, sondern ausführbaren BootX-Code im XCOFF-Format. Diese Partition wurde unter Mac OS X Server und unter Mac OS X bis Mac OS X 10.2 („Jaguar“, 2002) verwendet, wenn das Betriebssystem auf einem UFS- oder einem HFS+-Dateisystem, welches “case-sensitive” ist, installiert wurde.
Die Partitionstabelle selbst ist auch eine eigene Partition. Die Größe dieser Partition setzt gleichzeitig das Limit, wie viele Partition insgesamt definiert werden können.
Dieser Typ markiert eine Software-RAID-Partition, wie sie von Mac OS X verwendet wird. Normalerweise beinhaltet sie ein HFS, HFS+- oder UFS-Dateisystem.
Ursprünglich stammt dieser Partitionstyp von A/UX (das Apple Unix-Betriebssystem basierend auf System V Release 2, daher SVR2) auf der Rechnerarchitektur m68k, es wurde aber später von MkLinux mit dem ext2-Dateisystem wiederverwendet. Es ist der Standard-Partitionstyp von vielen unixoiden Betriebssystemen wie etwa Linux und NetBSD. Diese Partition enthält ein Dateisystem, welches das Betriebssystem unterstützt oder vorgibt. Wenn es startfähig sein soll, muss ein Dateisystem verwendet werden, das vom Bootloader der Partition Apple_Bootstrap (z. B. yaboot) gelesen werden kann.
↑René Rebe, Susanne Klaus: Creating custom Linux solutions.Apple Partition Map. In: T2 System Development Environment. Abgerufen am 24. Februar 2013 (englisch): „While the original intent was to handle various block sizes, in practice only 512 byte blocks are supported.“
↑Technical Note TN2166. Secrets of the GPT. Apple, abgerufen am 24. Februar 2013: „…a standard block size of 512 bytes… […] Apple did consider extending APM to support larger disks. However, as such a change would break all existing partitioning tools…“
↑Apple Partition Map Appendix A. Partitioning Examples. In: T2 System Development Environment. Abgerufen am 5. November 2023 (englisch, Das Kommando pdisk -l /dev/sda gibt die Größe der Apple_partition_map mit 63 Blöcken aus. Beispiele wie dieses finden sich im Internet zuhauf.).