Appleパーティションマップ
Apple Partition Map ( APM )は、68kおよびPowerPC Macintoshコンピューターで使用するためにフォーマットされたディスク上のデータの低レベルの編成を定義するために使用されるパーティションスキームです。 Macintosh IIで導入されました。
Apple Partition Mapを使用するディスクは論理ブロックに分割され、通常512バイトが各ブロックに属します。最初のブロックであるブロック0には、MFSまたはHFSパーティションからロードする前にドライバーの更新とパッチをロードするためのMacintosh Toolbox ROM用の「ドライバー記述子マップ」と呼ばれるApple固有のデータ構造が含まれています。 APMは32ビットの論理ブロックを許可するため、小さなブロックを使用するAPMフォーマットのディスクの履歴サイズは2 TiBに制限されています。
Apple Partition Mapは、使用されている非マップパーティションのみを考慮する最小のx86マスターブートレコードとは異なり、ディスク上で使用されているすべてのスペース(マップを含む)および未使用(空きスペース)をマップします。つまり、ディスク上のすべてのブロック(最初のブロックであるBlock 0を除く)はパーティションに属します。
一部のハイブリッドディスクには、ISO 9660プライマリボリューム記述子とAppleパーティションマップの両方が含まれているため、Appleシステムを含むさまざまな種類のコンピューターでディスクを使用できます。
IntelベースのMac
ボリュームにアクセスするには、APMパーティションとGUIDパーティションの両方をMac OS X Tiger(10.4)以降で標準的な方法で使用できます。オペレーティングシステムを起動する場合、PowerPCベースのシステムはAPMディスクからのみ起動できますが、Intelベースのシステムは通常GUIDディスクから起動します。それにもかかわらず、IntelベースのMacは、EFI-CSMと呼ばれるBIOSエミュレーション、つまりEFIが提供する互換性サポートモジュールを使用して、APM、GPT(GUIDパーティションテーブル)、MBR(マスターブートレコード)から起動できます。
Mac OS X Tiger(10.4)またはLeopard(10.5)がプレインストールされたIntelベースのモデルは、APMパーティション化されたこれらのユニバーサルバージョンのMac OS Xのインストールメディアにより、APMとGUIDディスクの両方から起動できなければなりませんでしたPowerPCベースのシステムとの互換性を維持するため。ただし、IntelベースのMacへのOS XのインストールはGUIDパーティションディスクを要求するか、続行を拒否します。PowerPCベースのシステムへのインストールはAPMパーティション化された宛先ボリュームを要求します。すでにインストールされているOS XをIntelシステムのAPMパーティションに複製すると、2011年のIntelベースのMacでも起動可能です。この明らかなAPMサポートにもかかわらず、AppleはIntelベースのシステムで内部APMディスクからの起動を公式にサポートしませんでした。 Mac OS Xのユニバーサルバージョン(TigerまたはLeopard)の1つの例外は、PowerPCおよびIntelで使用するためのデュアルブート可能な外部APMディスクのセットアップ方法を説明するAppleの公式ドキュメントです。
レイアウト
パーティションテーブルの各エントリは、1つのデータブロックのサイズで、通常は512バイトです。テーブルの各パーティションエントリは、データの1ブロックまたはセクターのサイズです。パーティションテーブル自体もパーティションであるため、この最初のパーティションのサイズによって、パーティションテーブル自体のエントリ数が制限されます。
通常のケースでは、64セクター(64×512 = 32 KB)がAppleパーティションマップで使用されます。1ブロックはドライバー記述子マップの ブロック0、1ブロックはパーティションテーブル自体、62ブロックは最大62データパーティション。
各パーティションエントリには、開始セクタとサイズが含まれますが、名前、タイプ、データ領域の位置、および可能なブートコードも含まれます。また、そのパーティションテーブル内のパーティションの総数も含まれます。これにより、最初のパーティションテーブルエントリを読み取った後、ファームウェアはすべてのパーティションテーブルエントリを処理するためにメディアから読み取るブロックの数を認識します。すべてのエントリはビッグエンディアンのバイト順です。
住所 | サイズ バイト単位 | 内容 | 必須? | |
---|---|---|---|---|
小数 | 六角 | |||
0 | 0x0000 | 1 | signature1(ASCII値「P」) | 番号 |
1 | 0x0001 | 1 | signature2(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、外部ブート | このブートパーティションは、ソフトウェアRAID構成やHFS +の大文字と小文字を区別する場合など、メインパーティション上のファイルシステムがOpen Firmwareでサポートされていない場合に、New World Mac(Open Firmware 3.0以降)のMac OS X UFSファイルシステム。 HFSファイルシステム上にBootXが含まれています。 |
Apple_Boot_RAID | ブートローダー | RAIDパーティション | |
Apple_Bootstrap | NewWorldブートブロック | これは一般的なOpen Firmware(New World)ブートパーティションですが、yabootによって特別に使用されます。 Open Firmwareからアクセスできるように、HFS形式である必要があります。 | |
Apple_Driver | デバイスドライバ | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_Driver43 | SCSI Manager 4.3デバイスドライバー | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_Driver43_CD | SCSI CD-ROMデバイスドライバー | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_Driver_ATA | ATAデバイスドライバー | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_Driver_ATAPI | ATAPIデバイスドライバー | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_Driver_IOKit | I / O Kitドライバー | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_Driver_OpenFirmware | マッキントッシュ | ||
Apple_Extra | 未使用 | この識別子は、未使用のパーティションマップエントリをマスクします。 | |
Apple_Free | フリースペース | 追加 | この識別子は、パーティションマップエントリとして空き領域をマスクします。 |
Apple_FWDriver | FireWireデバイスドライバー | マッキントッシュ | Mac OSクラシックドライバーパーティション |
Apple_HFS | 階層ファイルシステム | Apple_HFS | 通常、Mac OSおよびMac OS X用のHFSまたはHFS +ボリュームですが、MS-DOS形式のファイルシステム(Mac OSおよびMac OS XからアクセスできるFile Allocation Table )を含めることもできます。 |
Apple_HFSX | HFS Plus | このパーティションには、HFSラッパーのないHFS +ボリュームが含まれています。 HFSXはMac OS X 10.3で導入され、大文字と小文字を区別するHFS +などの特別な場合にのみ使用されます。 HFSXは、IntelベースのMac(APMの代わりにGUIDを使用)の標準パーティションタイプです。 | |
Apple_Loader | – | SecondaryLoader | Apple_Bootに似ていますが、旧世界のMacでは、Mac OS XがOpen Firmwareで読み取れないファイルシステムにインストールされている場合に使用されます。このパーティションにはファイルシステムが含まれていません。代わりに、XCOFF形式のBootXマシンコードが含まれています。このパーティションタイプは、Mac OS X 10.3で廃止されました。 |
Apple_MDFW | ファームウェア | ファームウェア | このパーティションは、ファームウェア/ OSをロードするためにiPodによって使用されます。 |
Apple_MFS | Macintoshファイルシステム | このパーティションは、1984年にMacintosh 128Kで導入されたMacintoshファイルシステム (MFS) 用に Mac OSによって使用されます。 | |
Apple_partition_map | パーティションマップ | 林檎 | パーティションマップも独自のパーティションです。含まれるパーティションの数に応じてサイズが異なります。 |
Apple_Patches | パッチ | パッチパーティション | Mac OSクラシックパッチパーティション |
Apple_PRODOS | ProDOS | ProDOSファイルシステム | |
Apple_RAID | RAID | Apple_RAID_OfflineV2 | この識別子は、ソフトウェアRAID構成で使用されるMac OS Xパーティションをマークします。通常、HFS / HFS +やUFSなど、通常のMac OS Xインストールと同じファイルシステムが含まれています。個別のブートパーティションApple_Bootは必須です。 |
Apple_Rhapsody_UFS | Unixファイルシステム | Mac OS Xサーバー | このパーティションには、Apple Rhapsodyオペレーティングシステムで使用されるUnixファイルシステム (UFS)(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 | 元々68kのA / UX(System V Release 2に基づくApple Unixオペレーティングシステム、つまりSVR2 )で導入されましたが、後にExtended file systemを使用するMkLinuxで再利用されました。 LinuxやNetBSDを含む多くのUnixライクなオペレーティングシステムの標準パーティション識別子です。インストールされたオペレーティングシステムに適したファイルシステムが含まれている場合があります。起動可能な場合は、Apple_BootstrapからOpen Firmwareブートローダーで読み取ることができるファイルシステム(yabootなど)を使用する必要があります。 | |
Apple_Void | ISO9660パディング | ブータブルメディアでパーティションが正しく整列されるようにするためのダミーパーティションマップエントリ。 | |
Be_BFS | ファイルシステムである | このパーティションにはBe File System (BFS)が含まれ、通常BeOSによって使用されます。 | |
MFS | TiVoメディアファイルシステム | MFSアプリケーション領域、MFSメディア領域 | Apple Partition Mapを使用してフォーマットされたTiVoハードドライブに独自のメディアファイルシステムを保持するために使用されます。 |
パーティションの状態
パーティションステータスは、フラグで構成されるビットフィールドです。
値 | 説明 | システム |
---|---|---|
0x00000001 | エントリは有効です | A / UX |
0x00000002 | エントリが割り当てられます | A / UX |
0x00000004 | 使用中のエントリ | A / UX |
0x00000008 | エントリにはブート情報が含まれます | A / UX |
0x00000010 | パーティションは読み取り可能です | A / UX |
0x00000020 | パーティションは書き込み可能です | A / UX、Macintosh |
0x00000040 | ブートコードは位置に依存しません | A / UX |
0x00000100 | パーティションにチェーン互換ドライバーが含まれています | マッキントッシュ |
0x00000200 | パーティションには実際のドライバーが含まれています | マッキントッシュ |
0x00000400 | パーティションにチェーンドライバーが含まれています | マッキントッシュ |
0x40000000 | 起動時に自動的にマウント | マッキントッシュ |
0x80000000 | 起動パーティション | マッキントッシュ |