HD Device Path Nodeとは?
BIOS/UEFIおよびembedded firmware学習者向けにHD Device Path Nodeを説明するクイックノート。
HD Device Path Nodeは、device、partition、file、boot targetへの構造化された経路を表すUEFI Device Path関連の概念である。
HD node が持つ情報
HD node は通常 PartitionNumber、PartitionStart、PartitionSize、Signature、MBRType、SignatureType を持ちます。GPT の場合、debug で特に見るのは partition GUID/signature と LBA range です。
Text 表現の例:
HD(1,GPT,3F2A...,0x800,0x100000)
これは、boot option が partition 1、GPT、指定 GUID/signature、start LBA 0x800、size 0x100000 blocks を指しているという意味です。ESP を作り直すと GUID が変わり、古い boot option が stale になることがあります。
なぜ重要か
- 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を持つことが多い。
クイックチェックリスト
覚えておくポイント
HD Device Path Nodeは小さな概念に見えても、logを読むときや実際のfirmware debugで重要になる。
自分ならこう読む
HD Device Path Node は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
実務で出てくる場面
boot 失敗は boot loader そのものではなく、そこへ到達するための metadata が原因になることがあります。BIOS update、disk 交換、CMOS clear の後に挙動が変わったときは、boot variable、device path、boot order を先に確認します。HD Device Path Node はその経路を読むための手がかりです。
実際のデバッグで見るポイント
HD 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とは?
- FilePath 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.