剛開始學習開發UEFI,分享以下學習過程,有不足之處,還請大佬指正
一、什麼是UEFI?
UEFI:
- 英文全稱:Unified Extensible Firmware Interface,
- 中文名字:統一可擴展固件接口;
- 它定義了操作系統與平臺固件之間的接口,
- 它是BIOS的替代品。
二、UEFI 的系統組成
- UEFI提供給操作系統的接口包括啓動服務BS和運行時服務RT以及隱藏在BS之後的豐富的Protocol。
- BS和RT在C語言中以結構體的形式存在。
三、UEFI系統的啓動過程
其中,
- 前三個階段是UEFI初始化階段,DXE階段結束後,UEFI環境準備完畢。
- BDS和TSL是操作系統加載器作爲UEFI應用程序運行的階段。
- 操作系統加載器調用ExitBootServices( )服務後進入RT階段,RT階段包括操作系統加載器後期和操作系統運行期。
- 只有當系統硬件或操作系統出現嚴重錯誤不能繼續正常運行時,固件回嘗試修復錯誤,這是系統進入AL期。
名詞解釋
- UEFI(Unified Extensible Firmware Interface)【統一可擴展固件接口】
- BS(Boot Services)【啓動服務】
- RT(Runtime Service)【運行時服務】
- SEC(Security Phase)安全認證
- PEI(Pre-EFI Initialization)UEFI 前期初始化
- DXE(Driver Excution Environment)驅動執行環境
- BSD(Boot Device Selection)啓動設備選擇
- TSL(Transient System Load)操作系統加載器
- RT(Run Time)系統運行時
- AL(After Life)