知識ベース

Appleパーティションマップ

Apple Partition MapAPM )は、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 起動パーティションマッキントッシュ