✅ GRUB2란 ?
GRUB은 "Grand Unified Bootloader"의 약어로 GNU하에서 개발된 멀티 부트로더이다.
부트로더는 시스템이 부팅될 때 처음으로 구동되는 시스템으로 운영체제가 본격적으로 구동되기 전 필요한 작업을 수행하고 운영체제 커널에서 필요한 제어 정보를 커널 프로그램에 전송하는 역할을 한다.
과거 리눅스에서는 LILO라는 부트로더를 지원했다가 현재는 대부분의 리눅스 배포판에서는 GRUB를 지원하는데, GRUB 1 버전이 표준 부트로더로 자리매김 해오다가 요즘은 GRUB2 버전으로 대체되고 있다.
GRUB2는 다른 부트로더와 마찬가지로 하드디스크의 첫번째 부트 섹터인 MBR (Master Boot Record)이라는 곳에 저장된다.
✅ GRUB2 버전 설치 경로 및 파일들
경로 및 파일 |
설명 |
|
/boot/grub2 | custom.cfg |
사용자 정의파일 |
grub.cfg |
grub2의 설정파일, /etc/default/grub 파일과 grub-mkconfig에 의해 자동생성 |
|
fonts |
글꼴 위치 |
|
themes | GRUB2 배경화면 장식테마 |
|
/etc/grub.d | grub.cfg 파일에 부트엔트리를 만들어주는 스크립트 파일을 포함합니다. |
|
00_header | /etc/default/grub에 있는 설정을 불러옵니다. |
|
10_linux | 설치된 리눅스 운영체제에 대한 메뉴 엔트리를 불러옵니다. |
|
30_os-prober | 타운영체제를 탐색하여 부트 메뉴에 추가해 주는 역할을 합니다. |
|
40_custom |
사용자 정의로 부트 메뉴에 추가해 주는 템플릿 역할을 합니다. |
|
90_persistent | 사용자가 grub.cfg 파일 일부를 직접 수정할 수 있게 해 줍니다. |
|
/etc/default/grub | /etc/grub.d에 있는 스크립트들에서 사용할 옵션 설정을 포함합니다. |
|
/usr/bin | grub2-menulst2cfg |
Grub 레거시 버전의 menu.lst 설정파일을 grub.cfg 파일로 변환해 줍니다. |
grub2-customizer |
GRUB2 설정 그래픽 인터페이스 |
|
update-grub2 | grub.cfg 파일 업데이트, 이 파일 설정후 적용하기 위해선 반드시 실행 | |
/usr/sbin | grub2-install |
grub2 설치 도구 |
grub2-mkconfig | grub.cfg 파일 생성 도구 |
|
/usr/lib또는 /usr/lib64/grub |
각종 모듈 위치 |
✅ GRUB2 설정 (/etc/default/grub)
/ect/default/grub 파일로 /boot/grubgrub2-mkconfig 명령에 의해 /boot/grub2/grub.cfg 파일이 자동 생성된다.
따라서 제일 먼저 grub2 부트로더를 설정하려면 /etc/default/grub2 파일을 설정해야 한다.
/etc/default/grub 설정 파일은 '옵션=값' 형식으로 설정되는데 KEY 값에 공백이 들어가는 경우는 따옴표를 사용한다.
설정값 | 설명 |
GRUB_TIMOUT | GRUB 부트로더 화면에서 자동으로 부팅되는 시간을 초단위로 설정한다. |
GRUB_DISTRIBUTOR | GRUB 부트로더 화면에서 각 선택항목 앞에 붙을 배포판 이름을 추출한다. |
GRUB_DEFAULT = saved | saved는 이전에 선택한 엔트리(항목)가 기본으로 계속 선택되도록하는 것이다. |
GRUB_DISABLE_SUBMENUE | 서브메뉴 사용 여부를 설정한다. true는 사용하지 않는다는 것이다. |
GRUB_TERMINAL_OUTPUT | GRUB가 나올 장치를 설정한다. 기본 값을 console로 설정하면 모니터로 설정된다. |
GRUB_CMDLINE_LINUX | 부팅시 커널에 전달할 파라미터를 지정한다. |
GRUB_DISABLE_RECOVERY | true로 설정하면 메뉴 엔트리에서 복구와 관련된 것을 비활성화한다. |
✅ GRUB2 설정 예시
[root@localhost ~]# vi /etc/default/grub
GRUB_TIMEOUT은 부트 메뉴에서 키보드 입력이 없을 시 기본 부트 엔트리로 부팅될 때까지의 대기 시간이다.
지정된 시간 동안 키보드 입력이 없으면 기본 엔트리로 부팅이 이뤄진다. 보통 5~10초 정도가 적당하다.
무한 대기 상태는 '-1' 값이다. GRUB_TIMEOUT = 20 으로 변경하고 저장한다.
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-bb9afee5d305ab46b7f34ffc7d08f145
Found initrd image: /boot/initramfs-0-rescue-bb9afee5d305ab46b7f34ffc7d08f145.img
done
grub2-mkconfig -o /boot/grub2/grub.cfg 명령어를 이용해 변경한 값을 메인 시스템에 반영시킨다.
reboot 하면 부팅 대기 시간이 20초로 변경되어 있는 것을 확인할 수 있다.
참고
'Linux' 카테고리의 다른 글
[Linux] 패키지 관리 도구 (RPM & YUM) (0) | 2022.03.04 |
---|---|
[Linux] root 비번 초기화 방법 (0) | 2022.03.04 |
[Linux] 부트 프로세스 (0) | 2022.03.04 |
[Linux] LVM 명령어 실습 (0) | 2022.02.25 |
[Linux] LVM - Logical Volume Management (0) | 2022.02.25 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!