EFI 開機載入程式有具體名稱嗎?

EFI 開機載入程式有具體名稱嗎?

EFI Boot Loader 沒有特定的名稱嗎?

如在視窗 BIOS主開機記錄,NTLDR是引導程式和Linux主開機記錄這是GRUB對於 LINUX EFI 來說是 GRUB 2

UEFI 模式下流程從哪裡開始?是ESP先執行EFI Boot Loader然後再執行? GPT 的作用介於兩者之間嗎?

答案1

EFI Boot Loader 沒有具體的名稱,因為這樣的 bootloader 並不真正存在。

EFI 上的開機涉及一個開機管理器內建於韌體中。 EFI 系統根本不依賴儲存在開機記錄(VBR 或 MBR)中的開機程式。韌體知道如何讀取分割區表並理解 FAT 檔案系統格式,而 IBM PC 相容韌體無法做到這一點,需要為此載入程式。

使用 FAT 檔案系統格式進行格式化並使用特定的眾所周知的分割區類型進行識別的指定分割區稱為 EFI 系統分割區,韌體知道如何找到該分割區。

EFI 系統分割區是真正的系統卷,由分割表中的類型代碼來標識,無需像 Microsoft 的系統保留分割區那樣進行猜測。它包含特定的引導程序,這些程序是由EFI引導管理器載入和執行的EFI可執行程序。

EFI 可執行程序是獨立程序,僅使用機器韌體服務,不需要底層作業系統即可運作。它們可以是作業系統引導程式或「預先引導」維護/診斷程式。依照慣例,所有作業系統的所有開機載入程式都儲存在 EFI 系統分割區中特定於供應商的目錄子目錄中\EFI\

對於 64 位元版本的 Windows NT 5.x,EFI 引導程式是 \EFI\Microsoft\WINNT50\IA64LDR.EFI,或有時是 \EFI\Microsoft\WINNT50C\IA64LDR.EFI。它由 NTLDR 組成,即 Windows NT 開機載入程序,用於從 Windows 開機磁碟區中的檔案載入並執行 Windows NT 核心。

對於 Windows NT 6,EFI 引導程式是\EFI\Microsoft\Boot\Bootmgfw.efiMicrosoft 引導管理器,它是第二個引導管理器,可能會再次顯示第二個引導選項選單,列出更多要呼叫的引導程式以及要傳遞給它們的選項。

對於 64 位元版本的 Linux,EFI 開機載入程式是 或 \EFI\RedHat\elilo.efi\EFI\SuSE\elilo.efi它是 LILO 的修改版本,Linux 引導程式從系統磁碟區中的檔案載入並執行 Linux 核心。

ELILO 與 Microsoft 啟動管理器一樣,包含第二級啟動選項,保存在單獨的elilo.conf設定檔中,而不是將對此類多個啟動選項的支援整合到 EFI 啟動載入程式和 EFI 變數中。

對於 Apple 來說,韌體忽略了其 Intel Macintoshes 上的大部分 EFI 規範。 EFI 系統分割區是空的且未使用,且 EFI 啟動管理員會被在其先前執行的 Apple 啟動載入程式所遮蔽。

欲了解更多信息,請參閱:

答案2

EFI Boot Loader 沒有特定的名稱嗎?

許多EFI 開機載入程序,就像有許多 BIOS 開機載入程式一樣。但他們的名字往往完全相同。

在 Windows Vista 及更高版本中:

  • 啟動管理器(顯示啟動選單)稱為「Windows 啟動管理器」。 BIOS ( BOOTMGR) 和 UEFI ( Bootmgfw.efi) 之間的檔案名稱有所不同,但在這兩種情況下都稱為 Windows 啟動管理員。

  • 引導程式(從開機選單啟動,實際上啟動 Windows)稱為「Windows 開機載入程式」或 WINLOAD.EXE。兩種模式最終都會到達相同的引導程式。

在 Windows XP 中(不支援 UEFI,但支援 Itanium EFI):

  • BIOS 開機載入程式/開機管理員稱為「NTLDR」。
  • EFI 開機載入程式儲存在檔案「IA64LDR.EFI」中。

在 Linux 上,有多個可用的引導管理器和開機載入程式:

  • GRUB 2.x 同時支援 BIOS 和 UEFI 系統,在這兩種情況下稱為「GRUB 2」。

  • Syslinux 也支援這兩種模式。 UEFI版本的Syslinux仍稱為「Syslinux」。

  • 有些開機管理員/載入程式僅適用於 BIOS(例如 LILO、GRUB 0.x),而有些開機管理員/載入程式僅適用於 UEFI(例如 systemd-boot、rEFInd、eLILO、efilinux)。

UEFI 模式下流程從哪裡開始?是ESP先執行EFI Boot Loader然後再執行? GPT 的作用介於兩者之間嗎?

「MBR」(主開機記錄)同時包含兩件事:前 440 位元組中的 BIOS 開機程式碼,以及剩餘 72 位元組中的分割區表。

相反,啟動代碼並不會直接保存在 GPT 中 – GPT 是僅有的分區表。相反,EFI 系統有一個指定的系統分割區(ESP),其中引導程式碼作為常規檔案儲存。

因此,GPT 和 ESP 都無法自行啟動任何事情。相反,EFI韌體直接啟動特定文件來自ESP。

相關內容