본문 바로가기
초보 IT 동동 리눅스 이야기

[13] 초보 IT 동동 리눅스 부트 매니저 부트로더에 대해 알아보자.

by 동동이y 2023. 3. 2.
728x90
반응형

안녕하세요 . 초보 IT 동동입니다.

리눅스의 부팅 과정에 대해 알아보려고 합니다.

먼저 리눅스의 부팅 과정을 나타낸 그림 입니다.

리눅스 부팅과정

 

1. 부트로더 (boot loader)의 설명

- 부트로더는 컴퓨터를 사용자가 사용가능 하도록 디스크or플래시에 저장된 운영체제를 읽어 주기억장치에 적재해줍니다.

- 운영체제가 시동되기 전에 미리 실행이 되어, 커널이 올바르게 작동하기 위해 필요한 모든 관련 작업을 마무리하고 운영체제를 시동하기 위한 프로그램입니다.

- 부트로더는 부트 매니저라고도 하며, 크키가 512byte로 하드디스크의 첫번재 MBR에 위치합니다.  MBR은 하드디스크의 첫번째 섹터로 부트 매니저 프로그램과 파티션 정보를 저장합니다.

- 운영체제 실행에 필요한 환경을 설정하고 운영체제 이미지를 메모리에 복사합니다.

- 주 파티션마다 부트섹터가 할당 됩니다.

- 분할된 주 파티션들은 자신의 부트 레코드를 MBR에 기록하여 실합니다.


2. GRUB (GRand Unified Bootloader)

GRUB 부트로더는 리눅스 부팅 시 처음 나오는 화면입니다.

LILO와 GRUB이 많이 사용되는 부트로더 이지만, GRUB는 LILO보다 설정이 편하고 사용도 용이합니다.

다른 운영체제와 멀티 부팅이 가능하며, 커널의 경로와 파일 이름만 알면 부팅이 가능합니다.

메뉴 인터페이스 환경을 지원하고, 대화명 모드로 부트 정보를 설정 할 수 있습니다.

GRUB1 과 GRUB2 , 2가지 버전이 있습니다. 

구분 GRUB1 GRUB2
설정 파일 /boot/grub/menu.lst /boot/grub2/grub.cfg
파티션 0부터 첫번째 파티션 시작 1부터 첫번째 파티션 시작
root 파티션 지정방법 root (hd0,0) set root=(hd0,msdos1)
커널 이미지 설정옵션 kernel=옵션으로 커널이미지 linux=옵션으로 커널이미지

2. GRUB 1

GRUB의 환경 설정 파일은 /boot/grub/grub.conf 입니다.

 

[root@localhost /]# cat /boot/grub/grub

 

default=0 
timeout=10 
splashimage=(hd0,0)/grub/splash.xpm.gz 
hiddenmenu 
title Red Hat Enterprise Linux Server (2.6.32.130.el6.i686)         
root (hd0,0)         
kernel /boot/vmlinuz-2.6.32.130.el6.i686 ro root=LABEL=/1 rhgb quiet       
initrd /boot/initrd-2.6.32.130.el6.i686.img


root (hd0,0) - root 파티션의 위치 지정, (hd0,0) primary master의 첫번째 파티션을 의미합니다.

kernel /boot/vmlinuz - 부팅하면서 메모리에 위치하는 리눅스 커널에 전달되는 인수를 지정하는 옵션

initrd /boot/initrd - 이미지 파일의 경로를 지정하는 옵션


 

3. GRUB2

GRUB2의 설정 파일 경로는 /boot/grub2/grub.cfg 

GRUB_TIMEOUT 자동 부팅 시간 설정 
GRUB_DISTRIBUTOR 부팅 화면의 각 엔트리 앞에 명시되는 이름 지정
GRUB_DERAULT GRUB2의 기본 부트 엔트리 지정 시 사용
GRUB_DISABLE_SUBMENU 서브 메뉴 사용 설정
GRUB_TERMINAL_OUTPUT GRUB 표시 방법을 보여줌
GRUB_CMDLINE_LINUX 부팅 시 커널에 전달할 파라미터 설정
GRUB_DISABLE_RECOVERY Recovery mode 화면 표시

4. GRUB 2 작업 모드

초기 화면에서 C 를 누르면 명령모드 로 넘어갑니다.

초기 화면에서 e 를 누르면 편집모드 로 넘어갑니다.


편집모드에서 사용 가능한 키  ↑↓

 ↑,↓  위, 아래로 이동
a (append) grub.conf에서 커널과 관련된 매개변수 추가
b (boot) 부트 메뉴로 시스템 부팅
e (edit) 부트 메뉴 명령어 편집
c (command) 직접 입력이 가능한 모드
o (open) 새로운 행을 커서 다음 행에 삽입
O (Open) 새로운 행을 커서 앞 행에 삽입
d (delete) 선택된 행 삭제
ESC GRUB 이전 메뉴로 이동

 

728x90
반응형

댓글