BOOT.conf 파일은 어떤 용도로 사용됩니까?

BOOT.conf 파일은 어떤 용도로 사용됩니까?

RHEL 8용 사용자 지정 설치 ISO를 생성하려고 합니다.

마운트 ISO에는 디렉토리에 2개의 파일이 있습니다 EFI/BOOT/: BOOT.confgrub.cfg. 이 diff명령은 둘 사이에 어떤 차이도 표시하지 않습니다. 나는 이것에 대해 논의된 곳을 어디에서도 찾을 수 없습니다 BOOT.conf.

설치 중에 어떤 용도로 사용되나요? 그리고 grub.cfg에도 동일한 변경을 수행 해야 합니까 BOOT.conf?

답변1

RHEL 9 설치 미디어에서는 이러한 중복이 더 이상 존재하지 않습니다. no more EFI/BOOT/BOOT.conf, only 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이 파일을 읽어야 할 이유가 있는 유일한 것입니다 . 커널 부팅 옵션은 initramfs의 설치 프로그램 코드에 로컬 설치 미디어를 찾도록 지시하기 때문입니다. 특정 볼륨 레이블이 있는 파일.grub.cfginst.stage2=hd:LABEL=RHEL-8-8-0-BaseOS-x86_64

위의 모든 내용을 바탕으로 내 이론은 이것이 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은 설치 미디어에서 BIOS 기반 부팅을 위한 부트 로더로 GRUB를 사용할 수 있는 가능성을 테스트하고 있었지만 나중에 그렇게 하지 않기로 결정하고 이전 주요 릴리스에서처럼 ISOLINUX를 계속 사용했을 수도 있습니다. 프로세스가 변경될 때 GRUB 구성을 생성하는 데 사용되는 템플릿 파일이 실수로 디렉터리에 포함됩니까 isolinux?

기술적으로 이것은 버그이지만 파일이 작고 현재 위치에서는 완전히 유효하지 않고 무해하므로 수정하는 우선 순위가 매우 낮습니다.

관련 정보