BDS: Boot Device Select
BDS阶段的任务:
1. Initialize console devices base on the ConIn, ConOut and StdErr environment variables.
2. Attempt to load all drivers listed in the Driver#### and DriverOrder environment variables.
3. Attempt to boot from the boot selections list in the Boot#### and BootOrder environment variables.
如果BDS 阶段不能contact a console device, load a driver, or boot a boot selection, 这就要求重新调用DXE Dispatcher。 这种调用是必须的,因为通过执行这个操作可能会发现additional firmware volumes, 它们可能包含管理Console Devices和Driver Devices所必须的DXE Driver。
一旦新发现的Firmware Volume上的DXE Drivers被Dispatched之后,控制权会再次交到BDS手中 。
Console Device:
Console Device是从Simple Text Output和Simple Input Protocol中抽象出来的。 在UEFI中,能够产生这其中一种或两种Protocl的Devide都被当作是Console Device。
Console Device的几种Type:
1. VGA Adapters, produce Simple Text Output Protocol.
2. Video Adapters, produce