对于 64 位版本的 Windows NT 5.x,EFI 引导加载程序是
\EFI\Microsoft\WINNT50\IA64LDR.EFI,或者有时是
\EFI\Microsoft\WINNT50C\IA64LDR.EFI. 它包括 NTLDR,即从 Windows 启动卷中的文件加载和执行 Windows NT 内核的 Windows NT 启动加载程序。
对于 Windows NT 6,EFI 引导加载程序是\EFI\Microsoft\Boot\Bootmgfw.efiMicrosoft 引导管理器,它是第二个引导管理器,它可以再次显示第二个引导选项菜单,列出更多要调用的引导加载程序和传递给它们的选项。
对于 64 位版本的 Linux,EFI 引导加载程序是
\EFI\RedHat\elilo.efi或\EFI\SuSE\elilo.efi,它是 LILO 的修改版本,Linux 引导加载程序从系统卷中的文件加载和执行 Linux 内核。
ELILO 与 Microsoft 引导管理器一样,包含第二级引导选项,保存在单独的elilo.conf配置文件中,而不是将对此类多个引导选项的支持集成到 EFI 引导加载程序和 EFI 变量中。
有许多EFI 引导加载程序,就像有许多 BIOS 引导加载程序一样。但他们的名字往往完全相同。
在 Windows Vista 及更高版本中:
启动管理器(显示启动菜单)称为“Windows 启动管理器”。它的文件名在 BIOS (
BOOTMGR
) 和 UEFI (Bootmgfw.efi
) 之间有所不同,但在这两种情况下都称为 Windows 启动管理器。引导加载程序(从引导菜单启动,实际上是启动 Windows)称为“Windows 引导加载程序”或 WINLOAD.EXE。两种模式最终都会到达相同的引导加载程序。
在 Windows XP(不支持 UEFI,但支持 Itanium EFI)中:
在 Linux 上,有多个可用的引导管理器和引导加载程序:
GRUB 2.x 支持 BIOS 和 UEFI 系统,在这两种情况下都称为“GRUB 2”。
Syslinux 也支持这两种模式。UEFI 版本的 Syslinux 仍然被称为“Syslinux”。
有一些仅 BIOS 的引导管理器/加载程序(例如 LILO、GRUB 0.x)和一些仅 UEFI 的(例如 systemd-boot、rEFInd、eLILO、efilinux)。
“MBR”(主引导记录)同时包含两件事:前 440 个字节中的 BIOS 引导代码,以及剩余 72 个字节中的分区表。
相反,引导代码并不直接保存在 GPT 中——GPT只是分区表。相反,EFI 系统有一个指定的系统分区 (ESP),其中引导代码存储为常规文件。
因此,无论是 GPT 还是 ESP 都无法自己真正开始任何事情。相反,EFI 固件直接从 ESP启动特定文件。
EFI Boot Loader 没有具体的名称,因为这样的引导加载程序实际上并不存在。
EFI 上的引导涉及固件中内置的引导管理器。EFI 系统根本不依赖存储在引导记录(VBR 或 MBR)中的引导程序。固件知道如何读取分区表并理解 FAT 文件系统格式,这是 IBM PC 兼容固件无法做到的,需要为此加载程序。
使用 FAT 文件系统格式格式化并使用特定的众所周知的分区类型标识的指定分区称为 EFI 系统分区,固件知道如何找到该分区。
EFI 系统分区是一个真正的系统卷,它在分区表中由其类型代码标识,无需像微软的系统保留分区那样猜测。它包含特定的引导加载程序,它们是由 EFI 引导管理器加载和运行的 EFI 可执行程序。
EFI 可执行程序是独立程序,仅使用机器固件服务并且不需要底层操作系统即可运行。它们可以是操作系统引导加载程序或“预引导”维护/诊断程序。按照惯例,所有操作系统的所有引导加载程序都存储在 EFI 系统分区中特定于供应商的
\EFI\
目录子目录中。对于 64 位版本的 Windows NT 5.x,EFI 引导加载程序是
\EFI\Microsoft\WINNT50\IA64LDR.EFI
,或者有时是\EFI\Microsoft\WINNT50C\IA64LDR.EFI
. 它包括 NTLDR,即从 Windows 启动卷中的文件加载和执行 Windows NT 内核的 Windows NT 启动加载程序。对于 Windows NT 6,EFI 引导加载程序是
\EFI\Microsoft\Boot\Bootmgfw.efi
Microsoft 引导管理器,它是第二个引导管理器,它可以再次显示第二个引导选项菜单,列出更多要调用的引导加载程序和传递给它们的选项。对于 64 位版本的 Linux,EFI 引导加载程序是
\EFI\RedHat\elilo.efi
或\EFI\SuSE\elilo.efi
,它是 LILO 的修改版本,Linux 引导加载程序从系统卷中的文件加载和执行 Linux 内核。ELILO 与 Microsoft 引导管理器一样,包含第二级引导选项,保存在单独的
elilo.conf
配置文件中,而不是将对此类多个引导选项的支持集成到 EFI 引导加载程序和 EFI 变量中。对于 Apple,固件忽略了其 Intel Macintoshes 上的大部分 EFI 规范。EFI 系统分区为空且未使用,并且 EFI 引导管理器被在其之前执行的 Apple 引导加载程序所掩盖。
有关更多信息,请参阅: