BIOS 的繼任者 UEFI

UEFI

求助編輯百科名片

新型UEFI,全稱“統一的可擴展固定接口”(Unified Extensible Firmware Interface), 是一種詳細描述全新類型接口的標準。這種接口用於操作系統自動從預啓動的操作環境,加載到一種操作系統上,從而使開機程序化繁爲簡,節省時間。

編輯本段UEFI簡介

  可擴展固件接口(Extensible Firmware Interface,EFI)是 Intel 爲全新類型的 PC 固件的體系結構、接口和服務提出的建議標準。 其
  

UEFI中圖形化的硬件設置界面

主要目的是爲了提供一組在 OS 加載之前(啓動前)在所有平臺上一致的、正確指定的啓動服務,被看做是有近20多年曆史的PC BIOS的繼任者。   由於電腦教育普及,很多人都知道BIOS就是Basic Input/Output System,翻成中文是“基本輸入/輸出系統”,是一種所謂的“固件”,負責在開機時做硬件啓動和檢測等工作,並且擔任操作系統控制硬件時的中介角色。  然而,那些都是過去DOS 時代的事情,自從Windows NT出現,Linux 開始嶄露頭角後,這些操作系統已將過去需要通過BIOS完成的硬件控制程序放在操作系統中完成,不再需要調用BIOS功能。一般來說,當今所謂的“電腦高手”,多半是利用BIOS來對硬件性能做些超頻調校,除了專業人士外,鮮有人再利用 BIOS 進行底層工作。  因爲硬件發展迅速,傳統式(Legacy)BIOS 成爲進步的包袱,現在已發展出最新的EFI(Extensible Firmware Interface)可擴展固件接口,以現在傳統 BIOS 的觀點來說,未來將是一個“沒有特定 BIOS”的電腦時代。  UEFI是由EFI1.10爲基礎發展起來的,它的所有者已不再是Intel,而是一個稱作Unified EFI Form的國際組織,貢獻者有Intel,Microsoft,AMI,等幾個大廠,屬於open source,目前版本爲2.1。與legacy BIOS 相比,最大的幾個區別在於:  1. 編碼99%都是由C語言完成;  2. 一改之前的中斷、硬件端口操作的方法,而採用了Driver/protocol的新方式;  3. 將不支持X86實模式,而直接採用Flat mode(也就是不能用DOS了,現在有些 EFI 或 UEFI 能用是因爲做了兼容,但實際上這部分不屬於UEFI的定義了);  4. 輸出也不再是單純的二進制code,改爲Removable Binary Drivers;  5. OS啓動不再是調用Int19,而是直接利用protocol/device Path;  6. 對於第三方的開發,前者基本上做不到,除非參與BIOS的設計,但是還要受到ROM的大小限制,而後者就便利多了。  7.彌補BIOS對新硬件的支持不足的毛病。  UEFI將是近3年的趨勢,到時候對於PC的利用以及維護都將步入一個新的時代。

編輯本段UEFI結構

  
  

uEFI概念

根據UEFI概念圖的結構,我們將把uEFI概念劃爲兩部分:uEFI的實體 (uEFI Image)跟平臺初始化框架。

uEFI的實體-uEFI Image

  (圖中藍框圍起部分)  根據uEFI規範定義,uEFI Image包含三種:uEFI Applications, OS Loaders and uEFI Drivers。  uEFI Applications是硬件初始化完,操作系統啓動之前的核心應用,比如:啓動管理、BIOS設置、uEFI Shell、診斷程式、調度和供應程式、調試應用...等等  OS Loaders是特殊的uEFI Application,主要功能是啓動操作系統並退出和關閉uEFI應用。  uEFI Drivers是提供設備間接口協議,每個設備獨立運行提供設備版本號和相應的參數以及設備間關聯,不再需要基於操作系統的支持。  
  

啓動隊列

平臺初始化框架

  uEFI框架主要包含兩部分,一是PEI(EFI預初始化),另一部分是驅動執行環境 (DXE)。  PEI主要是用來檢測啓動模式、加載主存儲器初始化模塊、檢測和加載驅動執行環境核心。  DXE是設備初始化的主要環節,它提供了設備驅動和協議接口環境界面。

編輯本段UEFI的優點

