Linux/Linux_technic

Boot loader - LILO와 GRUB

sosal 2009. 9. 27. 05:57
반응형

/*
 * made by so_sal
 * http://sosal.tistory.com/
 */

MBR(Master Book Record)에는 한개의 OS 이미지만 저장할 수 있습니다.
따라서 여러 버전의 커널을 부트할시에 문제가 되는데,
이를 해결하기 위한것이 Boot Loader. 입니다.

MBR -> OS (부트로더 없을시, OS를 여러개 부트할 수 없습니다.)

                         -> OS1
MBR -> 부트로더 -> OS2
                         -> OS3 // 부트 로더가 있는 경우

부트로더에는 여러가지가 있지만, 그중 많이 쓰이는 것으로는 LILO, GRUP이 있습니다.

제 리눅스는 GRUP을 사용하네요.. (CentOS 5.3 Linux. 2.6.18-128.el5)
// 1. LILO (Linux Loader) :: 작고, 가벼우면서 멀티부팅을 사용할 수 있습니다

LILO의 설정 파일은 대부분 /etc/lilo.conf에 위치합니다..
밑은 설정파일의 내용입니다. (실제로는 주석문들이 추가되어 있습니다.)
lba32                   //LBA32비트 모드로 하드디스크를 사용
boot=/dev/hda               //부트 디스크를 /dev/hda로 지정
root=/dev/hda1              //루트 파티션을 /dev/hda1로 지정
install=/boot/boot-menu.b        //부트 메뉴
map=/boot/map              //map 파일의 위치
delay=20                 //리로부트 지연시간 설정(0.1초 단위 -> 2초)
vga=mormal                //부트 시에 사용할 텍스트 모드를 지정
default=Linux2.4.32             //기본으로 부팅할 레이블 선택

image=/boot/vmlinuz-2.4.32       //2.4.32 커널 이미지 및 관련 설정
   label=Linux-2.4.32            //레이블을 Linux-2.4.32로 설정
   read-only                //부트시 읽기전용으로 마운트

/etc/lilo.conf를 변경한 다음 [lilo]를 실행해야만 변경사항이 적용됩니다.

// 2. GRUB (Grand Unified Boot Loader) :: 대통합 부트로더

GRUB은 설정 파일만 변경하면 커널 이미지 같은 나머지는 알아서 인식합니다.
부팅시에 적절히 파라미터를 직접 입력할 수 있습니다.
하지만 LILO보다는 더 무겁습니다.

설정파일 위치 : /boot/grub/menu.lst

default=0        //기본으로 부트할 이미지 첫번째것 사용.(0부터 시작..)
timeout=5        //메뉴화면을 5초관 보여줌 splashimage=(hd0,0)/grub/splash.xpm.gz     / hiddenmenu title CentOS (2.6.18-128.el5) root (hd0,0) //루트파티션 kernel /vmlinuz-2.6.18-128.el5 ro // //부트할 이미지 지정root=/dev/VolGroup00/LogVol00 rhgb quiet VGA=791 initrd /initrd-2.6.18-128.el5.img     //초기화할 램디스크 지정 savedefault //마지막 부팅 항목을 기억합니다. boot        //부트시 명령줄 편집을 가능하게 합니다.
GRUB에서 하드디스크는 hd0, hd1과 같이 표현, 차티션은 (hd0,0), (hd0,1)과 같이 표현됩니다.
savedafault 옵션은 마지막으로 선택한 항목을 기억하게 해서 다음 부팅시에도
같은 메뉴를 편하게 사용할 수 있으며, 부팅시에 명령줄 편집을 가능하게 합니다.
GRUB에 대한 자세한 사항은 GRUB manual(http://www.gnu.org/software/grub/manual/grub.html)을 참조하세요.

 
 *참고문헌 리눅스 커널 내부구조

'Linux > Linux_technic' 카테고리의 다른 글

Object file - ELF 파일  (0) 2009.10.23
od - 바이너리 파일 덤프  (0) 2009.10.23
File - 파일종류 확인  (0) 2009.10.22
커널 분석기 Vi + ctags + cscope  (4) 2009.10.01
01. Linux 기본 명령어, 권한  (1) 2009.09.26