藍色



在英特爾發布Sandy Bridge架構處理器后,傳統BIOS也終于走到了和我們說再見的時候,采用圖形化界面的EFI以及UEFI很快就取代了傳統BIOS成為了眾多主板的標準配置。
對于DIY玩家來說,傳統的藍底BIOS界面可以說是再熟悉不過了,它陪伴著很多電腦愛好者共同成長。不過,在英特爾發布Sandy Bridge架構處理器后,傳統BIOS也終于走到了和我們說再見的時候,采用圖形化界面的EFI以及UEFI很快就取代了傳統BIOS成為了眾多主板的標準配置,這一次,我們就一起來詳細了解一下這個顛覆傳統的EFI以及UEFI。
什么是EFI和UEFI?
EFI是Extensible Firmware Interface(可擴展固件接口)的縮寫,是由英特爾倡導推出的一種在類PC系統中替代BIOS的升級方案。與傳統BIOS相比,EFI通過模塊化、C語言的參數堆棧傳遞方式和動態鏈接的形式構建系統,較BIOS而言更易于實現,同時容錯和糾錯特性更強。
UEFI則是Unified Extensible Firmware Interface(統一可擴展固件接口),它是基于EFI 1.10標準而發展起來的。不過,UEFI的所有者并不是英特爾,而是一個名為Unified EFI Form的國際組織。UEFI是一種詳細描述類型接口的標準,可以讓PC從預啟動的操作環境,加載到操作系統上。
需要注意的是,雖然EFI與UEFI的叫法不同,但兩者在本質上是基本相同的。自2000年12月12日正式發布EFI 1.02標準后,EFI一直是作為替代傳統BIOS的先進標準而存在,擁有權在英特爾手中,而在2007年開始,英特爾將EFI標準的改進與完善工作交給Unified EFI Form進行全權負責,隨后登場的EFI標準則正式更名為UEFI,以示區別。
因此,UEFI是EFI的改良和發展。實際上,前者相比后者在UGA協議、SCSI傳輸、USB控制,還有I/O設備方面都做出了很多改進。另外,UEFI還添加了網絡應用程序接口、X64綁定、服務綁定等新內容。值得一提的是,參與UEFI標準開發的并不僅僅是英特爾一家,而是包括了AMD、蘋果、戴爾、惠普、IBM、聯想、微軟等多個IT業龍頭企業,因此UEFI在兼容性上自然有更好的表現,且通用性也更強。
UEFI相比傳統BIOS的區別和優點在哪里?
與傳統BIOS相比,UEFI對于新硬件的支持遠超對方,其中最能體現這一點的就是我們可以在UEFI下使用2.2TB以上的硬盤作為啟動盤,而在傳統BIOS模式下,這種大容量硬盤如不借助第三方軟件則只能當作數據盤使用。
另外,UEFI還內置了圖形驅動功能,可以提供一個高分辨率的圖形化界面,用戶進入后完全可以像在Windows系統下那樣使用鼠標進行設置和調整,操作上更為簡單快捷。同時由于UEFI使用的是模塊化設計,在邏輯上可分為硬件控制與軟件管理兩部分,前者屬于標準化的通用設置,而后者則是可編程的開放接口,因此主板廠商可以借助后者的開放接口在自家產品上實現各種豐富的功能,包括截圖、數據備份、硬件故障診斷、脫離操作系統進行UEFI在線升級等,功能也要比傳統BIOS更多、更強。
當然,UEFI相比傳統BIOS的優勢并不僅僅是以上幾點,實際上它還包括有如下特點:
- 編碼99%都是由C語言完成;
- 不再使用中斷、硬件端口操作的方法,而采用了Driver/Protocol的方式;
- 將不支持X86實模式,而直接采用Flat mode;
- 不再輸出單純的二進制代碼,改為Removable Binary Drivers模式;
- 操作系統的啟動不再是調用INT 19H中斷,而是直接利用Protocol/Device Path實現;
- 更方便第三方開發;
不過,這些特點對于普通用戶來說并沒有太大的實際意義,它們更多地是面向開發者,因此相關的內容這次就不展開敘述了。
UEFI主要由那幾部分組成?
那么,我們現在就稍微再深入一點,看看UEFI的主要構成部分。UEFI主要由初始化模塊、驅動執行環境、驅動程序、兼容性支持模塊、UEFI應用和GUID磁盤分區組成。其中,初始化模塊和驅動執行環境是UEFI的運行基礎,通常被整合在主板的閃存芯片中,這點與傳統BIOS是比較類似的。開機的時候初始化模塊首先得到執行,負責CPU、主板芯片及存儲設備的初始化工作,完成后再載入驅動執行環境,即Driver Execution Environment,簡稱DXE。
DXE完成載入后,UEFI就可以進一步加載硬件的UEFI驅動程序,DXE通過枚舉的方式加載各種總線及設備的驅動,而這些驅動程序則可以放置在系統的任意位置,只要確保其可以按順序被正確枚舉即可。硬件的UEFI驅動一般是放置在硬盤的UEFI專用分區中,只需要系統正確加載這個硬盤,對應的驅動就可以正常讀取并應用。
因此在DXE的支持下,如果用戶給PC添加新的硬件,只要有對應的UEFI驅動,那么UEFI也可以輕松提供支持, 這一點是幾乎沒有擴展能力的傳統BIOS所無法企及的,也正是因為這個能力,UEFI可以輕松支持各種網絡設備并聯網,藉此實現無需進入系統即可進行在線升級UEFI的功能。
兼容性支持模塊則是為了讓不具備UEFI引導功能的操作系統也能在UEFI環境下順利完成引導開機,這個兼容性支持模塊將為UEFI提供類似于傳統BIOS的系統服務,以此來保證UEFI在技術上能有良好的過渡。而GUID磁盤分區則是在UEFI標準中引入的磁盤分區結構,與傳統MBR分區相比,GUID磁盤分區突破了前者只允許4個主分區的限制,分區類型也改為了我們常說的GPT分區。
UEFI有什么缺點嗎?
雖然現在UEFI已經基本取代了傳統的BIOS,但是它并不是只有優點而沒有缺點。UEFI相比傳統BIOS在硬件兼容性上有很大的提升,但是就自身的安全性來說,它相比傳統BIOS可能還有所不如。首先,UEFI的主程序和代碼都整合在主板上的閃存芯片中,如果該芯片出現了故障,那么電腦就無法正常啟動,這點與傳統BIOS是基本相同的。
其次,由于UEFI程序是采用高級語言編寫的,與使用匯編語言編寫傳統BIOS相比要更容易受到病毒的攻擊,程序代碼也更容易被改寫,因此,目前UEFI雖然已經被廣泛使用,但是在安全性和穩定性上仍然有提升的空間。□