UEFI 的引导加载程序是什么?

UEFI 的引导加载程序是什么?

我知道 MBR 引导加载程序,MBR 引导加载程序必须将计算机切换到保护模式(作为规则)并将控制权传递给操作系统内核,例如这里。但什么是 UEFI 引导加载程序?正如我所读到的,UEFI 是一个微系统(类似于 BIOS,但它可以做更多的事情)。但是 Bootloader 在 UEFI 情况下会做什么呢?
我尝试阅读有关它的内容操作系统开发维基但不幸的是,我几乎什么也没得到……也许是因为我的英语很差。

有人可以向我解释一下 UEFI 引导加载程序加载操作系统内核并将控制权传递给它的一般步骤吗?我找不到样品。

聚苯乙烯当然,所有操作系统都与计算机体系结构不同,但我指的是具有 64 位或 32 位操作系统内核的 x86_64 体系结构。

答案1

UEFI 不能有额外的引导加载程序(或引导管理器),因为固件本身扮演引导加载程序的角色(至少运行一些其他引导加载程序/引导管理器);到目前为止,我见过的大多数都缺乏 bootmanager(“启动菜单:...”)的角色——或者发挥得很糟糕。

靴子加载器可以加载并运行下一阶段的可执行文件(另一个引导加载程序、引导管理器、内核或例如 memtest86);在 UEFI SecureBoot 情况下,它还负责在固件中运行二进制文件的签名验证挂钩。

靴子经理可以读取一些预配置的菜单或扫描可用的文件系统和启动目标(或者两者都做重新寻找)以便向用户提供一个菜单以供选择。

在“微不足道”的情况下,可以启动一个由 UEFI 固件编译CONFIG_EFI_STUB=y\EFI\BOOT\bootx64.efi直接放入 x86_64 系统的 FAT32 EFI 系统分区的 Linux 内核,尽管发行版似乎不支持这一点,而是倾向于使用 grub2。

Artem 给了你几乎正确的链接,你真正需要的是 Rod 的优秀链接管理 Linux 的 EFI 引导加载程序:基本原则

PS: возможно, пригодится替代疗法救援:)

相关内容