我的ESP看起来像这样
Boot Dell fedora Microsoft
在Boot目录中,它们是一个名为boot-loader的启动器bootx64.efi
,我知道它是首先启动的默认启动器。但是在fedora目录中,还有一个名为的引导加载程序(grub2)grubx64.efi
。
每个引导加载程序的功能是什么?哪个提供boot-menu
?
我的ESP看起来像这样
Boot Dell fedora Microsoft
在Boot目录中,它们是一个名为boot-loader的启动器bootx64.efi
,我知道它是首先启动的默认启动器。但是在fedora目录中,还有一个名为的引导加载程序(grub2)grubx64.efi
。
每个引导加载程序的功能是什么?哪个提供boot-menu
?
Answers:
bootx64.efi
不首先开始。大多数情况下,它根本不会开始。
EFI固件具有自己的“启动菜单”,类似于GRUB所提供的菜单,但处于启动过程的早期。就像GRUB允许您选择要运行的Linux内核一样,EFI引导菜单也可以选择要运行的EFI引导程序-选择可以是GRUB本身,也可以是Windows引导程序。(而且,就像GRUB的菜单一样,默认情况下通常不会显示EFI引导菜单;您必须在启动过程中按热键才能看到它。)
EFI引导菜单中的条目由存储在主板NVRAM中的配置数据(“ BIOS设置”内存)定义。此配置未存储在文件中,但是在Fedora中,您应该可以使用该efibootmgr
程序查看它。每个条目都有一个易于理解的名称(显示在菜单中)和EFI系统分区中引导程序的路径,以及一个优先级数字,该优先级数字确定当您不按热键时默认启动的条目看菜单。
这些NVRAM引导项(通常)是由操作系统安装程序创建的。当您安装操作系统并将引导加载程序文件放置在EFI系统分区中时,它还会向NVRAM配置中添加一个条目,以便新的引导加载程序将在EFI引导菜单中可用。(在许多情况下,它还会使该新条目成为默认条目,以便您刚安装的操作系统将自行启动,而无需打开EFI引导菜单并手动选择它。)
如果Boot/bootx64.efi
尚未为EFI配置任何引用磁盘上其他启动程序的NVRAM启动条目,则该程序是一个后备程序。这对于可启动媒体(如可启动CD和USB驱动器)很重要,但是在硬盘驱动器上,通常不使用它。Windows安装程序会创建a Boot/bootx64.efi
作为故障保护;它只是Microsoft/Boot/bootmgfw.efi
(至少在Windows 7中;我不知道其他版本)的副本。
在我的系统上,我已经用EFI Shellbootx64.efi
的副本代替了Microsoft ,因此,如果我以某种方式发现自己没有任何NVRAM引导项,并且实际上依靠后备引导加载程序,那么我将进入一个可以检查情况的shell并手动运行其他启动程序之一,而不是让系统自动启动Windows。(我还在GRUB菜单中为其添加了一个条目,以便即使系统运行正常也可以选择启动EFI Shell。)