題 “Boot with BIOS”和“Boot with UEFI”有什麼區別


現在Windows 8支持UEFI引導加載程序,我已經讀過它與BIOS不同,但在Google上進行多次搜索之後,我不清楚它。

有些要點如下: -

  • 眾所周知,BIOS是訪問啟動選項的重要部分。那麼UEFI現在會這樣做嗎?怎麼樣?

  • 我怎麼知道我用UEFI而不是用BIOS啟動?

  • 那麼“使用BIOS啟動”和“使用UEFI啟動”的真正區別是什麼?


109
2017-10-30 07:42


起源




答案:


  • 眾所周知,BIOS是訪問啟動選項的重要部分。那麼現在UEFI會這樣做嗎?怎麼樣?

BIOS通過讀取硬盤上的第一個扇區並執行它來啟動;此引導扇區依次定位並運行其他代碼。由於空間限制和BIOS運行16位代碼,BIOS系統非常有限,而現代計算機使用32位或64位CPU。相比之下,EFI(或UEFI,它只是EFI 2.x)通過加載EFI程序文件(使用 .efi 文件擴展名)來自硬盤上的分區,稱為EFI系統分區(ESP)。這些EFI引導加載程序可以利用EFI引導服務來處理從硬盤讀取文件等內容。

實際上,如果您使用的Linux操作系統具有復雜的BIOS模式啟動加載程序,那麼EFI模式啟動可能類似於BIOS模式啟動,因為GRUB 2(最流行的BIOS模式啟動加載程序) for Linux)已被移植到EFI下工作,許多Linux發行版默認在EFI系統上安裝GRUB 2。 OTOH,您可以用其他EFI引導加載程序替換或補充GRUB 2。實際上,Linux內核本身可以是EFI引導加載程序;添加了代碼以使用3.3.0內核執行此操作。以這種方式使用,EFI本身加載並運行Linux內核,或者您可以使用第三方引導管理器 rEFInd 要么 gummiboot 讓您選擇要引導的操作系統或內核。

  • 我怎麼知道我用UEFI而不是用BIOS啟動?

正如Root所說,固件的用戶界面中有線索;然而,這些是不可靠的,並且因計算機而異。唯一可以確定的方法是檢查計算機是如何啟動的。例如,在Linux中,存在一個名為的目錄 /sys/firmware/efi 是診斷。如果存在,則以EFI模式啟動;如果它不存在,你就是 大概 在BIOS模式下啟動。 (但在某些情況下,此目錄在EFI模式啟動時可能不存在。) dmesg 引用EFI的輸出也是EFI模式引導的診斷。在Windows中,分區表  磁盤是診斷;如果是GPT,則以EFI模式啟動,如果是MBR,則以BIOS模式啟動。

  • 那麼“使用BIOS啟動”和“使用UEFI啟動”的真正區別是什麼?

EFI  更快,但這不確定。最大的速度差異在於過程早期的硬件初始化。在我的系統上,這只是總啟動時間的一小部分,因此減少硬件初始化時間雖然好,但並不能  差別很大。畢竟,這並不像我每十分鐘重啟一次。

UEFI支持一個名為的功能 安全啟動 顧名思義,這是為了提高安全性。它通過要求引導加載程序的數字“簽名”來實現這一點,而這又需要簽署內核,依此類推。這應該使惡意軟件作者更難將其代碼插入預啟動過程,從而提高安全性。這聽起來不錯,但它也使雙啟動配置變得複雜,因為必須簽署像GRUB和Linux內核這樣的代碼。主要的Linux發行商正在研究如何使這些需求減輕普通Linux用戶的負擔,並且他們已經準備好了一些初步的東西。但是,目前,禁用安全啟動是最簡單的處理方式。這是一個實際問題,主要針對Windows 8附帶的全新計算機,因為Microsoft要求啟用Secure Boot以獲得Windows 8認證。有些人混淆了UEFI和安全啟動(後者只是前者的一個特性),但值得一提的是BIOS和UEFI之間的區別,因為它給新的Windows 8計算機帶來了一些問題。如果您有一個較舊的系統或足夠舒適的固件設置實用程序來禁用安全啟動,這不一定是一個真正的問題。

