UEFI(Unified Extensible Firmware?Interface,全稱(chēng)統(tǒng)一的可擴(kuò)展固件接口)是一種個(gè)人電腦系統(tǒng)規(guī)格,用來(lái)定義操作系統(tǒng)與系統(tǒng)固件之間的軟件界面,作為BIOS的替代方案。其前身是Intel在1998年開(kāi)始開(kāi)發(fā)的Intel Boot Initiative。
該軟件主要負(fù)責(zé)加電自檢、聯(lián)系操作系統(tǒng)以及提供連接操作系統(tǒng)與硬件的接口。
?
1用途介紹
UEFIBIOS即Basic Input/Output System,翻成中文是“基本輸入/輸出系統(tǒng)”,是一種所謂的“固件”,負(fù)責(zé)在開(kāi)機(jī)時(shí)做硬件啟動(dòng)和檢測(cè)等工作,并且擔(dān)任操作系統(tǒng)控制硬件時(shí)的中介角色。
因?yàn)橛布l(fā)展迅速,傳統(tǒng)式(Legacy)BIOS 成為進(jìn)步的包袱,現(xiàn)在已發(fā)展出最新的UEFI(Unified Extensible Firmware?Interface)可擴(kuò)展固件接口,相比傳統(tǒng) BIOS 的來(lái)說(shuō),未來(lái)將是一個(gè)“沒(méi)有特定 BIOS”的電腦時(shí)代。
與legacy BIOS 相比,UEFI最大的幾個(gè)區(qū)別在于:
1. 編碼99%都是由C語(yǔ)言完成;
2. 一改之前的中斷、硬件端口操作的方法,而采用了Driver/protocol的新方式;
3. 將不支持X86實(shí)模式,而直接采用Flat mode(也就是不能用DOS了,現(xiàn)在有些 EFI 或 UEFI 能用是因?yàn)樽隽思嫒?,但?shí)際上這部分不屬于UEFI的定義了);
4. 輸出也不再是單純的二進(jìn)制code,改為Removable Binary Drivers;
5. OS啟動(dòng)不再是調(diào)用Int19,而是直接利用protocol/device Path;
6. 對(duì)于第三方的開(kāi)發(fā),前者基本上做不到,除非參與BIOS的設(shè)計(jì),但是還要受到ROM的大小限制,而后者就便利多了。
7.彌補(bǔ)BIOS對(duì)新硬件的支持不足的問(wèn)題。
2結(jié)構(gòu)介紹
UEFI使用模塊化設(shè)計(jì),它在邏輯上可分為硬件控制和OS軟件管理兩部分:操作系統(tǒng)—可擴(kuò)展固件接口—固件—硬件。
根據(jù)UEFI概念圖的結(jié)構(gòu),可把uEFI概念劃為兩部分:uEFI的實(shí)體 (uEFI Image)跟平臺(tái)初始化框架。
uEFI的實(shí)體-uEFI Image
(圖中藍(lán)框圍起部分)
啟動(dòng)隊(duì)列根據(jù)uEFI規(guī)范定義,uEFI Image包含三種:uEFI Applications, OS Loaders and uEFI Drivers。
uEFI Applications是硬件初始化完,操作系統(tǒng)啟動(dòng)之前的核心應(yīng)用,比如:?jiǎn)?dòng)管理、BIOS設(shè)置、uEFI Shell、診斷程式、調(diào)度和供應(yīng)程式、調(diào)試應(yīng)用...等等
OS Loaders是特殊的uEFI Application,主要功能是啟動(dòng)操作系統(tǒng)并退出和關(guān)閉uEFI應(yīng)用。
uEFI Drivers是提供設(shè)備間接口協(xié)議,每個(gè)設(shè)備獨(dú)立運(yùn)行提供設(shè)備版本號(hào)和相應(yīng)的參數(shù)以及設(shè)備間關(guān)聯(lián),不再需要基于操作系統(tǒng)的支持。
平臺(tái)初始化框架
uEFI框架主要包含兩部分,一是PEI(EFI預(yù)初始化),另一部分是驅(qū)動(dòng)執(zhí)行環(huán)境 (DXE)。
PEI主要是用來(lái)檢測(cè)啟動(dòng)模式、加載主存儲(chǔ)器初始化模塊、檢測(cè)和加載驅(qū)動(dòng)執(zhí)行環(huán)境核心。
DXE是設(shè)備初始化的主要環(huán)節(jié),它提供了設(shè)備驅(qū)動(dòng)和協(xié)議接口環(huán)境界面。
3優(yōu)點(diǎn)介紹
編輯
糾錯(cuò)特性
與BIOS顯著不同的是,UEFI是用模塊化、C語(yǔ)言風(fēng)格的參數(shù)堆棧傳遞方式、動(dòng)態(tài)鏈接的形式構(gòu)建系統(tǒng),它比BIOS更易于實(shí)現(xiàn),容錯(cuò)和糾錯(cuò)特性也更強(qiáng),從而縮短了系統(tǒng)研發(fā)的時(shí)間。更加重要的是,它運(yùn)行于32位或64位模式,突破了傳統(tǒng)16位代碼的尋址能力,達(dá)到處理器的最大尋址,此舉克服了BIOS代碼運(yùn)行緩慢的弊端。
兼容性
UEFI(3)與BIOS不同的是,UEFI體系的驅(qū)動(dòng)并不是由直接運(yùn)行在CPU上的代碼組成的,而是用EFI Byte Code(EFI字節(jié)代碼)編寫(xiě)而成的。Java是以“Byte Code”形式存在的,正是這種沒(méi)有一步到位的中間性機(jī)制,使Java可以在多種平臺(tái)上運(yùn)行。UEFI也借鑒了類(lèi)似的做法。EFI Byte Code是一組用于UEFI驅(qū)動(dòng)的虛擬機(jī)器指令,必須在UEFI驅(qū)動(dòng)運(yùn)行環(huán)境下被解釋運(yùn)行,由此保證了充分的向下兼容性。
一個(gè)帶有UEFI驅(qū)動(dòng)的擴(kuò)展設(shè)備既可以安裝在使用安卓的系統(tǒng)中,也可以安裝在支持UEFI的新PC系統(tǒng)中,它的UEFI驅(qū)動(dòng)不必重新編寫(xiě),這樣就無(wú)須考慮系統(tǒng)升級(jí)后的兼容性問(wèn)題?;诮忉屢娴膱?zhí)行機(jī)制,還大大降低了UEFI驅(qū)動(dòng)編寫(xiě)的復(fù)雜門(mén)檻,所有的PC部件提供商都可以參與。
鼠標(biāo)操作
UEFI內(nèi)置圖形驅(qū)動(dòng)功能,可以提供一個(gè)高分辨率的彩色圖形環(huán)境,用戶(hù)進(jìn)入后能用鼠標(biāo)點(diǎn)擊調(diào)整配置,一切就像操作Windows系統(tǒng)下的應(yīng)用軟件一樣簡(jiǎn)單。
可擴(kuò)展性
UEFI將使用模塊化設(shè)計(jì),它在邏輯上分為硬件控制與OS(操作系統(tǒng))軟件管理兩部分,硬件控制為所有UEFI版本所共有,而OS軟件管理其實(shí)是一個(gè)可編程的開(kāi)放接口。借助這個(gè)接口,主板廠(chǎng)商可以實(shí)現(xiàn)各種豐富的功能。比如我們熟悉的各種備份及診斷功能可通過(guò)UEFI加以實(shí)現(xiàn),主板或固件廠(chǎng)商可以將它們作為自身產(chǎn)品的一大賣(mài)點(diǎn)。UEFI也提供了強(qiáng)大的聯(lián)網(wǎng)功能,其他用戶(hù)可以對(duì)你的主機(jī)進(jìn)行可靠的遠(yuǎn)程故障診斷,而這一切并不需要進(jìn)入操作系統(tǒng)。
圖形界面
UEFI主要由這幾部分構(gòu)成:UEFI初始化模塊、UEFI驅(qū)動(dòng)執(zhí)行環(huán)境、UEFI驅(qū)動(dòng)程序、兼容性支持模塊、UEFI高層應(yīng)用和GUID磁盤(pán)分區(qū)組成。
UEFI初始化模塊和驅(qū)動(dòng)執(zhí)行環(huán)境通常被集成在一個(gè)只讀存儲(chǔ)器中,就好比如今的BIOS固化程序一樣。UEFI初始化程序在系統(tǒng)開(kāi)機(jī)的時(shí)候最先得到執(zhí)行,它負(fù)責(zé)最初的CPU、北橋、南橋及存儲(chǔ)器的初始化工作,當(dāng)這部分設(shè)備就緒后,緊接著它就載入U(xiǎn)EFI驅(qū)動(dòng)執(zhí)行環(huán)境(Driver Execution Environment,簡(jiǎn)稱(chēng)DXE)。當(dāng)DXE被載入時(shí),系統(tǒng)就可以加載硬件設(shè)備的UEFI驅(qū)動(dòng)程序了。DXE使用了枚舉的方式加載各種總線(xiàn)及設(shè)備驅(qū)動(dòng),UEFI驅(qū)動(dòng)程序可以放置于系統(tǒng)的任何位置,只要保證它可以按順序被正確枚舉。借助這一點(diǎn),我們可以把眾多設(shè)備的驅(qū)動(dòng)放置在磁盤(pán)的UEFI專(zhuān)用分區(qū)中,當(dāng)系統(tǒng)正確加載這個(gè)磁盤(pán)后,這些驅(qū)動(dòng)就可以被讀取并應(yīng)用了。在這個(gè)特性的作用下,即使新設(shè)備再多,UEFI也可以輕松地一一支持,由此克服了傳統(tǒng)BIOS捉襟見(jiàn)肘的情形。UEFI能支持網(wǎng)絡(luò)設(shè)備并輕松聯(lián)網(wǎng),原因就在于此。
值得注意的是,一種突破傳統(tǒng)MBR(主引導(dǎo)記錄)磁盤(pán)分區(qū)結(jié)構(gòu)限制的GUID(全局唯一標(biāo)志符)磁盤(pán)分區(qū)系統(tǒng)將在UEFI規(guī)范中被引入。MBR結(jié)構(gòu)磁盤(pán)只允許存在4個(gè)主分區(qū),而這種新結(jié)構(gòu)卻不受限制,分區(qū)類(lèi)型也改由GUID來(lái)表示。在眾多的分區(qū)類(lèi)型中,UEFI系統(tǒng)分區(qū)用來(lái)存放驅(qū)動(dòng)和應(yīng)用程序。很多朋友或許對(duì)這一點(diǎn)感到擔(dān)心:當(dāng)UEFI系統(tǒng)分區(qū)遭到破壞時(shí)怎么辦?而容易受病毒侵?jǐn)_更是UEFI被人詬病的一大致命缺陷。事實(shí)上,系統(tǒng)引導(dǎo)所依賴(lài)的UEFI驅(qū)動(dòng)通常不會(huì)存放在UEFI系統(tǒng)分區(qū)中,當(dāng)該分區(qū)的驅(qū)動(dòng)程序遭到破壞,我們可以使用簡(jiǎn)單方法加以恢復(fù),根本不用擔(dān)心。
X86處理器能夠取得成功,與它良好的兼容性是分不開(kāi)的。為了讓不具備UEFI引導(dǎo)功能的操作系統(tǒng)提供類(lèi)似于傳統(tǒng)BIOS的系統(tǒng)服務(wù),UEFI還特意提供了一個(gè)兼容性支持模塊,這就保證了UEFI在技術(shù)上的良好過(guò)渡。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-437545.html
uEFI啟動(dòng)項(xiàng)啟動(dòng)項(xiàng)2文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437545.html
到了這里,關(guān)于個(gè)人電腦操作系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!