OS启动分区下的UEFI文件
CentOS7.6实例
Ubuntu20.04实例
文件作用
1、BOOTX64.EFI:定义了UEFI启动后将通过Bootx64.efi 引导你的计算机,并进入各种模式,维护、安装、计算机或者系统。这里是 Bootx64.efi ,它只是一个通用名,权限丰富且大于Windows 默认,就是说如果你的Windows 默认的启动文件不在了,启动计算机默认的引导文件Bootx64.efi也是可以启动计算机的。使用计算机默认文件随时可以在各种环境下启动计算机,EFI SHELL、ISO、Windows、Linux...都可以,通吃型。bootx64.efi 是计算机默认引导文件,bootmgfw.efi 是 Windows默认引导文件(bootmgfw.efi 不是通用名,只适合启动Windows)。
2、fbx64.efi:为了解决NVRAM条目丢失问题,Linux开发人员创建了一个程序,最初称为fallback.efi,但很少使用该名称进行安装,该程序通常作为shim或shim-signed包的一部分提供,并且经常作为fbx64.efi出现在 Linux 文件系统中。它可以使用EFI/BOOT/bootx64.efi的后备文件名安装到EFI系统分区(ESP);或者它可以安装为EFI/BOOT/fbx64.efi,安全启动管理器 Shim 安装为EFI/BOOT/bootx64.efi。(当然,在 IA32、AARCH64 和其他体系结构上,所有这些文件名都进行了适当调整。)在图片中使用 Shim 时,它交给fbx64.efi,所以你可以假装它是直接启动的。任何文件名下,fallback.efi都是一种启动管理器——但它不会显示启动选项菜单,而是扫描自己磁盘上EFI的子目录,以查找名为BOOT.CSV、BOOTX64.CSV或其他特定架构的文件该文件名的变体详见 Managing EFI Boot Loaders for Linux: Using fallback.efi
3、shim: 第一阶段 UEFI 引导加载程序。一个相对简单的程序,它提供了一种在激活安全启动的情况下在计算机上启动的方法。如EFI 引导加载程序安装页面中所述。Shim 的第一个版本将它们的二进制文件称为shim.efi,但几年来,shimx64.efi一直是x 86-64 系统上更常见的名称 。Shim 旨在启动 GRUB2,但它可以启动其他引导加载程序,只要它们被命名为grubx64.efi。具体见:GitHub - rhboot/shim: UEFI shim loader
4、mmx64.efi:与 shim 一起安装 MokManager。该程序应该与 Shim 一起提供,并且应该以MokManager.efi(对于非常旧的版本)或mmx64.efi(或非x 86-64 系统的变体;在最新版本中使用的名称)的名称驻留在与 Shim 二进制文件相同的目录。顾名思义,该程序管理 MOK(机器所有者密钥 ( MOK )是一种由用户生成并用于签署 EFI 二进制文件的密钥)。
5、grubx64.efi:在EFI系统分区(ESP)上是GRUB二进制文件,EFI/ubuntu/shimx64.efi
是填充程序的二进制文件。开启了UEFI的计算机上,将不会启动GRUB的未签名版本,并且不可能使用Microsoft的密钥对GRUB进行签名,因此shim弥补了这一空白,并添加了与Secure Boot相似的安全工具。实际上,shim向固件进行注册,然后在启动grubx64.efi
它的目录中启动一个程序,因此在没有安全启动的计算机(例如Mac)上,启动shimx64.efi
就像启动一样grubx64.efi
。在启用了安全启动的计算机上,启动shimx64.efi
应导致GRUB启动,而启动grubx64.efi
直接可能行不通。
efibootmgr
作用:用来管理efi启动项[添加、删除、改变顺序]
安装:centos: yum install efibootmgr -y ubuntu: apt-get install efibootmgr
用法:efibootmgr --help