26장. Working with GRUB 2


Red Hat Enterprise Linux 7은 GNU GRand Unified Bootloader (GRUB 2)의 버전 2와 함께 배포되므로 사용자가 시스템 부팅 시 로드할 운영 체제 또는 커널을 선택할 수 있습니다. 또한 GRUB 2는 사용자가 커널에 인수를 전달할 수 있도록 합니다.

26.1. GRUB 2 소개

GRUB 2는 기존 BIOS 기반 시스템의 /boot/grub2/grub.cfg 파일과 UEFI 시스템의 /boot/efi/EFI/redhat/grub.cfg 파일에서 해당 설정을 읽습니다. 이 파일에는 메뉴 정보가 포함되어 있습니다.

GRUB 2 설정 파일인 grub.cfg, 는 설치 중에 생성되거나 /usr/sbin/grub2-mkconfig 유틸리티를 호출하여 생성되며 새 커널이 설치될 때마다 grubby 에 의해 자동으로 업데이트됩니다. grub2-mkconfig 를 사용하여 수동으로 다시 생성하면 /etc/grub.d/ 에 있는 템플릿 파일과 /etc/default/grub 파일의 사용자 지정 설정에 따라 파일이 생성됩니다. grub.cfg 의 편집은 파일을 다시 생성하는 데 언제든지 grub2-mkconfig 가 손실되므로 /etc/default/grub 의 수동 변경 사항을 반영하려면 주의해야 합니다.

새 커널 제거 및 추가와 같은 grub.cfg 의 일반적인 작업은 grubby 툴을 사용하여 수행해야 하며, 스크립트의 경우 new-kernel-pkg 툴을 사용해야 합니다. grubby 를 사용하여 기본 커널을 수정하면 새 커널이 설치되면 변경 사항이 상속됩니다. grubby 에 대한 자세한 내용은 26.4절. “grubby 도구를 사용하여 GRUB 2 메뉴의 영구 변경 사항 만들기” 을 참조하십시오.

/etc/default/grub 파일은 설치 프로세스 중에 grub.cfg 를 생성할 때 anaconda 에서 사용하는 grub2-mkconfig 도구에서 사용하며, 시스템 오류 발생시 시스템 오류 발생시 사용할 수 있습니다(예: 부트 로더 구성을 다시 생성해야 하는 경우). 일반적으로 마지막 수단으로 아닌 grub2-mkconfig 를 수동으로 실행하여 grub.cfg 파일을 대체하지 않는 것이 좋습니다. /etc/default/grub 을 수동으로 변경하려면 grub.cfg 파일을 다시 빌드해야 합니다.

grub.cfg의 메뉴 항목

다양한 코드 조각 및 지시문 중에 grub.cfg 설정 파일에는 단일 GRUB 2 부팅 메뉴 항목을 나타내는 하나 이상의 메뉴 항목이 포함되어 있습니다. 이러한 블록은 항상 menuentry 키워드로 시작한 다음 제목, 옵션 목록, 열린 curly 브래킷으로 시작하고 닫는 curly 브래킷으로 끝납니다. 열기 및 닫기 브래킷 사이의 모든 내용을 들여쓰기해야 합니다. 예를 들어 다음은 Linux 커널 3.8.0-0.40.el7.x86_64를 사용하는 Red Hat Enterprise Linux 7의 샘플 메뉴 입력 블록입니다.

Copy to Clipboard Toggle word wrap
menuentry 'Red Hat Enterprise Linux Server' --class red --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c60731dc-9046-4000-9182-64bdcce08616' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod xfs
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 19d9e294-65f8-4e37-8e73-d41d6daa6e58
    else
     search --no-floppy --fs-uuid --set=root 19d9e294-65f8-4e37-8e73-d41d6daa6e58
    fi
    echo  'Loading Linux 3.8.0-0.40.el7.x86_64 ...'
    linux16  /vmlinuz-3.8.0-0.40.el7.x86_64 root=/dev/mapper/rhel-root ro rd.md=0 rd.dm=0 rd.lvm.lv=rhel/swap crashkernel=auto rd.luks=0 vconsole.keymap=us rd.lvm.lv=rhel/root rhgb quiet
    echo  'Loading initial ramdisk ...'
    initrd /initramfs-3.8.0-0.40.el7.x86_64.img
}

설치된 Linux 커널을 나타내는 각 메뉴 입력 블록에는 64비트 IBM POWER 시리즈의 linux , x86_64 BIOS 기반 시스템의 linux16, UEFI 기반 시스템의 linuxefi 가 포함되어 있습니다. 그런 다음 initrd 지시문 뒤에 커널의 경로와 initramfs 이미지 경로가 각각 있습니다. 별도의 /boot 파티션이 생성된 경우 커널 및 initramfs 이미지에 대한 경로는 /boot 를 기준으로 합니다. 위의 예에서 initrd /initramfs-3.8.0-0.40.el7.x86_64.img 줄은 initramfs 이미지가 실제로 /boot/initramfs-3.8.0-0.40.el7.el7.x86_64.img에 있고 커널 경로에 대해 마찬가지로 initramfs 이미지가 /boot/initramfs-3.8.0-0. el7.x86_64.img에 있음을 의미합니다.

linux16 /vmlinuz-kernel_version 행에 지정된 커널 버전 번호는 각 menuentry 블록의 initrd /initramfs-kernel_version.img 줄에 제공된 initramfs 이미지의 버전 번호와 일치해야 합니다. 초기 RAM 디스크 이미지를 확인하는 방법에 대한 자세한 내용은 Red Hat Enterprise 7 커널 관리 가이드 를 참조하십시오.

참고

menuentry 블록에서 initrd 지시문은 동일한 커널 버전에 해당하는 initramfs 파일의 위치( /boot/ 디렉토리를 별도의 파티션에 있는 경우)를 가리켜야 합니다. 초기 RAM 디스크 이미지인 mk initrd, mkrd 파일라는 이전 도구가 생성되었기 때문에 이 지시문을 initrd 라고 합니다. grub.cfg 지시문은 다른 툴과 호환성을 유지하기 위해 initrd로 유지됩니다. dracut 유틸리티를 사용하여 초기 RAM 디스크 이미지를 생성하는 시스템의 파일-naming 규칙은 initramfs-kernel_version.img 입니다.

Dracut 에 대한 자세한 내용은 Red Hat Enterprise 7 커널 관리 가이드 를 참조하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat, Inc.