Boot Managerとは?
BIOS/UEFIおよびembedded firmware学習者向けにBoot Managerを説明するクイックノート。
Boot Managerは、firmware source code、log、specificationを読むときに役立つBIOS/UEFIの概念である。
なぜ重要か
- UEFIがboot targetをどのように選択・起動するかを説明する。
- boot option、OS loader、removable mediaの問題をdebugしやすくする。
- NVRAM variableとboot menuの見え方をつなぐ。
実例
例:USBを選んだのに常にWindowsへbootする場合、まずBootNextを確認し、その後BootOrderと対象Boot####内のdevice pathを確認する。
クイックチェックリスト
覚えておくポイント
Boot Managerは、firmware policyを実際のboot targetへつなげるchainの一部である。
デバッグ時の見方
Boot Manager は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
小さな具体例
boot 失敗は boot loader そのものではなく、そこへ到達するための metadata が原因になることがあります。BIOS update、disk 交換、CMOS clear の後に挙動が変わったときは、boot variable、device path、boot order を先に確認します。Boot Manager はその経路を読むための手がかりです。
実際のデバッグで見るポイント
Boot Manager は単独の用語ではなく、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 構成と一致しているかを確認します。
関連ノート
- Removable Media Bootとは?
- Fallback Boot Pathとは?
- EFI System Partitionとは?
- EFI_LOAD_OPTIONとは?
- BootOrderとは?
公開参考資料
- UEFI Specification 2.11 - Boot Manager
- EDK II - UefiBootManagerLib/BmBoot.c
- EDK II - UefiBootManagerLib.h
この記事は役に立ちましたか?
ファームウェア、BIOS/UEFI、組み込みシステムを学んでいる人に共有できます。
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.