web-dev-qa-db-ja.com

OS X Lion Recovery HDの.efiresファイルとは何ですか?

OS X Lion File Vault 2、Safariモード、および特定のリカバリオプションを有効にするRecovery HDをマウントすると、いくつかの.efiresファイルが表示されます。それらはどのような形式で、何が含まれていますか?

4
Daniel Beck

これらのファイルには、実際のオペレーティングシステムをロードする前、またはシステムパーティションがない場合(または壊れている場合)にOS XLionの起動画面を表示するために必要なリソースが含まれています。

これらにはファイルのフラットリスト(階層なし)が含まれ、各ファイルの名前は最大64文字です。ファイル形式は次のとおりです。すべての数値はリトルエンディアン、つまり最下位バイトが最初です。

  • 目的不明の2バイト0x0200
  • ファイルエントリの数を含む2バイトの短整数(例:0x3800は56ファイル)
  • これで、ファイルエントリごとに1つのレコードが作成されます:
    • 64バイトASCIIファイル名、NULバイトを使用して埋める
    • アーカイブファイル内のファイルデータの4バイト整数オフセット
    • アーカイブファイル内のファイルデータの4バイト整数長さ
  • 72 NULバイトで構成されるファイルエントリの後に、追加の未使用レコードがあります。
  • これで実際のファイルデータがあります。ギャップや区切り文字はありません。上記のファイルエントリは、すべてのファイルのデータを隣り合わせに配置します。

たとえば、最初のファイルのデータオフセット。 56エントリのアーカイブファイルは、デフォルトで0x0C10、つまり4108バイトです。

2バイト不明+2バイトファイル数+(56 + 1ファイルエントリ)*各72バイト= 4108

同じファイル内の2番目のファイルのデータオフセットは、4108に最初のファイルのデータの長さを加えたものです。


これらのファイルは、起動ログイン画面に関連する設定を変更するたびに自動的に再作成されます。 システム環境設定セキュリティとプライバシー設定ペインでSafariモードを有効にするかどうか。これを行うためにデフォルトのシステムリソースを使用するため、たとえば Apple icon 、通常のリソースを編集して、対応する.efiresアーカイブファイルをシステムに再作成させるだけで十分です。

4
Daniel Beck