開機流程
傳統的基本輸入輸出系統 Legacy BIOS(Basic Input/Output System) 使用迄今長達三、四十年之久,是電腦開機後主要執行的第一支程式,透過這隻程式來和其他硬體進行溝通並引導作業系統進行開機。
有下列缺點
- 傳統BIOS以16位元真實模式下啟動並執行硬體服務程式,定址空間有限。
- 傳統BIOS植基於X86插斷(Interrupt)模式,以組合語言撰寫,只能應用於傳統PC架構。
- 沒有明確定義廠商使用的介面。
因此出現了 UEFI(Unified Extensible Firmware Interface) 整合可延伸韌體界面,用來定義作業系統與系統靭體之間的軟體介面以便可以取代傳統基本輸出入系統 (Legacy BIOS),UEFI目前是由超過數百家科技公司組成的 UEFI 協會所建立的標準,其設計的中心目的在於改善軟體互通性並且解決傳統 BIOS 的位址相關限制, 因此,UEFI 韌體的優點包含:
擴充啟動磁碟區的能力
UEFI 允許從大硬碟下開機,亦即能夠支援從大於2TB的硬碟上啟動電腦。
加強電腦啟動時的安全性需求
UEFI支援安全性啟動(Secure Boot)功能,用以確保開機時唯有受信任或授權的程式碼才能夠執行,當EUFI電腦開機時,韌體可以檢查每個啟動的程式碼是否有正確的簽署,以避免未經授權的韌體、驅動程式和作業系統並且防範惡意rootkit的執行。
作業系統啟動前的網路能力
UEFI提供並強化了網路程式介面,允許在作業系統啟動之前即可提供較豐富的網路能力,這包括了IPv4和IPv6堆疊,此外,UEFI 也允許伺服器利用多點傳送開機映像到許多單位。
強化電腦啟動時的管理能力
UEFI 提供完整的系統硬體資源的存取能力,讓IT人員在尚未載入作業系統前即可進行遠端診斷。
遠端配置能力 (Remote provisioning)
UEFI預先啟動的網路能力不僅可以讓機器直接連線到網站以下載驅動程式和韌體以執行更新,而且由遠端的備份或映像伺服器(重新)安裝系統變為更直接有彈性而可行。
模組化的彈性設計
UEFI使用C語言的模組化架構,比使用組合語言的傳統BIOS更有彈性,能夠在32或64位元處理器模式下運作,突破了傳統BIOS 16位元的定址限制。
開機流程圖
- 傳統啟動方式
基本輸入輸出系統(BIOS) -> 主開機磁區(MBR) -> 啟動引導 -> 核心 -> 系統 - 新版啟動方式
載入整合可延伸韌體界面(UEFI) -> EFI 啟動引導 -> 核心 -> 系統
比較表
傳統BIOS vs. UEFI BIOS重點差異 | ||
---|---|---|
BIOS種類 | 傳統BIOS | UEFI BIOS |
程式語言 | 組合語言 | C語言 |
資源控制 | 中斷向量寫死的記憶體存取寫死的輸出/輸入存取 | 驅動程式/協定 |
處理器運行環境 | X86 16位元 | CPU保護模式 |
擴充方式 | 接合中斷向量 | 載入驅動程式 |
第三方IHV和ISV支援性 | 較差 | 較佳且可以支援多平台 |
圖形化能力 | 較差 | 較佳 |
內建簡化的作業系統前環境 | 無 | 有 |