我使用很棒的 rEFInd 引导加载程序从 EFI 引导。到目前为止,我必须自己配置启动,方法是手动将与 EFI 兼容的 Linux 启动映像复制到 EFI 分区,并编写配置文件来定义 rEFInd 菜单项并链接到 EFI 卷上的特定内核映像。
另一方面,GRUB 在安装时添加新的内核版本,并且我总是在下次启动时启动到新内核。我相信它是通过update-grub
脚本实现的。
是否有另一个脚本可以调用来自动将新内核映像部署到我的 EFI 分区并确保它们在下次启动时可用?我希望尽可能自动化此过程,以便我始终获得最新的内核安全更新。
答案1
这需要发行版内的支持才能正确完成(我已将 UEFI 支持引入到 ALT Linux 中);当然,可以通过使用符号链接和重新查找文件系统驱动程序或将一些自定义脚本搭载到 /etc/grub.d 中来解决这个问题...
FWIW 迄今为止我见过的最先进的 PE-COFF 二进制处理基础设施是在 PLD Linux 中完成的。
答案2
如果您使用内核.deb
包(即使用您的发行版的标准内核,或者编译您自己的 Debian Way),那么内核包安装过程将运行位于/etc/kernel/
.特别是,该/etc/kernel/postinst.d/
目录对于将新内核放置在 rEFInd 范围内的脚本来说是一个好地方。
另请注意,rEFInd 的最新版本可以自动检测 Linux 内核,并使用文件refind_linux.conf
以通用方式定义内核启动选项集:rEFInd 默认情况下会提供检测到的最新内核文件,并使用第一组启动选项与它的选项。通过按 F2(我认为),您可以获得一个包含旧内核版本和其他引导选项集的子菜单。使用此功能可能会让您获得更简单的脚本。