Apple Partition Map ( APM ) — это схема разделов , используемая для определения низкоуровневой организации данных на дисках, отформатированных для использования с компьютерами Macintosh 68k и PowerPC . Она была представлена вместе с Macintosh II . [1]
Диски, использующие Apple Partition Map, делятся на логические блоки , каждому блоку обычно принадлежит 512 байт . Первый блок, Block 0 , содержит специфичную для Apple структуру данных, называемую «Driver Descriptor Map» для Macintosh Toolbox ROM, для загрузки обновлений драйверов и исправлений перед загрузкой из раздела MFS или HFS. [2] Поскольку APM допускает логические блоки размером 32 бита, исторический размер диска, отформатированного в APM с использованием небольших блоков [3], ограничен 2 ТиБ . [4]
Карта разделов Apple отображает все используемое (включая карту) и неиспользуемое (свободное пространство) пространство на диске, в отличие от минимальной главной загрузочной записи x86 , которая учитывает только используемые разделы, не являющиеся картой. Это означает, что каждый блок на диске (за исключением первого блока, Block 0 ) принадлежит разделу.
Некоторые гибридные диски содержат как основной дескриптор тома ISO 9660 , так и карту разделов Apple, что позволяет диску работать на разных типах компьютеров, включая системы Apple.
Для доступа к томам можно использовать как разделы APM, так и GPT стандартным образом с Mac OS X Tiger (10.4) и выше. Для запуска операционной системы системы на базе PowerPC могут загружаться только с дисков APM. [5] Напротив, системы на базе Intel обычно загружаются с дисков GPT. [1] [6] [7] Тем не менее, старые компьютеры Mac на базе Intel могут загружаться с APM, GPT (таблица разделов GUID) и MBR ( главная загрузочная запись ), используя эмуляцию BIOS под названием EFI-CSM, т.е. модуль поддержки совместимости , предоставляемый EFI ).
Модели на базе Intel, которые поставлялись с предустановленной Mac OS X Tiger (10.4) или Leopard (10.5), должны были иметь возможность загрузки как с дисков APM, так и с дисков GPT из-за установочного носителя для этих универсальных версий Mac OS X, которые разделены на разделы APM, чтобы оставаться совместимыми с системами на базе PowerPC. [8] Однако установка OS X на Mac на базе Intel требует диска с разделами GPT или откажется продолжаться, так же как установка на системе на базе PowerPC потребует раздела APM. Клонирование уже установленной OS X в раздел APM на системах Intel останется загрузочным даже на компьютерах Mac на базе Intel 2011 года. Несмотря на эту очевидную поддержку APM, Apple никогда официально не поддерживала загрузку с внутреннего диска APM на системе на базе Intel. Единственным исключением для универсальной версии Mac OS X (Tiger или Leopard) является официальный документ Apple, описывающий, как настроить двойной загрузочный внешний диск APM для использования с PowerPC и Intel. [9]
Каждая запись таблицы разделов имеет размер одного блока данных, который обычно составляет 512 байт. [1] [10] Каждая запись раздела в таблице имеет размер одного блока или сектора данных. Поскольку сама таблица разделов также является разделом, размер этого первого раздела ограничивает количество записей в самой таблице разделов.
Обычным случаем является то, что 64 сектора (64 × 512 = 32 КБ) используются картой разделов Apple : один блок для карты дескрипторов драйверов как блок 0 , один блок для самой таблицы разделов и 62 блока для максимум 62 разделов данных. [11]
Каждая запись раздела включает начальный сектор и размер, а также имя, тип, положение области данных и возможный код загрузки. Она также включает общее количество разделов в этой таблице разделов. [12] Это гарантирует, что после считывания первой записи таблицы разделов прошивка будет знать, сколько блоков еще нужно прочитать с носителя, чтобы обработать каждую запись таблицы разделов. Все записи находятся в порядке байтов big-endian . [ необходима цитата ]
Адрес | Размер в байтах | Содержание | Необходимый? | |
---|---|---|---|---|
Десятичная дробь | Шестигранник | |||
0 | 0x0000 | 1 | подпись1 (значение ASCII "P" ) | Нет |
1 | 0x0001 | 1 | подпись2 (значение ASCII "M" ) | Нет |
2–3 | 0x0002 | 2 | сдержанный | Нет |
4–7 | 0x0004 | 4 | количество разделов (всего) | Да |
8–11 | 0x0008 | 4 | начальный сектор раздела | Да |
12–15 | 0x000C | 4 | размер раздела (в секторах) | Да |
16–47 | 0x0010 | 32 | имя раздела ( фиксированное ASCII с правой стороны, дополненное NULL ) | Нет |
48–79 | 0x0030 | 32 | тип раздела ( фиксированный ASCII с правой стороны, дополненный NULL ) | Нет |
80–83 | 0x0050 | 4 | начальный сектор области данных в разделе | Нет |
84–87 | 0x0054 | 4 | размер области данных в разделе (в секторах) | Нет |
88–91 | 0x0058 | 4 | статус раздела | Нет |
92–95 | 0x005C | 4 | начальный сектор загрузочного кода | Нет |
96–99 | 0x0060 | 4 | размер загрузочного кода (в байтах) | Нет |
100–103 | 0x0064 | 4 | адрес кода загрузчика | Нет |
104–107 | 0x0068 | 4 | сдержанный | Нет |
108–111 | 0x006C | 4 | точка входа загрузочного кода | Нет |
112–115 | 0x0070 | 4 | сдержанный | Нет |
116–119 | 0x0074 | 4 | контрольная сумма загрузочного кода | Нет |
120–135 | 0x0078 | 16 | тип процессора ( фиксированный ASCII с правой стороны, дополненный NULL ) | Нет |
136–511 | 0x0088 | 376 | сдержанный | Нет |
Типы, начинающиеся с "Apple_", зарезервированы для назначения Apple, все остальные пользовательские типы могут свободно использоваться. Однако регистрация в Apple приветствуется.
Идентификатор/тип | Содержимое/ файловая система | Имя (типичное) | Замечания |
---|---|---|---|
Apple_Boot | загрузчик | MOSX_OF3_Booter ,eXternal booter | Этот загрузочный раздел используется Mac OS X на компьютерах Mac New World (Open Firmware 3.0 и выше), когда файловая система на основном разделе не поддерживается Open Firmware, например, в конфигурации программного RAID или при использовании файловой системы HFS+ с учетом регистра или UFS. Он содержит BootX на файловой системе HFS. |
Apple_Boot_RAID | загрузчик | Raid Partition | |
Apple_Bootstrap | Новый Мировой загрузочный блок | Хотя это общий загрузочный раздел Open Firmware ( New World ), он специально используется yaboot и GRUB для загрузки PowerPC Linux и не будет автоматически монтироваться в Mac OS X. Он должен быть отформатирован в HFS, чтобы к нему мог получить доступ Open Firmware. | |
Apple_Driver | драйвер устройства | Macintosh | Классический раздел драйверов Mac OS |
Apple_Driver43 | Драйвер устройства SCSI Manager 4.3 | Macintosh | Классический раздел драйверов Mac OS |
Apple_Driver43_CD | Драйвер устройства SCSI CD-ROM | Macintosh | Классический раздел драйверов Mac OS |
Apple_Driver_ATA | Драйвер устройства ATA | Macintosh | Классический раздел драйверов Mac OS |
Apple_Driver_ATAPI | Драйвер устройства ATAPI | Macintosh | Классический раздел драйверов Mac OS |
Apple_Driver_IOKit | Драйвер комплекта ввода-вывода | Macintosh | Классический раздел драйверов Mac OS |
Apple_Driver_OpenFirmware | Macintosh | ||
Apple_Extra | неиспользованный | Этот идентификатор маскирует неиспользуемую запись карты разделов. | |
Apple_Free | свободное место | Extra | Этот идентификатор маскирует свободное пространство как запись карты разделов. |
Apple_FWDriver | Драйвер устройства FireWire | Macintosh | Классический раздел драйверов Mac OS |
Apple_HFS | Иерархическая файловая система | Apple_HFS | Хотя для Mac OS и Mac OS X это обычно том HFS или HFS+, он также может содержать файловую систему в формате MS-DOS ( таблицу размещения файлов , к которой могут получить доступ Mac OS и Mac OS X). |
Apple_HFSX | ХФС Плюс | Этот раздел содержит том HFS+ без оболочки HFS. HFSX был представлен в Mac OS X 10.3 и используется только в особых случаях, например, в HFS+ с учетом регистра. HFSX — это стандартный тип раздела на компьютерах Mac на базе Intel (которые используют GPT вместо APM). | |
Apple_Loader | – | SecondaryLoader | Как Apple_Boot и на старых компьютерах Mac, он используется, когда Mac OS X установлена на файловой системе, не читаемой Open Firmware. Этот раздел не содержит файловой системы — вместо этого он содержит машинный код BootX в формате XCOFF . Этот тип раздела был прекращен в Mac OS X 10.3. |
Apple_MDFW | прошивка | firmware | Этот раздел используется iPod для загрузки прошивки/ОС. |
Apple_MFS | Файловая система Macintosh | Этот раздел используется Mac OS для файловой системы Macintosh File System (MFS), которая была представлена в Macintosh 128K в 1984 году. | |
Apple_partition_map | карта разделов | Apple | Карта разделов также является отдельным разделом. Она может иметь разный размер в зависимости от того, сколько разделов она может содержать. |
Apple_Patches | патчи | Patch Partition | Раздел исправлений Mac OS Classic |
Apple_PRODOS | ПроДОС | Файловая система ProDOS | |
Apple_RAID | РЕЙД | Apple_RAID_OfflineV2 | Этот идентификатор обозначает раздел Mac OS X, используемый в конфигурации программного RAID. Обычно он содержит те же файловые системы, что и обычная установка Mac OS X, например HFS/HFS+ или UFS. Отдельный загрузочный раздел Apple_Boot обязателен. |
Apple_Rhapsody_UFS | Файловая система Unix | Mac OS X Server | Этот раздел содержит файловую систему Unix (UFS), используемую операционной системой Apple Rhapsody (название разработки, обозначающее переход от OPENSTEP к Mac OS X), а также используемую Mac OS X Server 1.0 — 1.2 v3 . |
Apple_Scratch | пустой | Этот идентификатор отмечает пустой раздел. | |
Apple_Second | Загрузчик второго этапа | ||
Apple_UFS | Файловая система Unix | Mac OS X | Этот раздел содержит файловую систему Unix (UFS) и используется Mac OS X, Mac OS X Server (версии 10.0 и новее) и различными Unix-подобными операционными системами. |
Apple_UNIX_SVR2 | A/UX , Unix | Первоначально представленный для A/UX (операционная система Apple Unix на основе System V Release 2 , отсюда SVR2 ) на 68k , он позже был повторно использован для MkLinux , который использовал расширенную файловую систему . Это стандартный идентификатор раздела для многих Unix-подобных операционных систем, включая Linux и NetBSDApple_Bootstrap . Он может содержать любую файловую систему, подходящую для установленной операционной системы. Если загружаемая, должна использоваться файловая система, которую может прочитать загрузчик Open Firmware (например, yaboot). | |
Apple_Void | Заполнение ISO9660 | Фиктивная запись карты разделов для обеспечения правильного выравнивания разделов на загрузочном носителе. | |
Be_BFS | Файловая система Be | Этот раздел содержит файловую систему Be (BFS) и обычно используется BeOS . | |
MFS | Файловая система мультимедиа TiVo | MFS application region ,MFS media region | Используется для хранения фирменной файловой системы мультимедиа на жестких дисках TiVo, отформатированных с помощью Apple Partition Map. |
Состояние раздела — это битовое поле, состоящее из флагов:
Ценить | Описание | Система |
---|---|---|
0x00000001 | запись действительна | А/UX |
0x00000002 | запись выделена | А/UX |
0x00000004 | запись в использовании | А/UX |
0x00000008 | запись содержит информацию о загрузке | А/UX |
0x00000010 | раздел доступен для чтения | А/UX |
0x00000020 | раздел доступен для записи | A/UX, Macintosh |
0x00000040 | загрузочный код не зависит от позиции | А/UX |
0x00000100 | раздел содержит цепочку -совместимых драйверов | Макинтош |
0x00000200 | раздел содержит настоящий драйвер | Макинтош |
0x00000400 | раздел содержит драйвер цепи | Макинтош |
0x40000000 | автоматически монтировать при запуске | Макинтош |
0x80000000 | раздел запуска | Макинтош |
...стандартный размер блока 512 байт... Apple рассматривала возможность расширения APM для поддержки дисков большего размера. Однако, поскольку такое изменение сломало бы все существующие инструменты разбиения на разделы...
Хотя изначально предполагалось обрабатывать блоки разных размеров, на практике поддерживаются только блоки размером 512 байт.
Комментарий: Команда
показывает размер 63 блоков для
. В Интернете можно найти множество подобных примеров.
pdisk -l /dev/sda
Apple_partition_map