Microsoft將引導磁盤的分區表類型與固件類型(MBR到BIOS; GPT到UEFI)聯繫起來。由於MBR最高為2TiB(假設標準扇區大小),這意味著UEFI是在超過2TiB磁盤上啟動Windows的實際必需品。但是,您仍然可以在Windows下使用如此大的磁盤作為數據磁盤,並且可以在BIOS下使用GPT在大磁盤上啟動一些非Microsoft操作系統(如Linux和FreeBSD)。

如果您關注UEFI或對UEFI感興趣,那麼最大的問題就是UEFI足夠新,對它的支持有點不穩定,特別是在一些較舊且更具異國情調的操作系統中。 UEFI本身是新的,它的大多數實現都是錯誤的,而那些在它們之間變化不足以至於通常難以描述的東西。因此,使用UEFI可能是一個挑戰。 OTOH,UEFI  未來。它有一些適度的優勢,其中一些將在時間上變得更加重要(例如Windows的2TiB啟動盤限制)。切換到UEFI引導將改變引導過程的一些細節,但是一旦克服了可能遇到的任何引導問題,您的整體計算體驗將不會發生太大變化。


編輯:

你可以擴展OpRom設置(Option Rom)。它們似乎允許您在UEFI引導或“Legacy”引導之間進行選擇,它們適用於視頻卡,網卡和各種其他PCI設備。

許多插卡提供與主板上的固件接口的固件。如果卡的固件有任何好處,這兩種類型的固件必須能夠“通話”。這是在操作系統啟動之前使用卡的必要條件 - 例如,在視頻卡上顯示固件選項或啟動管理器菜單,通過網卡執行網絡啟動,或從連接到的硬盤啟動磁盤控制器卡。

就像啟動加載器一樣,插件設備的固件中的代碼被寫入與BIOS或EFI的接口(儘管插件卡可以支持兩者,如果我沒有弄錯的話)。正如您所觀察到的,一些EFI提供了在細粒度基礎上啟用或禁用此支持的選項。在某些情況下,EFI可以使用卡的BIOS模式支持,通過“翻譯”呼叫使其能夠在EFI模式下工作。 (例如,這種情況在視頻卡中很常見;您經常可以在其固件中插入一個只有BIOS支持的舊視頻卡,並且仍然可以使用它在EFI模式下啟動。)

我不確切地知道你注意到的每個設置是做什麼的。例如,我不知道其中一個選項的“僅BIOS”是否會使該卡僅在BIOS模式下工作,“翻譯”以便EFI可以在EFI模式下使用BIOS模式調用,或其他。事實上,鑑於其他EFI用戶界面區域缺乏標準,我希望EFI與另一個EFI的細節不同,因此如果您需要了解詳細信息,可能需要查閱計算機的文檔或實驗。我在兩個不同的菜單中看到一些計算機具有非常相似的聲音選項,這使問題更加複雜。


125
2017-11-06 23:17



如果硬盤同時具有BIOS啟動分區和EFI系統分區,這是否意味著可以在BIOS模式和EFI模式下啟動此硬盤?那麼硬盤是“啟動模式”不可知的嗎?我在gdisk教程上看到,它設置了BIOS啟動分區和EFI系統分區。在其他情況下,有些人說你可能需要 /boot 在另一個分區上,(主要是因為我正在嘗試使用ZFS)。如何協調RAIDED /boot BIOS啟動分區和EFI系統分區? - CMCDragonkai
磁盤可以同時具有ESP和BIOS引導分區。使用後者 只要 通過GRUB,所以即使沒有後者,磁盤也可以在EFI和BIOS中啟動,具體取決於使用的​​啟動加載程序。一個單獨的Linux /boot 分區通常存在 外 一個RAID陣列。無論引導模式如何,引導加載程序都必須能夠讀取內核,並且大多數引導加載程序都無法處理軟件RAID。 (據說GRUB可以這樣做,但很少有人會嘗試。) - Rod Smith
我需要使用軟RAID /boot 因為ZFS不能擁有 /boot 在上面。我在Linux郵件列表上詢問了ZFS。 - CMCDragonkai
所以,如果我有一個單獨的 /boot 軟RAID上的分區,應安裝哪一個 /boot?它應該是EFI系統分區還是RAID md0? - CMCDragonkai
CMCDragonkai:我建議你問一個關於你的ZFS和的新問題 /boot 問題。 - Rod Smith


  • 眾所周知,BIOS是訪問啟動選項的重要部分。   那麼現在UEFI會這樣做嗎?怎麼樣?

