BOOT.conf 文件有什么用?

BOOT.conf 文件有什么用?

我正在尝试为 RHEL 8 创建自定义安装 ISO。

在安装 ISO 上,目录中有 2 个文件EFI/BOOT/BOOT.confgrub.cfg.该diff命令没有显示两者之间有任何区别。我找不到任何讨论的地方BOOT.conf

在安装过程中它有什么用?而且,我是否必须grub.cfg对进行同样的更改BOOT.conf

答案1

在 RHEL 9 安装介质上,此类重复不再存在:不再存在EFI/BOOT/BOOT.conf,只有EFI/BOOT/grub.cfg.

运行时grep -i BOOT.conf EFI/BOOT/*.efi,没有命中,但运行时,在和grep -i grub.cfg EFI/BOOT/*.efi中都找到了匹配项。它表明 GRUB EFI 二进制文件查找而不是查找.grubx64.efigrubia32.efigrub.cfgBOOT.conf

此外,这些 GRUB*.efi二进制文件是唯一有理由读取该grub.cfg文件的文件,该文件定义了仅适用于从本地安装介质启动的启动菜单,因为内核启动选项inst.stage2=hd:LABEL=RHEL-8-8-0-BaseOS-x86_64告诉 initramfs 中的安装程序代码查找本地具有特定卷标的磁盘/光盘。

基于上述所有内容,我的理论是,这BOOT.conf只是用于创建安装映像的脚本中的一个小错误的结果。


目录的情况isolinux似乎不同,因为isolinux.cfggrub.conf文件的内容完全不同。

ISOLINUX 引导加载程序有自己的配置语法,它无法理解适用于 GRUB 的配置文件。

此外,该isolinux/grub.conf文件比EFI/BOOT/grub.cfg.其全部内容为:

#debug --graphics
default=1
splashimage=@SPLASHPATH@
timeout 60
hiddenmenu
title Install Red Hat Enterprise Linux 8.8
        findiso
        kernel @KERNELPATH@ @ROOT@ quiet
        initrd @INITRDPATH@
title Test this media & install Red Hat Enterprise Linux 8.8
        findiso
        kernel @KERNELPATH@ @ROOT@ rd.live.check quiet
        initrd @INITRDPATH@

注意变量@SPLASHPATH@@KERNELPATH@@ROOT@@INITRDPATH@这看起来像用于创建非常简约的 GRUB 配置文件的模板用于启动基于 ISO9660 的安装介质。确实如此不是看起来像一个有效的 GRUB 配置文件。

也许 RedHat 也在测试使用 GRUB 作为引导加载程序以从安装介质进行基于 BIOS 的引导的可行性,但后来决定不这样做并继续使用 ISOLINUX,就像在以前的主要版本中一样?当流程更改时,用于创建 GRUB 配置的模板文件意外包含在isolinux目录中?

从技术上讲,这将是一个错误,但由于该文件很小,并且在当前位置显然完全无效且无害,因此修复它的优先级非常低。

相关内容