EFI System Partitionとは?
BIOS/UEFIおよびembedded firmware学習者向けにEFI System Partitionを説明するクイックノート。
EFI System Partition(ESP)は、.efi boot loaderやUEFI applicationを保存するpartitionである。
なぜ重要か
- UEFIがboot targetをどのように選択・起動するかを説明する。
- boot option、OS loader、removable mediaの問題をdebugしやすくする。
- NVRAM variableとboot menuの見え方をつなぐ。
実例
例:USBを選んだのに常にWindowsへbootする場合、まずBootNextを確認し、その後BootOrderと対象Boot####内のdevice pathを確認する。
クイックチェックリスト
覚えておくポイント
EFI System Partitionは、firmware policyを実際のboot targetへつなげるchainの一部である。
自分ならこう読む
EFI System Partition は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
実務で出てくる場面
boot 失敗は boot loader そのものではなく、そこへ到達するための metadata が原因になることがあります。BIOS update、disk 交換、CMOS clear の後に挙動が変わったときは、boot variable、device path、boot order を先に確認します。EFI System Partition はその経路を読むための手がかりです。
実際のデバッグで見るポイント
EFI System Partition は単独の用語ではなく、boot chain の一部として見ると理解しやすいです。つまり Boot Manager が NVRAM を読む → Boot option を選ぶ → Device Path を parse する → .efi file を開く → loader に制御を渡す という流れです。意図しない device から boot する場合、boot loader そのものよりも、そこへ到達するための metadata が原因になることがあります。
実務では、boot variable を dump し、その値がどの option を指しているか、その option が active か、内部の device path が現在の disk/partition 構成と一致しているかを確認します。
関連ノート
公開参考資料
- UEFI Specification 2.11 - Boot Manager
- EDK II - UefiBootManagerLib/BmBoot.c
- EDK II - UefiBootManagerLib.h
この記事は役に立ちましたか?
ファームウェア、BIOS/UEFI、組み込みシステムを学んでいる人に共有できます。
Nội dung liên quan
Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.