1.易於實現、容錯和糾錯特性更強

  與BIOS顯著不同的是,UEFI是用模塊化、C語言風格的參數堆棧傳遞方式、動態鏈接的形式構建系統,它比BIOS更易於實現,容錯和糾錯特性也更強,從而縮短了系統研發的時間。更加重要的是,它運行於32位或64位模式,突破了傳統16位代碼的尋址能力,達到處理器的最大尋址,此舉克服了BIOS代碼運行緩慢的弊端。

2.驅動開發簡單、兼容性好

  與BIOS不同的是,UEFI體系的驅動並不是由直接運行在CPU上的代碼組成的,而是用EFI Byte Code(EFI字節代碼)編寫而成的。對Java有一點了解的朋友,一定知道它的編譯代碼就是以“Byte Code”形式存在的,正是這種沒有一步到位的中間性機制,使Java可以在多種平臺上運行。UEFI也借鑑了類似的做法。EFI Byte Code是一組用於UEFI驅動的虛擬機器指令,必須在UEFI驅動運行環境下被解釋運行,由此保證了充分的向下兼容性。   一個帶有UEFI驅動的擴展設備既可以安裝在使用安騰的系統中,也可以安裝在支持UEFI的新PC系統中,它的UEFI驅動不必重新編寫,這樣就無須考慮系統升級後的兼容性問題。基於解釋引擎的執行機制,還大大降低了UEFI驅動編寫的複雜門檻,所有的PC部件提供商都可以參與。

3.高分辨率的彩色圖形環境、支持鼠標操作

  UEFI將讓枯燥的字符界面成爲歷史!UEFI內置圖形驅動功能,可以提供一個高分辨率的彩色圖形環境,用戶進入後能用鼠標點擊調整配置,一切就像操作Windows系統下的應用軟件一樣簡單。BIOS將不再是高手才能玩轉的工具,光這一點就足以讓很多菜鳥朋友心儀不已了。

4.強大的可擴展性

  我們都知道,當電腦出現故障導致無法進入操作系統時,我們往往要藉助其他工具才能解決問題,BIOS在診斷系統故障方面的作用實是在太小了。不過,UEFI將不會重蹈BIOS功能單一的覆轍!強大的可擴展性是UEFI的另一大優點。UEFI將使用模塊化設計,它在邏輯上分爲硬件控制與OS(操作系統)軟件管理兩部分,硬件控制爲所有UEFI版本所共有,而OS軟件管理其實是一個可編程的開放接口。藉助這個接口,主板廠商可以實現各種豐富的功能。比如我們熟悉的各種備份及診斷功能可通過UEFI加以實現,主板或固件廠商可以將它們作爲自身產品的一大賣點。如果你更習慣讓別人來維護機器,UEFI也提供了強大的聯網功能,其他用戶可以對你的主機進行可靠的遠程故障診斷,而這一切並不需要進入操作系統!要知道,如今的BIOS就是添加幾個簡單的USB設備支持都極其困難,更別說上網瀏覽網頁了。

