如何使.efi程序在启动时执行



我已经使用Edk2编写了一个.efi可执行文件,并且能够在UEFI Shell中成功执行该文件。我正试图让我的文件在我的设备启动时执行,该设备正在运行Ubuntu。

有什么方法可以实现这个目标吗?

我知道实现这一点的两种方法。

BOOTX64.EFI

注意:我假设我们使用标准的x86 64位平台

在EFI分区中创建文件夹EFIboot。将EFI应用程序放在那里,并将其命名为BOOTX64.EFI。就是这样。通常情况下,您甚至不需要通过efibootmgr向NVRAM添加条目,因为许多供应商默认情况下会检查所有FAT32分区上是否存在EFIbootBOOTX64.EFI

EFI外壳

正如@prl在评论中提到的,如果引导管理器将EFI Shell作为第一个选项,则可以从startup.nsh脚本自动启动EFI应用程序。我认为脚本可以简单如下:

my_program.efi

startup.nsh放在EFI分区的根目录中。一个缺点是,你通常会看到5秒的倒计时。

相关内容

  • 没有找到相关文章

最新更新