安装Ubuntu后,/ efi / UBUNTU / EFI系统分区内有几个* .efi文件:
但UEFI规范2.7在“13.3.1.3目录结构”部分中说明:
每个供应商子目录中的每个受支持的处理器体系结构也必须只有一个可执行的EFI映像。这可以保证EFI Boot Manager只能从供应商子目录中加载一个映像。如果存在多个可执行EFI映像,则系统的引导行为将不具有确定性。
我将明确GRUB的5个EFI可执行文件的启动行为。
UEFI固件通常会查看/boot/efi/EFI/BOOT/
文件夹以获取相应的EFI可执行文件。它查找的可执行文件的名称取决于系统的体系结构。对于x86_64体系结构,该文件是BOOTX64.EFI
此文件实际上是位于/boot/efi/EFI/ubuntu/
文件夹中的EFI可执行文件之一的副本。在我的情况下,/boot/efi/EFI/BOOT/BOOTX64.EFI
是/boot/efi/EFI/ubuntu/shimx64.efi
的副本。
有关更详细的说明,请参阅UEFI boot: how does that actually work, then?和The EFI System Partition and the Default Boot Behavior。
要了解为什么/boot/efi/EFI/ubuntu/
中存在所有这些其他EFI可执行文件,请参阅ubuntu wiki上的SecureBoot。