筆記三(UEFI詳解)


1、SEC 安全驗證

SEC(Security Phase)階段是平台初始化的第一個階段,計算機系統加電后進入這個階段。

1)接收並處理系統啟動和重啟信號:系統加點信號、系統重啟信號、系統運行過程中的嚴重異常信號,確認BIOS是否被篡改,無法由BIOS獨立完成,需額外硬件幫助。

2)初始化臨時存儲區域,在SEC階段,僅CPU和CPU、內部資源被初始化,各種外部設備和內存都沒有被初始化,需要CPU中的L2 cache來作為RAM(Cache AS RAM),然后將部分BIOS代碼加載到Seccurity environment中來。

3)作為系統信任的根源,只有根源被信任,其后續才能信任。

4)傳遞系統參數給下一個階段(即PEI),SEC階段的一切工作都是為PEI階段做准備,最終SEC要把控制權轉交給PEI,同時要將現階段的成果匯報給PEI。

SEC階段執行流程

 2、PEI 前期初始化

PEI即(Pre-EFI Intitialization)階段資源仍然十分有限,內存到了PEI后期才被初始化,其主要功能是為DXE准備執行環境,將需要傳遞到DXE的信息組成HOB(Handoff Block)列表,最終將控制權轉交到DXE手中。

PEI可分為以下兩部分:

1)PEI內核:負責PEI基礎服務和流程

2)PEIM(PEI Module)派遣器:主要功能是找出系統中的所有PEIM,並根據PEIM之間的依賴關系按順序執行PEIM。PEI階段對系統的初始化主要是由PEIM完成的。

PEI執行流程圖:

通過PeiServices,PEIM可以使用PEI階段提供的系統服務,通過這些系統服務,PEIM可以訪問PEI內核。PEIM之間的通信通過PPI(PEIM-to-PEIM Interfaces)完成。每個PPI都有一個GUID。

3、DXE 驅動執行環境

DXE(Driver Execution Environment)階段執行大部分系統初始化工作,進入此階段時,內存已經可以被完全使用,因而此階段可以進行大量的復雜工作。

DXE可以分為以下兩部分:

1)DXE內核:負責DXE基礎服務和執行流程

2)DXE派遣器:負責調度執行DXE驅動,初始化系統設備。

DXE執行流程:

DXE驅動之間通過Protocol通信,Protocol是一種特殊的結構體,每個Protocol對應一個GUID。當所有的Driver都執行完畢后,系統完成初始化,DXE通過EFI_BDS_ARCH_PROTOCOL找到BDS並調用BDS的入口函數,從而進入BDS階段。從本質上講,BDS是一種特殊的DXE階段的應用程序。

4、BDS 啟動設備選擇

BDS(Boot Device Selection)的主要功能是執行啟動策略,其主要功能包括:

1)初始化控制台設備

2)加載必要的設備驅動

3)根據系統設置加載和執行啟動項

4)連接默認控制台輸入輸出

5)在屏幕上顯示徽標或系統信息

6)連接所有設備和驅動程序

7)枚舉所有啟動選項設備

8)引導到系統,用戶選中某個啟動項(或系統進入默認的啟動項)后,OS Loader啟動,系統進入TSL階段。

總而言之:發現啟動設備,進入SCU,啟動選擇界面,開啟輸入輸出設備

BDS執行流程:

1)初始化輸入輸出

2)check熱鍵是否被按 A:是,進入BIOS/UEFI B:否,Boot by BootOrder

3)OS Loader call ExitBootServices() to end BDS 並開始runtime timer

5、TSL 操作系統加載前期

TSL(Transient System Load)是操作系統加載器執行的第一階段,在這一階段OS Loader作為一個UEFI應用程序運行,系統資源仍然由UEFI內核控制。當啟動服務的ExitBootServices()服務被調用后,系統進入Run Time階段。TSL階段之所以稱為臨時系統,在於它存在的目的就是為操作系統加載器准備執行環境。雖然是臨時系統,但其功能已經很強大,已經具備了操作系統的雛形,UEFI Shell是這個臨時系統的人機交互界面。正常情況下,系統不會進入UEFI Shell,而是直接執行操作系統加載器,只有在用戶干預下或操作系統加載器遇到嚴重錯誤時才會進入UEFI Shell。

6、RT 運行時

RT(Run Time)系統進入RT階段后,系統的控制權從UEFI內核轉交到OS Loader手中,UEFI占用的各種資源被回收到OS Loader,僅有UEFI運行時服務保留給OS Loader和OS使用。隨着OS Loader的執行,OS最終取得對系統的控制權。

7、AL 系統災難恢復期

在RT階段,如果系統(硬件或軟件)遇到災難性錯誤,系統固件需要提供錯誤處理和災難恢復機制,這種機制運行在AL(After Life)階段。UEFI和UEFI PI標准都沒有定義此階段的行為和規范。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM