热门问题
时间线
聊天
视角
EFI系統分區
来自维基百科,自由的百科全书
Remove ads
EFI系統分區(英語:EFI system partition,簡寫為ESP),是一個FAT或FAT32格式的磁碟分區,但是其分區標識是EF
(十六進制) 而非常規的0E
或0C
。UEFI韌體可從ESP載入EFI啟動程式或者EFI應用程式。
![]() | 此條目可參照英語維基百科相應條目來擴充。 (2018年5月15日) |
概覽
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]。如果要使用這項功能,抽取式裝置需要採用FAT12、FAT16或FAT32檔案系統進行格式化,而引導載入程式要麼根據標準的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
在不同作業系統下的可見性
檔案系統
UEFI韌體僅支援FAT或FAT32檔案系統的EFI系統分區,因此用戶須將EFI系統分區格式化為上述檔案系統,否則將無法被辨識。
參考來源
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads