Apple パーティションマップ

Apple Partition MapAPM)は、68kおよびPowerPC Macintoshコンピュータ用にフォーマットされたディスク上のデータの低レベル構成を定義するために使用されるパーティションスキームです。Macintosh IIで導入されました[1]

Appleパーティションマップ(APM)を使用するディスクは論理ブロックに分割され、各ブロックは通常512バイトで構成されます。最初のブロック(ブロック0)には、 Macintosh Toolbox ROMがMFSまたはHFSパーティションからロードする前にドライバのアップデートやパッチをロードするための「ドライバ記述子マップ」と呼ばれるApple固有のデータ構造が含まれています。 [2] APMは32ビットの論理ブロックを許容するため、小さなブロック[3]を使用するAPMフォーマットのディスクの従来のサイズは2 TiBに制限されています[4]

Appleパーティションマップは、ディスク上のすべての使用済み領域(マップ領域を含む)と未使用領域(空き領域)をマッピングします。これは、マップ領域以外の使用済みパーティションのみを対象とする最小限のx86マスターブートレコードとは異なります。つまり、ディスク上のすべてのブロック(最初のブロックであるブロック0を除く)がパーティションに属していることを意味します。

一部のハイブリッド ディスクにはISO 9660プライマリ ボリューム記述子と Apple パーティション マップの両方が含まれており、これにより、ディスクは Apple システムを含むさまざまな種類のコンピューターで動作できるようになります。

IntelベースのMac

Mac OS X Tiger (10.4) 以降では、ボリュームへのアクセスにAPMパーティションとGPTパーティションの両方を標準的に使用できます。オペレーティングシステムの起動には、 PowerPCベースのシステムはAPMディスクからのみ起動できます。[5]一方、Intelベースのシステムは通常GPTディスクから起動します。[1] [6] [7]ただし、古いIntelベースのMacはAPM、GPT(GUIDパーティションテーブル)、MBR(マスターブートレコード、 EFI-CSMと呼ばれるBIOSエミュレーション、つまりEFIが提供する互換性サポートモジュールを使用)から起動できます

Mac OS X Tiger (10.4) またはLeopard (10.5)がプリインストールされた Intel ベースモデルは、 PowerPC ベースシステムとの互換性を保つために APM パーティション化されたこれらのユニバーサルバージョンの Mac OS X のインストールメディアのため、APM ディスクと GPT ディスクの両方から起動できる必要がありました。 [8]しかし、Intel ベース Mac に OS X をインストールするには、GPT パーティション化されたディスクが必要であり、そうでない場合は続行できません。これは、PowerPC ベースシステムへのインストールで APM パーティション化されたインストール先ボリュームが要求されるのと同じです。既にインストールされている OS X を Intel システムの APM パーティションに複製すると、2011 年モデルの Intel ベース Mac でも起動可能です。このように APM がサポートされているように見えますが、Apple は Intel ベースシステム上の内蔵 APM ディスクからの起動を公式にサポートしたことはありません。Mac OS X のユニバーサルバージョン (Tiger または Leopard) の唯一の例外は、PowerPC と Intel で使用するためにデュアルブート可能な外部 APM ディスクを設定する方法を説明した Apple の公式ドキュメントです。[9]

レイアウト

パーティションテーブルの各エントリは、1つのデータブロック(通常は512バイト)のサイズです。[1] [10]テーブル上の各パーティションエントリは、1つのデータブロックまたは1つのセクターのサイズです。パーティションテーブル自体もパーティションであるため、この最初のパーティションのサイズによって、パーティションテーブル自体のエントリ数が制限されます。

通常の場合、 Appleパーティションマップでは64セクター(64×512=32KB)が使用されます。1ブロックはブロック0としてドライバ記述子マップ用、1ブロックはパーティションテーブル自体用、そして62ブロックは最大62のデータパーティション用です。[11]

各パーティションエントリには、開始セクターとサイズ、名前、タイプ、データ領域の位置、そして可能なブートコードが含まれます。また、そのパーティションテーブル内のパーティションの総数も含まれます。[12]これにより、ファームウェアは最初のパーティションテーブルエントリを読み取った後、すべてのパーティションテーブルエントリを処理するためにメディアからあと何ブロック読み取ればよいかを把握できます。すべてのエントリはビッグエンディアンバイトオーダーです。[要出典]

