UEFI 시스템에는 grub2 구성 파일에 대한 다른 파일 위치가 있습니까?

UEFI 시스템에는 grub2 구성 파일에 대한 다른 파일 위치가 있습니까?

이전 스크립트 중 하나는 서로 다른 두 위치에서 grub.conf 파일을 찾았습니다. 하나는 "기본"이고 다른 하나는 UEFI였습니다.

if [ -f /boot/grub/grub.conf ] ; then     
    GRUB_CONF_FILE=/boot/grub/grub.conf
elif [ -f /boot/efi/EFI/redhat/grub.conf ] ; then
    GRUB_CONF_FILE=/boot/efi/EFI/redhat/grub.conf

이제 grub2 사용을 지원하도록 스크립트가 업데이트되고 있지만 /etc/default/grub 및 /boot/grub2/grub.cfg 및 /etc/grub.d를 찾아야 하는지/어디에서 찾아야 하는지 잘 모르겠습니다.

일부 내용이 형편없게 표현되었다면 죄송합니다. 나는 이전에 이 재미있는 부츠를 가지고 노는 즐거움을 느껴본 적이 없으며 많은 것들이 나에게 새로운 것입니다.

답변1

grub을 어떻게 설치했는지에 따라 다릅니다. 물론 EFI 시스템 파티션(ESP)에 설치하는 경우 설치한 위치에 따라 다릅니다. 스크립트의 특정 경우에는 ESP가 /boot/efi에 설치되고 /EFI/redhat 디렉토리가 BIOS 기반 시스템의 /boot에 일반적으로 있는 내용을 포함하도록 설정될 것으로 예상할 수 있습니다. 체계. 이것이 맞다면 BIOS 시스템에서 grub2.conf의 위치를 ​​확인하고 /boot 접두사를 /boot/efi/EFI/redhat로 바꾸면 /boot/efi/EFI/redhat /이 됩니다. grub2 /grub2.conf. (/etc/default/grub은 grub 구성을 생성하는 데만 사용되고 부팅 시에는 사용되지 않으므로 이동되지 않습니다.)

ESP를 설정하는 데는 두 가지 이상의 일반적인 방법이 있습니다. 하나는 ESP를 /boot에 직접 마운트하는 것입니다. 장점은 BIOS/UEFI 차이에 대해 걱정할 필요 없이 grub 및 커널과 같은 것을 설치할 수 있다는 것입니다. 단점은 이제 ESP의 루트 디렉터리(이론적으로는 OS 독립적임)를 다양한 Linux 관련 파일(예: 커널)로 오염시키고 있다는 점입니다. 반면에 이러한 모든 파일을 /와 같은 한 곳에 두는 것이 더 깔끔할 것입니다. EFI/redhat 아래.

내가 선호하는 방법(이것은 단지 내 의견임)은 ESP를 자체 디렉토리(/esp)에 마운트한 다음 ESP의 하위 디렉토리를 /boot에 바인드 마운트하는 것입니다. 이렇게 하면 깨끗한 ESP의 이점과 /boot에서 필요한 것을 찾는 기존 도구의 이점을 얻을 수 있습니다. 단점은 fstab이 좀 더 복잡하고 /boot(FAT 파일 시스템)에 심볼릭 링크를 가질 수 없다는 것입니다. 다음은 이 설정을 사용하는 머신의 /etc/fstab 파일 조각입니다.

/dev/sda2               /esp            vfat            rw,nosuid,nodev,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro       0 2
/esp/EFI/redhat         /boot           none            rw,nosuid,nodev,bind    0 0

관련 정보