UEFI是一種跨平台固件接口,可替代名為BIOS的x86特定固件標準。許多UEFI實現還包括BIOS兼容性/“遺留”模式,以實現從MBR啟動並向OS提供類似BIOS的接口;但是,標準不要求這樣做。

  • 我怎麼知道我用UEFI而不是用BIOS啟動?

如果您的UEFI兼容主板提供兼容性/傳統BIOS啟動,則其固件菜單將提供選項,例如設置默認啟動模式,甚至在UEFI或BIOS模式下啟動單個設備: 否則,可能沒有一種簡單的方法可以說明,使用OS探測固件。

  • 那麼“使用BIOS啟動”和“使用BIOS啟動”的真正區別是什麼   UEFI“?

有很多不同之處:

  • UEFI定義了類似於BIOS的類似OS固件接口,但並不特定於任何處理器架構。 BIOS特定於Intel x86處理器架構,因為它依賴於x86處理器支持的16位“實模式”接口。
  • UEFI可以配置為加快啟動過程的各個部分,例如, 技嘉GA-EP45-DS3上的UEFI在19秒內對BIOS進行了11秒的初始化
  • UEFI模式可以向與BIOS模式相同的安裝的OS提供不同的固件/硬件特徵。

看到 有關UEFI的更多信息


21
2017-10-30 07:50



並不總是可以分辨出什麼 實際 引導模式僅基於固件設置,因為大多數EFI依賴基於磁盤的因素以及固件設置來確定引導模式。這種基於磁盤的因素包括分區表類型,MBR中的“引導/活動”標誌設置,EFI系統分區的存在/不存在或其中的文件等。要確定的唯一方法是在您啟動的操作系統中檢查EFI模式或BIOS模式啟動的跡象,這些跡像是特定於操作系統的。 - Rod Smith
不,UEFI並非“在傳統BIOS之上實現”。 UEFI是一種替換名為BIOS的舊類型的固件。它可能包括兼容性/傳統模式,使其能夠從BIOS樣式的MBR啟動,並向需要其的操作系統提供BIOS等效接口,但這並不意味著它下面有BIOS。 - underscore_d
P0 / P1 / P2在您的圖像中的含義是什麼? - CMCDragonkai
圖像鏈接已斷開 - Dan Dascalescu
@underscore_d,那裡 是 在傳統BIOS上運行的EFI實現。我寫了一篇關於 技嘉“混合EFI”在這裡。 我對它的體驗非常消極。還有 苜 和 DUET, 它在基於BIOS的標準計算機上像啟動加載器一樣運行,使它們能夠運行EFI模式引導加載程序和操作系統。但是Clover和DUET在技術上不是固件,所以我不確定它們真的算數。 - Rod Smith


問:眾所周知,BIOS是訪問啟動選項的重要部分。那麼現在UEFI會這樣做嗎?怎麼樣?

答:這是對條款的混淆。例如。 “進入BIOS以更改blabla。”政治上正確的術語是您輸入的“固件設置實用程序”。如果你談論“BIOS”與“UEFI”對比,它指的是其他東西,即:啟動執行環境。

因此,如果您的意思是設置實用程序,那麼a)不要將其稱為UEFI和b)它與以前基本相同。

setup-utility如何與硬件通信,它的永久存儲是固件私有的。所以也沒有改變。

問:那麼“使用BIOS啟動”和“使用UEFI啟動”的真正區別是什麼?

答:啟動加載器發現自己的環境是不同的。使用UEFI,該環境更清晰,更現代,功能更豐富。


7
2017-07-28 15:58