住所サイズ
(バイト単位)
コンテンツ必須?
小数点ヘックス
00x00001署名1 (ASCII値"P")いいえ
10x00011署名2 (ASCII値"M")いいえ
2~30x00022予約済みいいえ
4~70x00044パーティション数(合計)はい
8~11歳0x00084パーティションの開始セクターはい
12~15歳0x000C4パーティションのサイズ(セクター単位)はい
16~47歳0x001032パーティション名(固定ASCII、右側にNULLが埋め込まれるいいえ
48~790x003032パーティションの種類(固定ASCII、右側にNULLが埋め込まれるいいえ
80~830x00504パーティション内のデータ領域の開始セクターいいえ
84~870x00544パーティション内のデータ領域のサイズ(セクタ単位)いいえ
88~910x00584パーティションの状態いいえ
92~950x005C4ブートコードの開始セクターいいえ
96~99年0x00604ブートコードのサイズ(バイト単位)いいえ
100~1030x00644ブートローダーコードのアドレスいいえ
104~1070x00684予約済みいいえ
108~1110x006C4ブートコードのエントリポイントいいえ
112~1150x00704予約済みいいえ
116~1190x00744ブートコードチェックサムいいえ
120~1350x007816プロセッサタイプ(固定ASCII、右側にNULLが埋め込まれるいいえ
136~5110x0088376予約済みいいえ

パーティション識別子

「Apple_」で始まる型はAppleによる割り当て用に予約されています。その他のカスタム定義型は自由に使用できます。ただし、Appleへの登録をお勧めします。

識別子 / タイプコンテンツ/ファイルシステム名前(標準)備考
Apple_BootブートローダーMOSX_OF3_BootereXternal booterこのブートパーティションは、 New World Mac(Open Firmware 3.0以降)上のMac OS Xで、メインパーティションのファイルシステムがOpen Firmwareでサポートされていない場合(ソフトウェアRAID構成、大文字と小文字を区別するHFS+ファイルシステム、またはUFSファイルシステムを使用している場合など)に使用されます。HFSファイルシステム上にBootXが格納されています。
Apple_Boot_RAIDブートローダーRaid Partition
Apple_BootstrapNewWorldブートブロックこれは一般的なOpen Firmware ( New World ) ブート パーティションですが、特にyabootおよびGRUBがPowerPC Linux をロードするために使用され、Mac OS X では自動マウントされません。Open Firmware からアクセスできるように、HFS 形式でフォーマットされている必要があります。
Apple_DriverデバイスドライバーMacintoshクラシックMac OSドライバパーティション
Apple_Driver43SCSIマネージャー 4.3デバイス ドライバーMacintoshクラシックMac OSドライバパーティション
Apple_Driver43_CDSCSI CD-ROM デバイスドライバMacintoshクラシックMac OSドライバパーティション
Apple_Driver_ATAATA デバイスドライバーMacintoshクラシックMac OSドライバパーティション
Apple_Driver_ATAPIATAPI デバイスドライバーMacintoshクラシックMac OSドライバパーティション
Apple_Driver_IOKitI/O キットドライバーMacintoshクラシックMac OSドライバパーティション
Apple_Driver_OpenFirmwareMacintosh
Apple_Extra未使用この識別子は、未使用のパーティション マップ エントリをマスクします。
Apple_Free空きスペースExtraこの識別子は、空き領域をパーティション マップ エントリとしてマスクします。
Apple_FWDriverFireWire デバイスドライバーMacintoshクラシックMac OSドライバパーティション
Apple_HFS階層型ファイルシステムApple_HFS通常、Mac OS および Mac OS X では HFS または HFS+ ボリュームですが、MS-DOS 形式のファイル システム ( Mac OS および Mac OS X からアクセスできるファイル アロケーション テーブル) を含めることもできます。
Apple_HFSXHFSプラスこのパーティションには、HFSラッパーのないHFS+ボリュームが含まれています。HFSXはMac OS X 10.3で導入され、大文字と小文字を区別するHFS+などの特殊な場合にのみ使用されます。HFSXは、IntelベースのMac(APMではなくGPTを使用)の標準パーティションタイプです。
Apple_LoaderSecondaryLoaderOld WorldApple_Boot Macの場合と同様ですが、Open Firmwareで読み込めないファイルシステムにMac OS Xがインストールされている場合に表示されます。このパーティションにはファイルシステムは含まれず、代わりにXCOFF形式のBootXマシンコードが含まれます。このパーティションタイプはMac OS X 10.3で廃止されました。
Apple_MDFWファームウェアfirmwareこのパーティションは、iPod がファームウェア/OS をロードするために使用されます。
Apple_MFSMacintosh ファイルシステムこのパーティションは、1984 年にMacintosh 128Kで導入されたMacintosh ファイル システム(MFS)用に Mac OS によって使用されます
Apple_partition_mapパーティションマップAppleパーティションマップもそれ自体が独立したパーティションです。パーティションマップのサイズは、含まれるパーティションの数によって異なります。
Apple_PatchesパッチPatch PartitionMac OS クラシックパッチパーティション
Apple_PRODOSプロDOSProDOSファイルシステム
Apple_RAIDレイドApple_RAID_OfflineV2この識別子は、ソフトウェアRAID構成で使用されるMac OS Xパーティションを示します。通常、このパーティションには、HFS/HFS+やUFSなど、通常のMac OS Xインストールと同じファイルシステムが含まれます。独立したブートパーティションApple_Bootは必須です。
Apple_Rhapsody_UFSUnixファイルシステムMac OS X Serverこのパーティションには、Apple Rhapsodyオペレーティング システム ( OPENSTEPから Mac OS X への移行を示す開発名) で使用されるUnix ファイル システム(UFS) が含まれており、 Mac OS X Server 1.0 から 1.2 v3でも使用されます
Apple_Scratch空のこの識別子は空のパーティションをマークします。
Apple_Second第2ステージブートローダー
Apple_UFSUnixファイルシステムMac OS XこのパーティションにはUnix ファイル システム(UFS) が含まれており、Mac OS X、Mac OS X Server (バージョン 10.0 以降)、およびさまざまなUnix 系オペレーティング システムで使用されます。
Apple_UNIX_SVR2A/UX、Unix元々は68k上のA/UX( System V Release 2、つまりSVR2に基づくApple Unixオペレーティングシステム)用に導入され、後にExtendedファイルシステムを採用したMkLinuxに再利用されました。これは、 LinuxNetBSDを含む多くのUnix系オペレーティングシステムの標準パーティション識別子です。インストールされたオペレーティングシステムに適した任意のファイルシステムを含めることができます。ブート可能な場合は、Open Firmwareブートローダー(例:yaboot)が読み取れるファイルシステムを使用する必要があります。Apple_Bootstrap
Apple_VoidISO9660 パディング起動可能なメディア上のパーティションの配置が正しいことを確認するためのダミーパーティション マップ エントリ
Be_BFSBeファイルシステムこのパーティションにはBe ファイル システム(BFS) が含まれており、通常はBeOSによって使用されます
MFSTiVo メディアファイルシステムMFS application regionMFS media regionApple パーティション マップを使用してフォーマットされた TiVo ハード ドライブ上の独自のメディア ファイル システムを保持するために使用されます。

パーティションステータス

パーティション ステータスは、次のフラグで構成されるビット フィールドです。

価値説明システム
0x00000001エントリーは有効ですオーディオ/UX
0x00000002エントリが割り当てられているオーディオ/UX
0x00000004使用中のエントリオーディオ/UX
0x00000008エントリにはブート情報が含まれていますオーディオ/UX
0x00000010パーティションは読み取り可能オーディオ/UX
0x00000020パーティションは書き込み可能ですA/UX、Macintosh
0x00000040ブートコードは位置に依存しないオーディオ/UX
0x00000100パーティションにはチェーン互換ドライバが含まれていますマッキントッシュ
0x00000200パーティションには実際のドライバーが含まれていますマッキントッシュ
0x00000400パーティションにチェーンドライバーが含まれていますマッキントッシュ
0x40000000起動時に自動的にマウントマッキントッシュ
0x80000000起動パーティションマッキントッシュ

参照

参考文献

  1. ^ abc 「テクニカルノート TN2166 – GPTの秘密」Apple . 2013年2月24日閲覧…標準ブロックサイズは512バイト…AppleはAPMを拡張してより大きなディスクをサポートすることを検討しました。しかし、そのような変更は既存のパーティショニングツールをすべて機能不全に陥らせるため…
  2. ^ Mac OS: ディスクボリューム構造の技術概要
  3. ^ Apple サポートコミュニティ: Guid パーティションか Apple パーティションか? (2012)
  4. ^ MacTech Magazine: AppleのAppleパーティションマップからGUIDパーティションテーブルへの移行、Criss Myers著
  5. ^ Appleメーリングリスト: 件名: Re: AppleパーティションスキームまたはGUIDパーティションスキーム Archived 2009-04-06 at the Wayback Machine、Timothy Standing、2006-04-30
  6. ^ Apple サポートコミュニティ: ディスクユーティリティを使用して起動可能なクローンを作成する (2014): APM パーティションドライブを使用して Intel Mac で起動しようとしたときに発生する問題の例。
  7. ^ Apple サポート コミュニティ: 外部ブート ドライブで Mavericks + FCPX を実行していますか? (2014): OS X Mavericks はAPM パーティション ドライブから起動しません。
  8. ^ OWC : Intel Mac を APM フォーマットのドライブで起動する方法、M. Christopher Stevens
  9. ^ Mac OS X 10.5: 起動可能な「ユニバーサル」外付けディスクの作成と管理
  10. ^ Rebe, René; Klaus, Susanne (2007). 「カスタムLinuxソリューションの作成 - Appleパーティションマップ」. T2 System Development Environment .当初の意図は様々なブロックサイズに対応することでしたが、実際には512バイトブロックのみがサポートされています。
  11. ^ 「Yellow Dog Solutions – Linux BoxへのFirewireディスクの接続」。Fixstars Corporation。2009年10月13日時点のオリジナルからのアーカイブ。 2013年2月24日閲覧コメント:このコマンドは、63ブロックのサイズを示しています。インターネット上には、このような例が数多く見つかります。pdisk -l /dev/sdaApple_partition_map
  12. ^ 「IOStorageFamily/IOApplePartitionScheme.h at IOStorageFamily-116 - apple-oss-distributions/IOStorageFamily」。Apple。2009年。2025年11月22日閲覧
  • Mac OS: ディスクボリューム構造の技術概要 ディスクボリューム/パーティションの要素の概要
  • ファイルシステムフォレンジック分析: PC ベースのパーティション - Apple パーティション Apple のパーティション マップの構造の詳細な技術分析。
「https://en.wikipedia.org/w/index.php?title=Apple_Partition_Map&oldid=1323539904」から取得