Apple Partition Map

from Wikipedia, the free encyclopedia

The Apple Partition Map , or APM for short , is a partition table for m68k- and PowerPC -based computers made by the US company Apple . It was with the Macintosh II introduced in 1987 and 2006, with the transition to Intel - architecture by the GUID Partition Table (GPT) replaced.

For addressing, a storage medium is divided into logical blocks of usually 512  bytes , whereby the first data block, block 0, contains the Apple-specific “Driver Descriptor Map” and the actual partition table begins from the second data block. In this, the individual blocks are defined via 32-bit wide addresses, resulting in a partitionable total size of a maximum of 2  TiB .

A special feature of the Apple partition table is that it also defines itself as a partition , just like free space on the storage medium is defined as a special partition. With the exception of block 0, every logical block on the medium belongs to a partition.

APM is also used on hybrid CDs together with the ISO-9660 file system in order (like Microsoft with the Joliet extension) to offer interoperability with full functionality at the same time.

Intel-based Macs

As of Mac OS X Tiger (from 10.4.2, 2005), both APM and GPT partitioned storage media can be used in the usual way to access partitions and the file systems they contain . However, APM is a prerequisite for starting the operating system ( booting ) on PowerPC-based Macs, whereas GPT is used on Intel-based Macs.

Macintosh computers that were shipped with Mac OS X Tiger (10.4, 2005) or Mac OS X Leopard (10.5, 2007) can boot from both APM and GPT partitioned storage media, as long as the method is supported and a suitable one Operating system is included. This fact is due to the compatibility of the operating systems for both PowerPC and Intel Macs, since the installation media of these Mac OS X versions (must) use APM partitioning in order to remain bootable on PowerPC-based Macs. On Intel-based Macs, the installation program still refuses to select an APM partition as the installation target. Only for external storage media are there official instructions from Apple on how to install a Mac OS X Leopard (10.5) operating system on an APM-partitioned external hard drive so that it can be booted on both architectures.

construction

Each entry in the partition table has a size of one data block, which normally corresponds to 512  bytes . Each entry in the partition table therefore occupies 512 bytes or one sector. Since the partition table itself also represents an entry, the size of the first partition determines the possible number of partitions.

Normally the partition table itself has 63 blocks (sectors), so it can accommodate 62 additional partitions. Together with the driver descriptor map , the first 64 sectors (64 × 512 = 32 kB ) are normally  occupied.

In addition to the start sector and size, each entry in the partition table also contains a name, a type, the position of the data area and any start program, as well as the total number of partitions in the partition table. So z. B. the firmware when reading in the first partition entry, how many more sectors of 512  bytes have to be read in so that all entries have been processed.

address Size
in bytes
content Required?
Bytes Hex
0-1 0x0000 2 Signature ( 0x504D, ASCII "PM") No
2-3 0x0002 2 reserved No
4-7 0x0004 4th Number of partitions (total) Yes
8-11 0x0008 4th Start sector of the partition Yes
12-15 0x000C 4th Partition size (in sectors) Yes
16-47 0x0010 32 Name of the partition (in ASCII ) No
48-79 0x0030 32 Partition type (in ASCII ) No
80-83 0x0050 4th Start sector of the data area on the partition No
84-87 0x0054 4th Size of the data area on the partition (in sectors) No
88-91 0x0058 4th Status of the partition No
92-95 0x005C 4th Start sector of the start program ( English boot code ) No
96-99 0x0060 4th Size of the start program ( English boot code ) (in bytes ) No
100-103 0x0064 4th Address of the boot loader ( English bootloader code ) No
104-107 0x0068 4th reserved No
108-111 0x006C 4th english boot code entry point No
112-115 0x0070 4th reserved No
116-119 0x0074 4th Checksum of the start program ( English boot code ) No
120-135 0x0078 16 Processor type No
136-511 0x0088 376 reserved No

Partition types

