Схема розділів Apple
Схема розділів Apple (англ. Apple Partition Map, скорочено APM) — схема розбиття накопичувача на розділи, розроблена компанією Apple для комп'ютерів Macintosh. Вона визначає розташування розділів, їхні розміри, типи та окремі відомості, необхідні для завантаження системи. APM застосовували насамперед на комп'ютерах Macintosh із процесорами родини Motorola 68000 та PowerPC. На відміну від файлової системи, схема розділів не визначає способу зберігання окремих файлів усередині розділу.[1][2]
Компанія Apple пов'язує появу APM із випуском Macintosh II у 1987 році. Після переходу комп'ютерів Mac на процесори Intel основною схемою для підтримуваного завантаження macOS стала таблиця розділів GUID (GPT). APM залишилася доступною, зокрема, для сумісності зі старішими Macintosh на PowerPC.[3][2]
Поява схеми розділів Apple була пов'язана з використанням жорстких дисків у комп'ютерах Macintosh. Вона давала змогу розміщувати на одному диску кілька розділів, призначених для файлових систем, різних операційних систем і драйверів дискових пристроїв. Специфікацію структури описано в Inside Macintosh: Devices; технічна примітка Apple TN1189, оновлена 1999 року, задокументувала додаткові типи розділів і можливості драйверів.[1][4]
Формат використовували у класичній Mac OS та в системах для комп'ютерів PowerPC, зокрема в ранніх версіях Mac OS X. Із появою Macintosh на Intel Apple перейшла до GPT. Однією з названих компанією причин була 32-бітна адресація блоків в APM, яка ускладнювала використання накопичувачів більшої місткості. У технічній примітці 2006 року Apple зазначала, що зміна наявного формату порушила б сумісність зі старими утилітами розбиття дисків.[3]
APM зберігає опис розділів у послідовних блоках на початку накопичувача. У блоці з номером 0 міститься запис опису драйверів (англ. Driver Descriptor Record), а з блока 1 починається власне карта розділів. Запис у блоці 0 містить, серед іншого, сигнатуру ER (шістнадцяткове значення 0x4552), розмір блока й кількість блоків. Відповідні записи карти мають сигнатуру PM (0x504D).[1][5]
Кожен розділ має окремий запис, який зазвичай займає один блок розміром 512 байтів. Сама карта також вважається розділом і має власний запис типу Apple_partition_map. Її записи не обов'язково відповідають фізичній послідовності розділів на диску. Поле pmMapBlkCnt повідомляє загальну кількість записів карти; тому кількість розділів не є фіксованою характеристикою формату. Водночас збільшити карту після створення інших розділів складно, оскільки вона повинна займати неперервну ділянку від початку диска.[1]
У поширеному варіанті з 512-байтовими блоками для карти резервували блоки 1—63 (31,5 КіБ), а наступний розділ міг починатися з блока 64. Ці значення є прикладом розмітки, а не обов'язковим обмеженням APM.[6]
Основні поля запису APM:[1][5]
| Поле | Розмір | Призначення |
|---|---|---|
pmSig | 2 байти | Сигнатура запису (PM) |
pmMapBlkCnt | 4 байти | Загальна кількість записів карти розділів |
pmPyPartStart | 4 байти | Номер першого блока розділу |
pmPartBlkCnt | 4 байти | Розмір розділу в блоках |
pmPartName | 32 байти | Назва розділу |
pmParType | 32 байти | Рядковий ідентифікатор типу розділу |
pmLgDataStart, pmDataCnt | по 4 байти | Початок і розмір ділянки даних усередині розділу |
pmPartStatus | 4 байти | Ознаки стану розділу |
Запис також передбачає поля для розміщення та запуску завантажувального коду драйвера, контрольної суми цього коду й назви архітектури процесора. Ці поля призначені насамперед для розділів із драйверами; для звичайних розділів із даними вони не використовуються. Багатобайтові числові поля зберігаються в порядку байтів від старшого до молодшого (англ. big-endian).[4][5]
На відміну від схем, що задають тип розділу коротким числовим кодом, APM використовує текстовий ідентифікатор у полі pmParType. Зокрема, Apple описала такі типи:[1][4]
| Ідентифікатор | Призначення |
|---|---|
Apple_partition_map | Розділ, що містить саму карту розділів |
Apple_Driver | Драйвер дискового пристрою |
Apple_Driver43 | Драйвер для SCSI Manager 4.3 |
Apple_Driver_ATA | Драйвер для пристрою ATA |
Apple_MFS | Розділ із ранньою файловою системою Macintosh File System |
Apple_HFS | Розділ із HFS або HFS+ |
Apple_UNIX_SVR2 | Розділ для Unix-подібної системи, зокрема A/UX |
Apple_PRODOS | Розділ із файловою системою ProDOS |
Apple_Free | Нерозподілений простір |
Apple_Scratch | Порожня ділянка |
Перелік не є вичерпним. Програми та операційні системи можуть використовувати додаткові позначення. Зокрема, у специфікації APM передбачені розділи з драйверами й допоміжними даними, а типи з префіксом Apple_ Apple зарезервувала для власного використання.[4]
APM використовує 32-бітні поля для адресації блоків. За звичайного розміру блока 512 байтів це обмежує адресований простір приблизно 2 ТіБ (232 × 512 байтів). Це обмеження не слід плутати з максимальним розміром файла: останній залежить від конкретної файлової системи всередині розділу. Apple називала обмежену місткість однією з причин переходу на GPT.[3]
APM також відрізняється від GPT способом обліку вільного місця: у схемі Apple ділянки невикористаного простору позначаються розділами типу Apple_Free, тоді як у GPT вільний простір не потребує окремих записів. Інша особливість APM — можливість мати розділи з дисковими драйверами, які використовували механізми завантаження класичних Macintosh.[3][1]
Підтримка читання накопичувача з APM не тотожна можливості завантажити з нього операційну систему. У документації Apple для Macintosh на Intel підтримуваним способом завантаження Mac OS X названо GPT, хоча технічно деякі комп'ютери могли завантажуватися й з інших схем. У сучасній Дисковій утиліті Apple рекомендує GPT для Mac на Intel та Apple Silicon, а APM пропонує для сумісності зі старішими машинами на PowerPC.[3][2]
Схему розділів Apple можна переглядати та змінювати засобами операційної системи й спеціалізованими утилітами. У macOS для цього призначена Дискова утиліта. У середовищах Linux і NetBSD для дисків APM застосовували утиліту pdisk; вона дозволяє виводити карту, змінювати порядок записів і створювати розділи потрібних типів. Водночас створення розділів саме по собі не встановлює до них файлову систему та не гарантує можливості завантаження з диска.[2][6][7]
- 1 2 3 4 5 6 7 Apple Computer. Inside Macintosh: Devices — The Structure of Block Devices. Inside Macintosh (архівна копія документації Apple) (англ.). Процитовано 11 листопада 2026.
- 1 2 3 4 Apple. Схеми розділів, доступні в Дисковій утиліті на Mac. Служба підтримки Apple (укр.). Процитовано 11 листопада 2026.
- 1 2 3 4 5 Apple Computer (6 листопада 2006). Technical Note TN2166: Secrets of the GPT. Apple Developer Connection (архівна копія) (англ.). Процитовано 11 листопада 2026.
- 1 2 3 4 Apple Computer (22 листопада 1999). Technical Note TN1189: The Monster Disk Driver Technote. Apple Developer Documentation Archive (англ.). Процитовано 11 листопада 2026.
- 1 2 3 block/partitions/mac.h. Android Common Kernel — вихідний код ядра Linux (англ.). Процитовано 11 листопада 2026.
- 1 2 NetBSD/macppc Partitioning HOW-TO. The NetBSD Project (англ.). Процитовано 11 листопада 2026.
- ↑ pdisk — Apple partition table editor. Apple Open Source — pdisk (англ.). Процитовано 11 листопада 2026.
- The Monster Disk Driver Technote — технічна примітка Apple TN1189 про дискові драйвери та карту розділів.
- Схеми розділів, доступні в Дисковій утиліті на Mac — документація Apple українською мовою.