文章目录
Boot Manager
UEFI Boot Manager是一个固件策略引擎,Boot Manager按照全局NVRAM变量定义的顺序加载UEFI drivers程序和UEFI applications程序(包括UEFI OS boot loaders)。
1.boot order list 定义了一个NVRAM变量列表,其中包含关于要引导的内容的信息。
2.每个NVRAM变量为可以显示给用户的启动选项定义了一个名称。
3.该变量还包含一个指向硬件设备和硬件设备上包含要加载的UEFI映像的文件的指针。
4.该变量还可能包含到OS分区和目录的路径,以及其他特定于配置的目录。
一、Firmware Boot Manager
1. Boot Manager 设计
因为boot manager是从nvram里面获取的启动项列表,所以可以通过Setvariable()修改。
每个加载选项条目都位于Boot####、Driver####、SysPrep####、OsRecovery####或PlatformRecovery####变量中,其中####由一个可打印的十六进制数字(0-9)和字符a - f的大写版本替换(0000-FFFF)。
DriverOrder是Driver####加载顺序。BootOrder是Boot####加载顺序。
可以通过添加、删除或修改Boot####去操作新的引导选项,BootOrder也会更新顺序。
Boot manager会根据BootOrder顺序去load启动项,如果load失败,则按顺序load下一个,如果返回EFI_SUCCESS则