Identifier  / type Content / file system Name (typical) Description / remarks
Apple_Boot Bootloader MOSX_OF3_Booter, eXternal booter Since a file system is required to boot that can be read by the Open Firmware ( “New World” : Open Firmware 3.0 and newer), this partition is used for BootX if the Mac OS X installation is not on one of the Open Firmware readable file system is located. This is e.g. This is the case , for example, with software RAID configurations or when a UFS file system or an HFS + file system, which is “case-sensitive”, is used.
Apple_Boot_RAID Bootloader Raid Partition
Apple_Bootstrap NewWorld bootblock This general boot partition of the Open Firmware ( New World ) is mainly used by yaboot. The partition contains an HFS file system that can be read by the Open Firmware.
Apple_Driver Device driver Macintosh Mac OS (Classic) driver partition .
Apple_Driver43 SCSI Manager 4.3 ( device driver ) Macintosh Mac OS (Classic) driver partition .
Apple_Driver43_CD SCSI CD-ROM driver Macintosh Mac OS (Classic) driver partition .
Apple_Driver_ATA ATA driver Macintosh Mac OS (Classic) driver partition .
Apple_Driver_ATAPI ATAPI driver Macintosh Mac OS (Classic) driver partition .
Apple_Driver_IOKit IOKit driver Macintosh Mac OS (Classic) driver partition .
Apple_Driver_OpenFirmware Macintosh
Apple_Extra unused This partition type identifies an unused partition.
Apple_Free free memory Extra This type of partition marks free space. This clearly shows the peculiarity of the Apple Partition Map : even free space is assigned to a partition.
Apple_FWDriver FireWire - Driver Macintosh Mac OS (Classic) driver partition .
Apple_HFS Hierarchical File System Apple_HFS Typically used by Mac OS and Mac OS X with the HFS or HFS + file system, but may also contain an "MS-DOS file system" ( File Allocation Table ) that is also accessible from Mac OS and Mac OS X. .
Apple_HFSX HFS Plus This partition contains an HFS + file system without an “HFS wrapper” , which means that it can no longer be started directly. HFSX was introduced with Mac OS X Panther (10.3, 2003) and is only used in special cases, for example when an HFS + in the “case-sensitive” variant is used. HFSX is the standard GUID partition type on Intel-based Macs.
Apple_Loader - SecondaryLoader Contains BootX, the boot loader for Mac OS X , similar to Apple_Boot, but for “Old World” Macs. This partition does not contain a file system, but executable BootX code in XCOFF format. This partition was Mac OS X Server and Mac OS X to Mac OS X 10.2 is used ( "Jaguar", 2002), when the operating system on a UFS - or HFS + file system, which is "case-sensitive" is installed .
Apple_MFS Macintosh File System This type of partition is used by the Mac OS for the Macintosh File System (MFS), as introduced in 1984 with the Macintosh 128k .
Apple_Partition_Map Partition table Apple The partition table itself is also a partition of its own. The size of this partition also sets the limit on how many partitions can be defined in total.
Apple_Patches patches Patch Partition Correction partition of Mac OS (Classic) .
Apple_PRODOS Apple ProDOS This type of partition is used by Apple ProDOS .
Apple_RAID RAID Apple_RAID_OfflineV2 This type marks a software RAID partition as of Mac OS X is used. Usually it includes an HFS , HFS + , or UFS file system.
Apple_Rhapsody_UFS Unix File System Mac OS X Server This partition type contains a Unix File System (UFS), as used by Apple for the Rhapsody operating system (the development from OPENSTEP to Mac OS X) and also Mac OS X Server 1.0 to 1.2v3 .
Apple_Scratch empty This partition type marks an empty partition.
Apple_Second This type of partition includes a second stage bootloader .
Apple_UFS Unix File System Mac OS X, Apple_UFS This type of partition contains a Unix File System (UFS) as used by Mac OS X and Mac OS X Server (from version 10.0) and many other Unix- like operating systems.
Apple_UNIX_SVR2 A / UX This partition type originally comes from A / UX (the Apple Unix operating system based on System V Release 2 , hence SVR2 ) on the computer architecture m68k , but it was later reused by MkLinux with the ext2 file system. It is the standard partition type used by many Unix operating systems such as Linux and NetBSD . This partition contains a file system which the operating system supports or specifies. If it is to be bootable, a file system must be used that Apple_Bootstrapcan be read by the partition's boot loader (e.g. yaboot).
Apple_Void ISO 9660 padding A dummy partition for the correct orientation ( English Padding ) on bootable storage media.
Be_BFS Be File System This partition contains a Be File System (BFS) and is normally only used by BeOS .

Partition status

value meaning system
0x00000001 Entry is valid ( English valid ) A / UX
0x00000002 Entry is provided ( English allocated ) A / UX
0x00000004 Entry (in using English in use ) A / UX
0x00000008 Entry includes start information ( English boot information ) A / UX
0x00000010 Partition is readable ( english readable ) A / UX
0x00000020 Partition is writable ( English writable ) Macintosh , A / UX
0x00000040 The start program is position-independent A / UX
0x00000100 Partition contains chain- loadable drivers macintosh
0x00000200 Partition contains real drivers macintosh
0x00000400 Partition contains chain drivers macintosh
0x40000000 Automatically partition when starting embed macintosh
0x80000000 Partition is the start partition macintosh

Individual evidence

  1. a b Apple: Technical Note TN2166 - Secrets of the GPT (English)
  2. http://support.apple.com/kb/TA21692
  3. MacTech Magazine: Apple's Transition from Apple Partition Map to the GUID Partition Table (2007, Volume 23, Issue 03), Author: Criss Myers (English)
  4. - ( Memento of the original from April 6, 2009 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (English) @1@ 2Template: Webachiv / IABot / lists.apple.com
  5. Apple: Mac OS X 10.5: Create and maintain a bootable “universal” external hard drive
  6. René Rebe, Susanne Klaus: Creating custom Linux solutions . Apple Partition Map . In: T2 System Development Environment . Retrieved on February 24, 2013 (English): “ While the original intent was to handle various block sizes, in practice only 512 byte blocks are supported. "
  7. Technical Note TN2166. Secrets of the GPT. Apple, accessed on February 24, 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 ... "
  8. ^ Yellow Dog Solutions . Attaching Firewire Disks to a Linux Box . (No longer available online.) Fixstars Corporation, archived from the original on October 13, 2009 ; Retrieved on February 24, 2013 (English, the command pdisk -l /dev/sdaoutputs the size of the Apple_partition_mapwith 63 blocks. Examples like this can be found in abundance on the Internet.). Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.ydl.net
  9. IOApplePartitionScheme.h ( English ) Apple. 2009. Retrieved August 7, 2016.