热门问题
时间线
聊天
视角

EFI系統分區

来自维基百科,自由的百科全书

Remove ads

EFI系統分區(英語:EFI system partition,簡寫為ESP),是一個FATFAT32格式的磁碟分區,但是其分區標識是EF (十六進制) 而非常規的0E0CUEFI韌體可從ESP載入EFI啟動程式或者EFI應用程式。

概覽

EFI系統分區的檔案系統基於FAT檔案系統[1][2][3]。在GUID分區表(GPT)方案中,EFI系統分區的全域唯一識別碼(GUID)是C12A7328-F81F-11D2-BA4B-00A0C93EC93B,而其在主開機紀錄(MBR)分區表方案中的識別碼是0xEF。GPT分區和MBR分區的磁碟都可以包含一個EFI系統分區,因為需要UEFI韌體來支援這兩種分區方案。此外,EFI分區還支援光碟和DVD的El Torito引導格式[4]

在Legacy BIOS中,一個分區的第一個磁區被載入到記憶體中。UEFI韌體不執行MBR中的代碼,除非通過CSM(相容性支援模組)在Legacy BIOS模式下啟動[4]

UEFI規範要求完全支援MBR分區表。一些UEFI實現在檢測到引導磁碟上的某些類型的分區表時,會立即切換到BIOS的CSM引導。這樣如果EFI分區位於MBR分區表中,UEFI引導會被阻止[5]

UEFI韌體提供了對從抽取式儲存裝置(如USB手指)啟動的支援[4]。如果要使用這項功能,抽取式裝置需要採用FAT12FAT16FAT32檔案系統進行格式化,而引導載入程式要麼根據標準的ESP檔案階層存放在EFI分區中,要麼必須向系統引導管理器提供引導載入器的完整路徑。固定驅動器上永遠只應該使用FAT32格式[4]

Remove ads

應用

Linux 使用GRUB2作為成熟的UEFI啟動程式。UEFI韌體將他們載入以後,它們可以從它們支援的所有裝置、分區和檔案系統訪問和引導內核映像,不再受EFI分區的限制。

因為EFI引導存根的存在,不使用傳統UEFI引導載入程式的情況下也可以引導一個Linux內核映像。通過將自己偽裝成PE/COFF映像,並在韌體中顯示為UEFI應用程式,啟用了EFI啟動存根的x86內核映像可以由UEFI韌體直接載入和執行。這種內核映像仍然可以由BIOS的引導載入程式載入和執行;因此,EFI引導存根允許單個內核映像在任何引導環境中工作。

在內核構建組態期啟用選項CONFIG_EFI_STUB (EFI存根支援),可以啟用Linux內核對EFI引導存根的支援[6]。它被合併到2012年3月18日發布的3.3版Linux內核主線代碼中[7]Gummiboot (又名system-boot)是一個簡單的UEFI引導管理器,它載入並執行組態好的UEFI映像,只訪問EFI系統分區。設定檔片段、內核映像和initrd映像需要駐留在EFI系統分區上,因為Gummiboot不支援訪問其他分區或檔案系統上的檔案。Linux內核需要在啟用CONFIG_EFI_STUB的情況下構建,以便它們可以作為UEFI映像直接執行[8]

EFI分區的掛載點通常是/boot/efi,在Linux啟動後可以訪問它的內容[9]

Remove ads

在不同作業系統下的可見性

  • Windows:一般是不可見的。在磁碟管理程式中可以顯示,亦能透過mountvol <要指定的磁碟區代號>: /s來分配磁碟機代號,但在Windows檔案總管下不會顯示,只能透過命令列存取分區內的檔案。
  • Linux發行版:視同普通分區,可使用mount程式直接掛載其對應的塊裝置。一般掛載於/boot/efi目錄下。

檔案系統

UEFI韌體僅支援FATFAT32檔案系統的EFI系統分區,因此用戶須將EFI系統分區格式化為上述檔案系統,否則將無法被辨識。

參考來源

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads