What is Device Path Node?
Quick note explaining Device Path Node for BIOS/UEFI and embedded firmware readers.
Device Path Node is part of UEFI Device Path handling, which describes structured routes to devices, partitions, files, or boot targets.
Common type/subtype groups
| Type | Group | Example SubTypes | Practical meaning |
|---|---|---|---|
0x01 | Hardware | PCI, PCCARD, MemoryMapped | Path through hardware/controller layers |
0x02 | ACPI | ACPI HID/UID | Root bridge or ACPI-described device |
0x03 | Messaging | ATAPI, SCSI, USB, SATA, MAC, IPv4/IPv6 | Bus or transport protocol to the device |
0x04 | Media | Hard Drive, CD-ROM, File Path | Partition, boot file, media object |
0x7F | End | End Entire, End Instance | End of a path or one path instance |
When a device path parser fails, a bad Length is often more dangerous than a bad Type, because every following node may be read at the wrong offset.
Why it matters
- Explains how UEFI describes the path to a device or file.
- Helps debug stale or incorrect boot options.
- Useful when comparing Boot#### variables and actual hardware topology.
Practical example
Example: a boot option for an NVMe SSD usually contains a path chain such as PCI node → NVMe/storage node → HD node → FilePath node.
Quick checklist
Quick takeaway
Device Path Node is a small concept, but it often becomes important when reading logs or debugging real firmware.
Put it into the system flow
I try not to treat Device Path Node as a dictionary entry. I read it as part of a firmware path: who produces it, who consumes it, and what symptom appears when it is wrong. That habit makes the note useful during debugging, not only during study.
A practical picture
A boot issue often comes from navigation data rather than the boot loader itself. After a BIOS update, disk replacement, or CMOS reset, I would check boot variables, device paths, and ordering before assuming the OS image is broken. Device Path Node belongs to that path-finding layer.
In a real debugging session
Treat Device Path Node as part of a boot chain, not as an isolated term: Boot Manager reads NVRAM → selects a boot option → parses the Device Path → opens the .efi file → transfers control to the loader. When a system boots the wrong target, the routing metadata is often guilty before the loader itself.
A practical check is to dump the boot variables, see which option the value points to, confirm that the option is active, and then inspect whether the embedded device path still matches the current disk and partition layout.
Related notes
- What is FilePath Device Path Node?
- What is HD Device Path Node?
- What is PCI Device Path Node?
- What is USB Device Path Node?
- What is DevicePathToText?
Public references
Found this useful?
Save it or share it with someone learning firmware, BIOS/UEFI, and embedded systems.
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.