【发布时间】:2020-10-11 11:42:30
【问题描述】:
我正在开发一个兼容 multiboot2 的微型 x86 64 位内核,内核由 Grub 加载和启动。要求是,一旦内核完成其活动,它需要重新启动 Grub。在非基于 UEFI 的系统中,我们过去常常通过将处理器带回实模式跳转到地址 0x7c00 来实现这一点。
对于 UEFI 系统,我试图了解类似的方法是否可行,我认为一种可能的方法是使用 EFI 引导服务表中的 EFI_IMAGE_LOAD 和 EFI_IMAGE_START 例程从内核重新加载 Grub。我对 UEFI 内部的了解非常有限,如果有人能确认这种方法是否有效,将会非常有帮助。
【问题讨论】: