詳解UEFI和傳統(tǒng)BIOS(Legacy)以及它們的區(qū)別
Part 1:傳統(tǒng)BIOS(Legacy)
首先讓我們回顧一下傳統(tǒng)BIOS(Legacy)啟動(dòng)的流程:
上電自檢(POST)
讀取主引導(dǎo)記錄(MBR)
讀取分區(qū)引導(dǎo)記錄(PBR)
拉起啟動(dòng)管理器

夢(mèng)回408 @w@

Q:這樣做有什么缺點(diǎn)?
1.?????單個(gè)分區(qū)容量最高只支持2TB
????????為什么?
????????不妨讓我們看看MBR的結(jié)構(gòu)

(來自 c.biancheng.net/view/1015.html)
可以看到,MBR只給了4個(gè)字節(jié)用來存儲(chǔ)本分區(qū)總扇區(qū)數(shù),通常一個(gè)扇區(qū)大小只有512字節(jié),稍加計(jì)算就可以得到MBR單個(gè)分區(qū)的最大容量為2T
2.?????啟動(dòng)慢
為什么?
眾所周知,傳統(tǒng)的BIOS啟動(dòng)流程有一個(gè)開機(jī)自檢的環(huán)節(jié),一次完整的開機(jī)自檢需要檢查如下幾個(gè)硬件:



(來自 https://blog.51cto.com/bule201/1588548)
由于現(xiàn)在的硬件普遍偏“大”(例如RAM,我不知道該用什么形容詞好@w@)完全檢完其實(shí)需要大量的時(shí)間?。?!
現(xiàn)在的POST自檢一般會(huì)加快和簡(jiǎn)化(這就是為什么我開頭強(qiáng)調(diào)是完整的POST自檢)

Part 2:UEFI
接下來看UEFI
UEFI,即統(tǒng)一可擴(kuò)展固件接口(Universal Extensible Firmware Interface)
讓我們看看UEFI的啟動(dòng)流程:
初始化
執(zhí)行ESP分區(qū)下的引導(dǎo)程序
拉起啟動(dòng)管理器

這里備注一下,ESP是EFI系統(tǒng)分區(qū)(EFI system partition),這是UEFI特有的一個(gè)分區(qū),通常是FAT32格式,里面會(huì)放一些引導(dǎo)程序,這個(gè)分區(qū)一般是隱藏的,開DiskGenius才可以看到


Q:相比于傳統(tǒng)BIOS,UEFI有什么區(qū)別?
1.???? 砍掉了POST自檢
相比于傳統(tǒng)BIOS,UEFI已經(jīng)沒有了自檢的獨(dú)立流程!
這意味著UEFI變得更快了!??!
(雖然相比于現(xiàn)在閹割POST的傳統(tǒng)BIOS好像沒什么區(qū)別 -_- )
但這并不代表UEFI不會(huì)自檢!出問題的時(shí)候會(huì)檢一下
詳細(xì)可以看看這篇文章:https://www.zhihu.com/question/28815746
2.???? 砍掉了MBR轉(zhuǎn)而使用了GPT
UEFI拋棄了傳統(tǒng)的主引導(dǎo)記錄(MBR),引進(jìn)了GUID分區(qū)表(GPT)的概念,看看GPT的結(jié)構(gòu):


(這是網(wǎng)上找的圖但我忘了出處可惡?。?/span>
可以看到,GPT沒了記錄總扇區(qū)的位置,取而代之的是記錄結(jié)束扇區(qū)的位置,稍加計(jì)算可以得到GPT下單個(gè)分區(qū)的大小最大可以達(dá)到驚人的18EB!
要是我有18EB的硬盤那該有多爽
3.???? 砍掉了16位實(shí)模式
UEFI只在32位/64位的環(huán)境下運(yùn)行
4.???? 采用了EFI字節(jié)碼
類似Java,UEFI的驅(qū)動(dòng)編譯出來是一堆EFI字節(jié)碼,它需要在一個(gè)叫做DXE
(Driver eXecution Environment,驅(qū)動(dòng)執(zhí)行環(huán)境)的環(huán)境下運(yùn)行。
DXE會(huì)在一開始的初始化的環(huán)節(jié)下加載(回去看UEFI啟動(dòng)流程的那張圖)
5.???? 更多的接口
UEFI提供了更多的接口,支持圖形界面、鼠標(biāo)操作之類的東西(不信你看看現(xiàn)在的UEFI BIOS)
?

這篇專欄到這里就結(jié)束了
以上都是UP自己學(xué)習(xí)的見解,歡迎到評(píng)論區(qū)發(fā)表意見,讓我們友善討論!