UEFI BIOS檢視原始碼討論檢視歷史
UEFI BIOS | |
---|---|
UEFI(Unified Extensible Firmware Interface,統一可延伸韌體介面)是新一代BIOS韌體,用來定義作業系統與系統靭體之間的軟體介面,為OS與Device FW之間架設一個軟體介面,用於替代傳統BIOS的升級規格,主要功能是負責開機自我檢測、聯繫OS以及提供連接OS與Device的介面。稍微玩過或研究過Windows安裝過程的人,應該都知道電腦開機時,會先載入BIOS、BIOS再到磁碟機的MBR,根據指示載入作業系統的開機管理程式(boot manager),繼續進入作業系統的開機程序。[1]換句話說,boot manager要透過韌體提供的服務,才能存取必要的硬體資源,像是儲存裝置、顯示卡、系統記憶體等等。簡單的講,BIOS可以載入的硬體資源和驅動十分陽春,包括和它搭配的MBR分割格式最大隻認得2.2TB的磁碟,所以才有BIOS系統無法用3TB硬碟開機的限制。而UEFI就是用來改善這些限制的下一代韌體。
UEFI BIOS與傳統BIOS比較:
1.定址空間更彈性
傳統BIOS是以真實模式中斷向量的方式增加硬體功能,要將一段類似於驅動程式的16位元代碼,放置在記憶體0x000C0000至0x000DFFFF之間,而這段記憶體空間有限最大為128KB。[2]UEFI BIOS是以32或64位元CPU保護模式執行,也稱為Flat Mode,突破傳統16位元代碼的定址能力,可達到CPU的最大定址空間。UEFI 利用載入EFI driver的形式,來進行硬體的辨識、控制及系統資源掌控,UEFI可以更有系統的分配儲存空間,避免使用強制定址。
2.可適用於任何系統
傳統BIOS的硬體服務程式都是以16位元代碼的形式存在,在增強模式下執行的作業系統想存取這些服務會有困難,因此BIOS提供的服務在現實中只能提供給MS-DOS之類的系統用。 UEFI系統下的驅動並不是可以直接在CPU執行的代碼,而是用EBC(EFI Byte Code)這種專用於EFI driver的虛擬機器指令,該指令必須在UEFI的DXE階段被解壓縮後翻譯執行,便有更佳的向下相容性,因為EFI driver是彈性的驅動程式模組架構,可不斷的擴充驅動程式及介面,不用重新編寫,就無需考慮因系統升級所衍生的相容性因素。
3.開發維護容易
EFI driver開發簡單,所有的PC零組件廠商都可以參與,這樣的模式曾使Windows系統短短幾年就變得無比強大。有EFI driver,也可以讓顯示卡在開機階段就載入某種程度的功能,進而可以把傳統文字介面為主的BIOS轉成圖形介面。
4. 精簡系統
EFI Shell,這是精簡的作業系統,可以讓使用者進行BIOS的更新、系統診斷、安裝特定軟體。
支援UEFI的作業系統: (1).2000年,Linux作業系統便可以支援EFI。 (2).蘋果電腦Mac OS X 10.4(代號Tiger)的Intel版支援EFI。 (3).2002年微軟給Itanium CPU使用的Windows 2000,其中Advanced Server Limited Edition及Datacenter Server Limited Edition版支援了EFI v1.10規範。對UEFI的支援是從Windows Server 2008和Vista SP1的64位元版本開始,包括Windows 7也只有64位元版完整支援UEFI。
Microsoft強制新作業系統Windows 8,無論CPU採用x86或ARM架構的系統,軔體都必須使用UEFI規格,應用領域包含NB及平板電腦等。
影片
學習重灌/超頻之前 先來認識BIOS吧! UEFI 又是甚麼? | 聊電Jing
參考資料
- ↑ UEFI 有多好?看 Windows 怎麼說10.02.2021 電腦王
- ↑ UEFI BIOS06.23.2015 MoneyDJ理財網