看起來有兩個陣營,小群人關心UEFI和其他人在他們的電腦工作中那些並沒有真正注意或不關心的人。所以讓我們談談UEFI是什麼,它是如何成為的,它適合的是什麼,以及為什麼你應該關心(或不應該)。
什麼是uefi?
UEFI意味著統一的可擴展固件界面,由稱為聯合EFI論壇的組織持有的傳統持有。英特爾與EFI(可擴展固件界面)出來,後來將規範公開為UEFI。作為一種規範,應用程序詳細信息在供應商和製造商之間發生變化,但目標是呈現OS引導加載程序的傳統和可理解的結構。這使得編寫操作系統可以更簡單,因為您不再需要擔心實際啟動芯片組的所有不整潔的公司。
若干IBV(獨立BIOS供應商)提供了對UEFI的實現,即生產主板可以在其產品中許可和使用的OEM。一些例子將是Ami,Phoenix和Insyde。您可能會看到他們的徽標或只是他們的名字的文本,在您選擇正確的靴子之前,在屏幕上短暫閃爍。
讓我們談談UEFI靴子。通常,有一些不同的階段。我們通常會說,因為有許多實現,並且許多人都脫離了規格。有三個一般階段:安全和安全性(SEC),EFI預初始化(PEI)和驅動器執行環境(DXE)。每個都是迷你操作系統。因為英特爾是啟動EFI的人,後來將其轉化為UEFI,因此大部分設計是在英特爾處理器啟動的情況下開發的。其他平台,如手臂可能會在SEC或PEI階段中避免做得很多。
X86處理器的啟動過程有點奇怪。它們以真實模式開始(儘管這些天大多數處理器是技術上的虛幻),具有20位地址空間(1MB可尋址存儲器),以外的兼容性原因。隨著處理器繼續啟動,它將切換到安全模式,然後最終到長模式。在多核系統中,所有處理器競爭以獲得信號量或讀取EAX,並且指定BSP(Bootstrap處理器)。失敗者都停止,直到BSP通過IPI(處理器間中斷)啟動它們。通常,有一個板載SPI Flash芯片,固件映射到物理32位區域的結尾。英特爾管理引擎(ME)或AMD平台安全和安全處理器(PSP)是大多數SEC相位,例如刷新緩存並啟動處理器。
一旦處理器開始,PEI就正式開始。在英特爾系統上,大部分PEI都沒有系統RAM。這是因為在處理器可以使用它們之前需要訓練內存並初始化鏈接。從RAM的越來越多的速度越來越多的速度意味著需要測試RAM,校準,並在每一個引導時配置,因為不同的RAM棒具有其他參數。許多系統緩存了這些參數以更快地啟動時間,但通常需要隨著RAM棒年齡而遷退。 PSP在主X86處理器退出重置之前,PSP在某些AMD系統上處理內存訓練和包裝UEFI。對於英特爾系統,他們使用稱為XIP的技巧(執行到位),該技巧將各種高速緩存轉換為短期RAM。只有一個小堆棧,一定量的堆空間,而且pei沒有靜態變量。眾多英特爾服務器平台依賴於電路板管理控制器(BMC)來訓練內存,因為訓練大量的內存需要很長時間。
初始化RAM並傳輸短期緩存的內容後,我們將重新定位到DXE。 DXE階段提供兩種服務:啟動和運行時。運行時服務意味著操作系統消耗,如非易失性變量等服務。一次被調用ExitBootServices(通常由OS加載器)銷毀引導服務,但它們是鍵盤輸入和圖形驅動程序等服務。 BDS(Boot設備選擇)在DXE中運行,系統如何確定啟動的驅動器(硬盤驅動器,USB等)。
這是一個非常密集和x86特別概述。眾多架構(如Arm)避開了UEFI的內容更像CoreBoot,LinuxBoot或LK,其中它靴子將KEXEC中的一個小Linux內核引導到一個更大的內核中。然而,許多臂平台也可以利用UEFI。只有時間才能告訴行業的移動。
它是如何成為的
2005年,UEFI完全取代了EFI(可擴展固件界面),傳統的英特爾之前幾年了。 EFI借用來自EFI的借用方法,從該時段,Pecoff Image格式和UEFI的Windows借用了眾多東西。在EFI之前,還有良好的BIOS(基本輸入輸出系統)。該名稱來自1975年的CP / M系統。在此期間,BIOS是系統啟動和提供適用於應用程序B的統一界面的方法Y提供BIOS中斷調用。手機呼叫使程序能夠訪問輸入和輸出,例如串行端口,RTC和PCI總線。菲尼克斯和其他人反向設計了IBM製作用於製造IBM兼容機的專有接口,最終導致了靠近標準的東西。
它比BIOS更好嗎?
是的,否,取決於您的觀點。許多OS供應商都喜歡UEFI,因為它們通常使他們的生活更簡單,因為提供的服務使其易於給出均勻體驗引導。通常對UEFI最差的Linux社區在最佳和敵對中是不可知的。 BIOS界面正在推動45年,截至寫作時間,並且在各種意義上被認為是遺產。 UEFI角落中的另一個點是它有助於選擇不同的啟動小工具並更新計算機上的固件。 UEFI利用GUID分區表(GPT)通過主引導記錄(MBR) – 考慮到PLUS,因為MBR有點不靈活。今天運輸的許多平台都是基於Tianocore的開源EDK2項目,是支持X86,ARM和RISCV的UEFI的實現。
與UEFI的最大抱怨是,它是一個封閉的黑匣子,可以在電腦靴後難以達到的電腦訪問。 BIOS是有吸引力的,因為界面廣為人知並且通常是非居民。 UEFI可以更新更簡單,但也有更重要的更新需要。 UEFI更新可以完全撥打您的系統。它不會啟動,因為融合在該單位上,它幾乎無法修復它,即使對於製造商而言也是不可能的。大量的測試進入了這些更新,但大多數人都猶豫不決,因為所需的工作量增加了許多更新。
為什麼你應該或不應該在乎
在一天結束時,您會在乎您是否可以將計算機用於對您至關重要的事情。無論是在玩遊戲,寫一封電子郵件,還是製作新電腦,只要電腦做你想做的就不重要。並啟動只是一個遺忘的邁出了。如果您關心設備運行的每一塊代碼,則需要扣入長騎行。有業務,如Librem將長長的長度,以確保在非專有的Blob中運行類似內存init的棘手問題。您仍然可以修改UEFI,[Hales]是調整舊學校筆記本電腦的BIOS的意識。用於檢查和理解引擎蓋下的內容的開源工具越來越好。
最終它與您是否關心設備的啟動過程一樣多。