DevicePathToTextとは?
BIOS/UEFIおよびembedded firmware学習者向けにDevicePathToTextを説明するクイックノート。
DevicePathToTextは、device、partition、file、boot targetへの構造化された経路を表すUEFI Device Path関連の概念である。
DevicePathToText を使う場面
Binary の device path を持っていて、log/debug で読める形にしたいときに使います。たとえば EDK II で Boot#### を dump するとき、FilePathList を PciRoot(...)/Pci(...)/HD(...)/\EFI\... のような text に変換できます。
注意点として、text output は主に debug 用です。重要な firmware 判断では、可能なら text を手で parse するより Device Path Protocol や DevicePathLib を直接使うべきです。
なぜ重要か
- 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を持つことが多い。
クイックチェックリスト
覚えておくポイント
DevicePathToTextは小さな概念に見えても、logを読むときや実際のfirmware debugで重要になる。
デバッグ時の見方
DevicePathToText は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
小さな具体例
boot 失敗は boot loader そのものではなく、そこへ到達するための metadata が原因になることがあります。BIOS update、disk 交換、CMOS clear の後に挙動が変わったときは、boot variable、device path、boot order を先に確認します。DevicePathToText はその経路を読むための手がかりです。
実際のデバッグで見るポイント
DevicePathToText は単独の用語ではなく、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とは?
- Device Pathとは?
- FilePath Device Path Nodeとは?
- USB Device Path Nodeとは?
- PCI Device Path Nodeとは?
公開参考資料
この記事は役に立ちましたか?
ファームウェア、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.