web-dev-qa-db-ja.com

「EFIシステムパーティション」とUEFI * .efiファイルはどのように関連していますか?

EFI system partitionが必要だと読みました。

EFIシステムパーティションは、Extensible FirmwareInterfaceに準拠するマシンによって使用されるデータストレージデバイス上のパーティションです。これには、デバイスに(他のパーティションに)インストールされているすべてのオペレーティングシステムのブートローダープログラム、他のデバイスのデバイスドライバーファイル(ブート時にファームウェアによって使用される)、およびオペレーティングシステムの前に実行することを目的としたシステムユーティリティプログラムが含まれます。起動されます。[1]

ソース: http://en.wikipedia.org/wiki/EFI_System_partition

また、*.efiという特定のパーティションに特定のファイルが必要であることも読みました。

[〜#〜] uefi [〜#〜]は、動作中のブートセクターのみに依存しませんが、特別なパーティションを参照する特別なパーティションテーブルが必要です起動する実際のアーキテクチャに応じて標準化された名前(\ EFI\BOOT\boot [architecture name] .efi)を持つ特別に配置されたファイルが含まれています。

ソース: http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

EFIシステムパーティションと特別なパーティションは同じパーティションですか、それともこれらは両方とも起動に必要な別個の構造ですか?それらはどのように連携しますか(すべてのOS用と特定のOS用のように、ブートプロセスの2つの異なる段階ですか)?また、これらの構造は両方ともUEFIに適用されますか?

8
rubixibuc

いいえ、パーティションはファイルと同じではありません。ウィキペディアはあなたを誤解させています。

その2番目の段落は、ほとんどすべての点で間違っています。 EFIはそのようなことをrequireせず、neverはブートに依存しませんセクタ。この世代が必要な場合は、実際のEFI仕様を読むことをお勧めします。 \EFI\BOOT\BOOTxxx.EFIファイルが何であるかはかなり明確です。ブートマネージャで何も設定されていない場合、これらはフォールバックデフォルトです。ただし、通常は、ブートマネージャで何かが設定されます。

EFIは特別なパーティションテーブルを必要とせず、古いPC/AT(別名MBRまたはMS-DOS)パーティションスキームと新しいEFIパーティションスキームの両方を使用できます。また、EFIブートアプリケーションは特別に配置されていません。それらの場所は、個々のブートオプションのパスとして保存されます。理論的には、EFIシステムパーティション上にある必要はありません。理論的には、ファームウェアが理解できるファイルシステム形式の任意のボリュームに存在する可能性があります。実際には、ESPは、ユーザーが最初に見ると予想される場所であり、プラットフォームによって存在し、EFIプログラムによって配置可能であることが保証されています。

参考文献

13
JdeBP