小记:BIOS为什么能识别插入的USB,SATA HDD,M.2 Drive,网卡,显卡等设备?如果同时插入多个不同的设备,如何区分每个设备的路径?(主要参考UEFI SPEC V2.6 第9章 Protocols — Device Path Protocol)
目录
1.What is the Device Path ?/设备路径是什么?
2.EFI Device Path Protocol,GUID & Protocol Interface Structure
3.1Generic Device Path Structures
3.2End of Hardware Device Path node
4.Six major types of Device Path nodes
4.5.BIOS Boot Specification Device Path
其他内容可以参考UEFI SPEC:Device Path Generation Rules,Device Path Utilities Protocol,EFI Device Path Display Format...英文意思更准确,中文只是为了方便理解
1.What is the Device Path ?/ 设备路径是什么?
A device path is constructed and used by the firmware to convey the location of important devices, such as the boot device and console, consistent with the software-visible topology of the system.
A Device Path is used to define the programmatic path to a device. The primary purpose of a Device Path is to allow an application, such as an OS loader, to determine the physical device that the interfaces are abstracting.
A Device Path is designed to make maximum leverage of the ACPI name space.
The Device Path was designed so that the OS loader and the operating system could tell which devices the platform firmware was using as boot devices.
BIOS通过设备路径来构建和传递设备的位置,如启动设备和输入输出设备,以达到与系统的软件可见的拓扑结构一致。
设备路径用于定义设备的路径。设备路径的主要目的是允许应用程序(如操作系统加载程序)确定接口的物理设备。
设备路径旨在最大限度地利用ACPI名称空间。
设备路径的设计使操作系统加载程序和操作系统能够判断平台固件(BIOS)正在使用哪些设备作为引导设备。
2.EFI Device Path Protocol,GUID & Protocol Interface Structure
The executing UEFI Image may use the device path to match its own device drivers to the particular device. Note that the executing UEFI OS loader and UEFI application images m