Перейти до вмісту

Схема розділів Apple

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Apple Partition Map)

Схема розділів 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]

ПолеРозмірПризначення
pmSig2 байтиСигнатура запису (PM)
pmMapBlkCnt4 байтиЗагальна кількість записів карти розділів
pmPyPartStart4 байтиНомер першого блока розділу
pmPartBlkCnt4 байтиРозмір розділу в блоках
pmPartName32 байтиНазва розділу
pmParType32 байтиРядковий ідентифікатор типу розділу
pmLgDataStart, pmDataCntпо 4 байтиПочаток і розмір ділянки даних усередині розділу
pmPartStatus4 байтиОзнаки стану розділу

Запис також передбачає поля для розміщення та запуску завантажувального коду драйвера, контрольної суми цього коду й назви архітектури процесора. Ці поля призначені насамперед для розділів із драйверами; для звичайних розділів із даними вони не використовуються. Багатобайтові числові поля зберігаються в порядку байтів від старшого до молодшого (англ. 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. 1 2 3 4 5 6 7 Apple Computer. Inside Macintosh: Devices — The Structure of Block Devices. Inside Macintosh (архівна копія документації Apple) (англ.). Процитовано 11 листопада 2026.
  2. 1 2 3 4 Apple. Схеми розділів, доступні в Дисковій утиліті на Mac. Служба підтримки Apple (укр.). Процитовано 11 листопада 2026.
  3. 1 2 3 4 5 Apple Computer (6 листопада 2006). Technical Note TN2166: Secrets of the GPT. Apple Developer Connection (архівна копія) (англ.). Процитовано 11 листопада 2026.
  4. 1 2 3 4 Apple Computer (22 листопада 1999). Technical Note TN1189: The Monster Disk Driver Technote. Apple Developer Documentation Archive (англ.). Процитовано 11 листопада 2026.
  5. 1 2 3 block/partitions/mac.h. Android Common Kernel — вихідний код ядра Linux (англ.). Процитовано 11 листопада 2026.
  6. 1 2 NetBSD/macppc Partitioning HOW-TO. The NetBSD Project (англ.). Процитовано 11 листопада 2026.
  7. ↑ pdisk — Apple partition table editor. Apple Open Source — pdisk (англ.). Процитовано 11 листопада 2026.

Посилання

[ред. | ред. код]