FilePath Device Path Nodeとは?
BIOS/UEFIおよびembedded firmware学習者向けにFilePath Device Path Nodeを説明するクイックノート。
FilePath Device Path Nodeは、device、partition、file、boot targetへの構造化された経路を表すUEFI Device Path関連の概念である。
FilePath node が持つ情報
FilePath node は、firmware が開ける filesystem 内の file への UTF-16 path を持ちます。Boot option ではよく次のような path になります。
\EFI\Microsoft\Boot\bootmgfw.efi
\EFI\BOOT\BOOTX64.EFI
\EFI\ubuntu\shimx64.efi
HD node が正しくても FilePath node が間違っていると、firmware は partition までは見つけられますが loader を開けません。Boot loader を変更した後や ESP を手動で編集した後によく起きます。
なぜ重要か
- UEFIがdeviceやfileへの経路をどのように記述するかを説明する。
- 古いboot optionや誤ったdevice pathのdebugに役立つ。
- Boot#### variableと実際のhardware topologyを比較しやすくする。
実例
例:NVMe SSDのboot optionは、PCI node → NVMe/storage node → HD node → FilePath nodeのようなpath chainを持つことが多い。
クイックチェックリスト
覚えておくポイント
FilePath Device Path Nodeは小さな概念に見えても、logを読むときや実際のfirmware debugで重要になる。
システムの流れに置く
FilePath Device Path Node は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
イメージしやすい例
boot 失敗は boot loader そのものではなく、そこへ到達するための metadata が原因になることがあります。BIOS update、disk 交換、CMOS clear の後に挙動が変わったときは、boot variable、device path、boot order を先に確認します。FilePath Device Path Node はその経路を読むための手がかりです。
実際のデバッグで見るポイント
FilePath Device Path Node は単独の用語ではなく、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 構成と一致しているかを確認します。
関連ノート
- Device Path Nodeとは?
- HD Device Path Nodeとは?
- PCI Device Path Nodeとは?
- USB Device Path Nodeとは?
- DevicePathToTextとは?
公開参考資料
この記事は役に立ちましたか?
ファームウェア、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.