5.UEFI具有支持鼠標操作的圖形界面

  UEFI能得到衆多廠商的青睞,自然少不了一些“幕後人員”的功勞。目前UEFI主要由這幾部分構成:UEFI初始化模塊、UEFI驅動執行環境、UEFI驅動程序、兼容性支持模塊、UEFI高層應用和GUID 磁盤分區組成。   UEFI初始化模塊和驅動執行環境通常被集成在一個只讀存儲器中,就好比如今的BIOS固化程序一樣。UEFI初始化程序在系統開機的時候最先得到執行,它負責最初的CPU、北橋、南橋及存儲器的初始化工作,當這部分設備就緒後,緊接着它就載入UEFI驅動執行環境(Driver Execution Environment,簡稱DXE)。當DXE被載入時,系統就可以加載硬件設備的UEFI驅動程序了。DXE使用了枚舉的方式加載各種總線及設備驅動,UEFI驅動程序可以放置於系統的任何位置,只要保證它可以按順序被正確枚舉。藉助這一點,我們可以把衆多設備的驅動放置在磁盤的UEFI專用分區中,當系統正確加載這個磁盤後,這些驅動就可以被讀取並應用了。在這個特性的作用下,即使新設備再多,UEFI也可以輕鬆地一一支持,由此克服了傳統BIOS捉襟見肘的情形。UEFI能支持網絡設備並輕鬆聯網,原因就在於此。  值得注意的是,一種突破傳統MBR(主引導記錄)磁盤分區結構限制的GUID(全局唯一標誌符)磁盤分區系統將在UEFI規範中被引入。MBR結構磁盤只允許存在4個主分區,而這種新結構卻不受限制,分區類型也改由GUID來表示。在衆多的分區類型中,UEFI系統分區用來存放驅動和應用程序。很多朋友或許對這一點感到擔心:當UEFI系統分區遭到破壞時怎麼辦?而容易受病毒侵擾更是UEFI被人詬病的一大致命缺陷。事實上,系統引導所依賴的UEFI驅動通常不會存放在UEFI系統分區中,當該分區的驅動程序遭到破壞,我們可以使用簡單方法加以恢復,根本不用擔心。   X86處理器能夠取得成功,與它良好的兼容性是分不開的。爲了讓不具備UEFI引導功能的操作系統提供類似於傳統BIOS的系統服務,UEFI還特意提供了一個兼容性支持模塊,這就保證了UEFI在技術上的良好過渡。  UEFI使用模塊化設計,它在邏輯上可分爲硬件控制和OS軟件管理兩部分:操作系統—可擴展固件接口—固件—硬件。  豐富的圖形界面、可以上網瀏覽……從這些功能來看,UEFI就像一個活生生的操作系統。Intel在業界的影響力路人皆知,難道它也想染指操作系統?如果是這樣,微軟還在鼎力支持,豈不是養虎爲患?微軟當然不會傻到這種程度。事實上,UEFI只是硬件和預啓動軟件之間的接口規範,它的實力尚不足以對操作系統構成威脅。另外,UEFI驅動程序使用“輪詢”方式來檢查硬件狀態,它的運行效率並不如操作系統直接高效。再者,UEFI只具備簡單的存儲器管理機制,還不足以適應多任務環境的運行需求。從目前的情形看,UEFI想取代操作系統,至少還有漫長的路要走。  本來,微軟計劃在第一版Vista系統中支持UEFI技術,但微軟開發經理Andrew Ritz今年3月表示,即將上市的Windows Vista將不支持UEFI技術。但從目前情況來看,UEFI取代BIOS在PC系統中的地位只是時間早晚的問題。以微軟和Intel爲首的IT企業已逐步實施BIOS淘汰計劃,蘋果新型的Mac計算機就率先採用了UEFI技術。讓我們做好迎接UEFI的準備吧!

編輯本段BIOS技術三年內消失 UEFI取而代之

  沒有一項技術可以像BIOS一樣從PC興起以來一直發展到現在卻沒有變,不過主板製造商微星最近表示,我們熟悉的BIOS可能會在三年內被UEFI取代  用戶的需求和存儲技術的進步讓UEFI的實施成爲非常容易的工作,因此不需要付出太多的資源就可以實現轉換。

編輯本段日後開機僅需幾秒

  10月4日消息,據國外媒體報道,作爲電腦開機軟件的Bios如今已有25年曆史,而最近的一項技術升級可能會使這個“元老級別”的電腦元件從此退出歷史舞臺。 [1][1]   據悉,Bios的最新替代品UEFI,將在2011進駐所有新型電腦。UEFI的全稱爲統一可擴展固件接口(Unified Extensible Firmware Interface),是比傳統Bios,甚至EFI(Extensible Firmware Interface)更具優勢的新技術產品。  UEFI聯盟監督了該技術的全程開發。該組織負責人表示,當初設計出的Bios預計僅供25萬臺機器使用,而這一數字早已被超越。當64位計算變得更爲常見,改裝機性能遠遠超越普通臺式和筆記本電腦時,Bios早已跟不上現代社會快速的發展節奏。爲了適應現代個人電腦,Bios往往要在開機前花上一段時間進行預熱,因此,配置Bios的電腦在開機時會耗費上許多時間。  而新型UEFI,全稱“統一的可擴展固定接口”(Unified Extensible Firmware Interface), 是一種詳細描述全新類型接口的標準。這種接口用於操作系統自動從預啓動的操作環境,加載到一種操作系統上,從而使開機程序化繁爲簡,節省時間。UEFI將提供一個明確的在操作系統與開機時啓動固定於硬件中的軟件平臺之間 的接口規範,此外還支持一種用於初始化插卡的獨立於計算機架構的裝置。  據瞭解,目前許多電腦廠商已經開始使用UEFI,並預計UEFI機型的銷售從2011年開始將占主導地位。
參考資料
擴展閱讀:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章