热门问题
时间线
聊天
视角

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固件提供了對從可移動存儲設備(如U盤)啟動的支持[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 related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads