출처 : 대전국제IT교육센터 정성재 강사
1. lilo란?
Linux Loader의
약자로 한 컴퓨터 안에 여러 운영체제(OS:Operating System)가 설치되어 있을 경우
운영체제를 선택하여 부팅할 수 있도록
해주는 부트 매니저 프로그램이다. 여러 다른 운영체제등과
같이 멀티부팅을 하거나 리눅스에서 서로 다른 여러 개의 커널버전으로 부팅을 원할
경우에 사용하면
된다.
2. lilo의 설치
lilo는 리눅스 처음
인스톨시 설치하는 데 두 군데에 설치할 수 있다. 일반적으로는 MBR(Master Boo
t Record)와 리눅스의 '/'(예를 들면
/dev/hda1이나 /dev/hda2)에 선택하여 설치가 가능하다. 그러나
다른 운영체제와 충돌나는 경우가 아니라면 lilo는
하드디스크의 Master Boot Record에 설치하도록
한다. /(root partition)에 설치했을 경우에는 부팅디스크를
만들어야 부팅이 된다.
3. lilo의 구성
(1) 설명: lilo는
환경파일인 lilo.conf와 실행파일인 lilo로 구성되어 있다. lilo.conf파일은 시스
템파일이지만 vi와 같은
에디터로 편집가능하다. 환경설정의 변경은 lilo.conf파일에서 한
뒤에 변경된 사항을 반영시키기 위해서는 실행파일인
lilo를 실행시켜야 한다. 두 파일의
경로는 아래와 같다.
(2) 파일의 경로
1) 환경설정파일:
/etc/lilo.conf
2) 실행파일: /sbin/lilo
4. lilo.conf
파일
(1) 설명 : /etc디렉토리에 위치하는 파일로 lilo의 환경설정 파일이다.
(2) 설정 : vi와
같은 에디터를 사용하여 편집하고 편집 후에는 /sbin/lilo를 실행시켜야 된다.
(3) 설정예
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux
image=/boot/vmlinuz-2.2.14-12kr
label=linux
read-only
root=/dev/hda3
other=/dev/hda1
label=dos
=> 위의 설정은 리눅스와 도스(혹은 윈도우즈)가 같이 인스톨되어 있음을 알 수 있다.
(4)
주요설정항목 설명
boot=/dev/hda // lilo가 설치되는 위치를 나타낸다. 첫번째 IDE 드라이브의
마스터부트레코드
(MBR)에 리로부트레코드를 설치한다. MBR에 설치하면 lilo가 시스템의 기본
부트 로더가 된다.
map=/boot/map // lilo에 의해 자동으로 생성되는
파일로 부트 로더 어디에 커널(운영체제의
핵심부분으로 도스로 말하자면 io.sys나
msdos.sys에 해당함.)의 블럭이 있는
가를 알려준다.
install=/boot/boot.b // /sbin/lilo가 다음의 파일로부터 리로 부트 레코드를 마스터 부트
레코
드(MBR)의 위치에 복사한다. 즉 이 파일에 부트 섹터의 위치정보를
가지
고 있다.
prompt // 'boot:'라는 프롬프트를
표시한다.
timeout=50 // 키보드 입력이 없을 때 첫번째 등록된 부팅 항목 또는 default= 설정행에서
지시하는 항목으로 부팅된다. 시간 설정은 1/10초 단위로 설정되므로 50이면
5초를 의미한다. 해당 시간동안 어떠한 키입력도 없으면 기본 설정으로
부팅
된다. 부팅의 메뉴를 보려면 TAB키를 누르면 된다. 무한정으로 대기하려면
이
항목을 삭제하면 된다.
default=linux // 여러 메뉴중에서 부팅될 항목을
지정해주는 설정이다. 만약 이렇게 설정되어
있다면 linux로 부팅된다. 다른 운영체제로 부팅을
원한다면 label= 설정행에
서 지정된 값을 적으면 해당 운영체제로 부팅된다. default=
설정행이 없으면
image= 또는 other= 설정행에서 첫번째로 등록된 항목으로 일정시간 후에
부
팅된다.
image=/boot/vmlinuz-2.2.14-12kr // 리눅스 커널
이미지를 등록하는 부분이다.
label=linux // 부팅하고자 구별하는 인식단어를 의미한다. 임의로 지정해도 된다.
유의점으
로 만약 linux2-4.20 으로 레이블을 설정했을 경우 'boot:' 프롬프트에
단일
사용자모드로 들어가려면 'linux2-4.20 single' 이라고 입력해야 한다.
read-only // 리눅스는 대부분의 경우 일단 루트파티션을 읽기 전용으로 마운트한다.
root=/dev/hda3
// 리눅스가 설치된 루트 장치명을 표시한다.
other=/dev/hda1 // 리눅스 이외의 도스/윈도우95/윈도우98 등의
운영체제가 설치된 파티션 위치
를 지정하고 등록하여 설정한다.
initrd=/boot/initrd-2.2.16-3kr2.img // 초기화에 필요한 램디스크(RAM Disk) 이미지를
표시한
다. SCSI하드디스크를 사용하는 경우에는 커널 패닉에
빠지지 않게 하기 위해서 initrd 이미지를 정확히
지정
해야 한다.
single-key // 라벨을
입력하는 것이 아니라 키 하나만 입력하여 선택할 수 있도록 한다. alias=
이라는 항목과 같이
쓰인다.
alias=1 // single-key라는 항목과 같이 쓰이며 운영체제 선택시 1만 누르면 해당하는
운영체
제로 부팅된다.
message=/boot/message // 리로부팅시 보여줄 메시지의
경로를 적어준다. 요즘은 이미지도
가능하다.
password=1234 // 패스워드를 설치하여 부팅하기 전에 패스워드를 입력해야 한다. 보통
아래의 restricted 키워드와 같이 사용된다. 만약 restricted를
사용하
지 않고 단독으로 사용했을 경우 모든 운영체제와 모든 레벨에 대해
무조건 패스워드를 묻는다.
restricted //
패스워드를 묻되 lilo에서 기본 메뉴 엔트리로 등록된 것이외인 경우
에만 묻도록 한다.
즉 위의 password 항만 있으면 어떤 값을 선택하여
부팅하든지 패스워드를 적도록
되어 있지만 이 값이 들어가면 지정된
메뉴 이외, 예를 들면 기본 엔트리에 linux와
windows가 있을 경우
linux 나 windows 선택시에는 패스워드를 묻지 않고
기본 엔트리가
아닌 'linux 1' 등의 접속을 시도할 경우에는 패스워드를 묻는다.
password 항만 적어서 사용하면 원격지에서 재부팅할 경우 문제가 될
수 있으므로 이 키워드와 같이 사용하여, root패스워드를 바꿀 수
있는
단일사용자모드로의 접근 금지 등에만 사용하는 것이 좋다.
lba32 //
8GB이상의 하드디스크영역에서 LILO를 사용하기 위해 설정한다.
(참고1) 레드햇리눅스 8.0에서 일반적인
예
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
image=/boot/vmlinuz-2.4.18-14
label=linux
initrd=/boot/initrd-2.4.18-14.img
read-only
append="root=LABEL=/"
(참고2) 리눅스에서 두 가지의 커널을 사용했을 경우의
예
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=10
linear
default=linux-up
image=/boot/vmlinuz-2.2.16-3kr2smp
label=linux
initrd=/boot/initrd-2.2.16-3kr2smp.img
read-only
root=/dev/sda2
image=/boot/vmlinuz-2.2.16-3kr2
label=linux-up
initrd=/boot/initrd-2.2.16-3kr2.img
read-only
root=/dev/sda2
(참고3) 'single-key'와 'alias= '가
사용된
예
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
: "Boot" // 이 설명은 "Boot"라는 메시지가 뜬 후 5초라는
뜻이다.
single-key
message=/boot/message
lba32
// 8GB이상의 하드디스크사용시 나타난다.
default=linux
password=1234
restricted
image=/boot/vmlinuz-2.2.17-8wl2
label=linux
alias=1
read-only
root=/dev/hda3
other=/dev/hda1
label=win
alias=2
5. lilo의 실행
(1) 사용법
lilo
[옵션]
(2) 옵션
-u : 설치된 lilo를 삭제한다.
-D : 디폴트 운영체제를 변경한다. lilo.conf의
default값이 변경되는 것은 아니다.
(3) 사용예
1) [root@house /sbin]# lilo //
lilo.conf의 변경후에는 꼭 lilo를 실행시켜야 한다.
Added linux *
Added
win
2) [root@house /sbin]# lilo -D win // 디폴트 운영체제를 win으로 한다.
6. lilo의 삭제
(1) linux에서의 삭제
lilo
-u
(2) Windows에서의 삭제
fdisk /mbr
7. lilo의
복구
(1) 재설치 : 설치한 리눅스의 CD가 있으면 CD-ROM으로 부팅후 업그레이드를 선택한 후
설치한다.
짧은 시간 안에 리눅스에 대한 큰 지식이 없어도 가능하다.
(2) Linux와 Windows를
같이 설치한 경우
1) 윈도우즈로 부팅한다.
2) 리눅스 인스톨 CD를 찾는다.
3) CD의 dosutil라는
디렉토리의 loadlin이라는 파일과 autoboot디렉토리의 vmlinuz파일을 루트에
복사한다.
4) 도스모드로
재부팅한다.
5) 다음과 같이 명령을 내려 리눅스로 부팅한다.
loadlin vmlinuz root=/dev/hda3
ro
6) 리눅스의 root로 로그인하여 터미널창에서 /sbin/lilo를 입력한다.
3. 리눅스에서 복구디스크 만들기
(1) 현재 커널 버전을 확인한다.
[root@house /root]# uname -a
(2) 명령을 내려 복구 디스켓을
만든다.
[root@house /sbin]# mkbootdisk --device /dev/fd0
2.2.16-3kr2
(참고) 복구디스크 만든 후 부팅하기
boot: vmlinuz root=/dev/hda2
=> 여기서 /dev/hda2는 루트파티션이 설치된 영역을 말한다. 설치시 나눈 파티션에 맞게 값을
입력하면 된다.