나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
이제 더위는 가고 젤 좋아하는 가을이 온당!!!
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가
thisrule (thisrule1)
프로필     
 인기도 :
 이 블로그 점수주기
전체 글보기(69)
예준사진 목록
지우사진 목록
리눅스 팁 목록
기본폴더
예준 사진
지우 사진
가족사진
리눅스 팁
가요
설문
오늘 전체
방문자 18 34697
구독자 0 4
댓글 0 10
참조글 0 17
HanRSS 로 구독하기Fish 로 구독하기
2009 11월
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근 댓글 전체보기
압축파일에 대한 글 올..
윗글 출처 : 커피닉스..
열심히 하겠습니다
열심히 하겠습니다
열심히 하겠습니다
최근 참조글 전체보기
Cheap fioric..
리눅스의 마스코트는 왜..
다녀간 블로거 더보기
- wonnychung
- 윤노털
- ritzcarltn
- 나에게로
- 팍스벅
 즐겨찾기
 즐겨찾기 글모음
개설일 : 2004/08/23
 

LILO란 무엇일까요?

LILO는 LInux LOader로서 여러개의 운영체제를 선택할 수 있게 해주는 일종의 스위치입니다.

즉, 시스템에 하나 이상의 운영체제가 설치되어 있을 때, 각 운영체제를 선택할 수 있게 하는 기능을 지칭합니다. lilo는 이름에서 알 수 있듯이 리눅스에서 지원되는 로더이며, 여러분이 많이 알고 있는 NT의 OS Loader와 OS/2의 부트매니저(이 후 나오는 부트매니저는 OS/2의 부트매니저가 아닌 OS를 선택할 수 있는 프로그램을 지칭합니다), 상용제품인 시스템 커맨더 등이 lilo와 같은 기능을 하는 부트 매니저들입니다.

 

멀티부트란?

아주 오래전(?) 하드디스크가 없던 시절 부팅을 하기 위해서는 플로피디스크를 사용하였고, 때문에 도스의 버전을 바꾸는 일이나 다른 운영체제를 사용하는 일은 매우 간단하였습니다. 단지 플로피 디스크를 갈아끼우는 것만으로 운영체제를 선택할 수 있었으니까요.

하지만, 하드디스크가 등장하고 대용량이 되면서 하나의 운영체제가 아닌 2개 혹은 그 이상의 운영체제를 하나의 시스템에서 구동되기를 원했고 때문에 나온 것이 부트 매니저입니다. PC의 전원을 넣으면 BIOS가 자동적으로 플로피, 하드디스크등 부트 디바이스 시퀀스대로 탐색해 나갑니다. 이때 읽어들이는 곳은 부트 디바이스의 맨 선두부분이며, 이 선두부분을 MBR이라고 부릅니다. 여기에 Initial Program Loader(IPL)라 불리는 작은 프로그램이 입력되어 있습니다. 이 프로그램을 메모리에 로드하고 실행하게 되면 IPL에서는 OS의 부트 프로그램이 디스크의 어디에 있는지 알고 있으며, 그것을 실행함으로써 해당 OS가 부팅되는 것입니다. 이 때 여러개의 OS중에서 선택할 수 있도록 만들어진 프로그램을 MBR에 저장함으로써 시동할 때마다 선택한 OS가 부팅되게 합니다.

 

일반적인 멀티부트 환경

간단한 멀티부트환경을 구축하기 위해서는 그리 많은 사전지식이 필요하진 않습니다.
단지, 하드디스크가 하나만 있으며 Windows가 먼저 설치되어 있고 리눅스를 나중에 설치하며 설치 시 약간의 공간과 lilo를 MBR에 설치하는 것만 기억하시면 멀티부트환경은 한방에 구축될 것입니다.

MBR

hda1

hda2

hda3

lilo

windows

linux

swap

위의 표는 일반적인 설치시의 파티션 구성이며 실제로 이렇게 구성되어 집니다.

여기서 hda는 IDE방식의 하드디스크 첫 번째를 뜻하며, 아래 그림을 참조하시면 쉽게 이해하실 수 있습니다.

메인보드

HDD 케이블

HDD 케이블

프라리머리 소켓

마스터 hdd (hda)

슬래이브 hdd (hdb)

hda1

hda2

hdb1

세컨더리 소켓

마스터 hdd (hdc)

슬래이브 hdd (hdd)

hdc1

hdc2

hdc3

hdd1

hdd2

만약 여러분이 리눅스의 lilo를 조작한다면 반드시 hda1과 같은 이름을 알고 계셔야 합니다.

 

lilo.conf 의 내용

다음의 내용은 필자가 lilo의 설정을 다양하게 하기 위해 임의적으로 만든 설정입니다.

저는 Windows와 와우리눅스, 한컴리눅스를 동시에 사용하며, 파티션은 윈도우파티션(C,D) 와우리눅스, 한컴리눅스와 스왑파티션으로만 구성하였습니다. (물론, 혼자 쓰기 때문에 통으로 사용합니다. 하지만, 보안을 위해 파티션 분할하는거 잊으시면 안됩니다.)

    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50 : "Boot"
    single-key
    message=/boot/message
    lba32
    default=linux
    password=1234
    restricted

    image=/boot/vmlinuz-2.2.17-8wl2
            label=linux
            alias=1
            read-only
            root=/dev/hda3

    image=/boot2/vmlinuz
            label=hancom
            alias=2
            read-only
            root=/dev/hda6

    other=/dev/hda1
            label=dos
            alias=3

그럼, 한 줄 한 줄 설명을 해 나가도록 하겠습니다.

boot=/dev/hda : lilo의 부트로더를 인스톨할 장소를 지정합니다. 현재 상태는 MBR이며 만약 플로피디스크에서 한다면 boot=/dev/fd0라고 하면 됩니다.

timeout=50 : "Boot" : 메시지가 뜬 다음 기다리는 시간입니다. 1/10초단위이며 이 시간이 지나면 default로 지정된 운영체제로 부팅하게 됩니다. 만약 무한정 대기하게 하고 싶으면 이 항목을 삭제하시면 됩니다.

single-key : 라벨을 입력하는 것이 아니라 키 하나만 입력하여 선택할 수 있도록 합니다. 아래의 alias부분과 맵핑됩니다.

message=/boot/message.txt : 리로에 뜨는 선택화면(펭귄이 나오고 오른쪽 상단에 선택할 수 있게 하는 화면)의 배경 이미지입니다. 물론 텍스트도 가능합니다.

default=linux : 기본적으로 부팅되는 운영체제의 라벨입니다. 라벨을 입력하지 않고 리턴을 누르면 부팅되는 OS의 라벨입니다. 주의할 것은 라벨이 linux라고 해서 linux가 부팅되는 것이 아니라 라벨이 linux에 해당되는 OS가 부팅된다는 것입니다.

password=1234 : 패스워드를 설치하여 부팅하기 전에 패스워드를 입력해야만 합니다.

restricted : 패스워드를 묻되 inittab에서 지정된 런레벨이 아닐때 만 묻습니다.

    # Default runlevel. The runlevels used by RHS are:

    #   0 - halt (Do NOT set initdefault to this)

    #   1 - Single user mode

    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

    #   3 - Full multiuser mode

    #   4 - unused

    #   5 - X11

    #   6 - reboot (Do NOT set initdefault to this)

    id:3:initdefault:  <= 바로 3이 기본으로 지정된 부팅 런레벨입니다.

image=/boot/vmlinuz-2.2.17-8wl2 : 시동하는 리눅스의 커널코드 파일의 장소

        label=linux : 해당하는 운영체제의 라벨

        alias=1 : 싱글키와 같이 사용되며 운영체제 선택시 1만 누르면 해당하는 운영체제가 부팅됩니다.

        read-only

        root=/dev/hda3 : 리눅스를 부트할 때 루트파일 시스템으로서 마운트하는 파티션을 지정합니다.

 

image=/boot2/vmlinuz

        label=hancom

        alias=2

        read-only

        root=/dev/hda6

 

other=/dev/hda1 : 리눅스 이외의 운영체제의 파티션

        label=dos  : 라벨

        alias=3

 

이상의 내용을 여러분 마음대로 수정한 다음 반드시 해야할 사항이 바로 lilo를 입력한 다음 리턴을 치는 것입니다.

    [root@mmx /etc]# lilo

    Warning: /etc/lilo.conf should be readable only for root if using PASSWORD

    Added linux (alias 1) *

    Added hancom (alias 2)

    Added dos (alias 3)

    [root@mmx /etc]#

lilo라는 명령어는 lilo.conf 파일에 설정된 내용을 boot= 항목에 기술된 디바이스에 저장합니다. 만약 오류가 있다면 그 오류를 출력하므로 살포시 고치신 다음, 다시 lilo라고 입력하시면 됩니다.(참고적으로, 이것을 잊으시는 분들이 제 주변에도 많답니다. 반드시 수정하였으면 lilo라고 입력하세요.)

 

lilo의 삭제

1. Linux에서

    [root@mmx /etc]# lilo -u (혹은 대문자 U)

2. Windows에서

    먼저 도스프롬프트로 이동한 다음,

    c:>fdisk /mbr

3. 디폴트 운영체제의 변경

    [root@mmx /etc]# lilo -D dos

 

lilo의 복구

1. Linux가 설치된 상태에서 Windows를 설치하였을 때, 하지만 불행하게도 복구디스크가 없을 때

가장 먼저 Linux-install CD를 찾습니다.

 

다음과 같이 CD의 dosutils로 이동한 다음 loadlin과 autoboot 안에서 vmlinuz를 C의 루트로 복사합니다.

 

그 다음 리부팅을 해야 하는데,

Starting Windows xx라고 나올 때 F8키를 누르면 메뉴가 나오고, 그 중에서 5번 DOS prompt only를 선택합니다.

 

그리고 나서 프롬프트가 나오면,

    c:> loadlin vmlinuz root=/dev/hda1  ro

라고 입력하면 리눅스로 부팅되는 화면을 보실 수 있습니다.

단, mshbios/u라고 하여 한글 바이오스를 먼저 제거해주셔야만 합니다.

그 다음은 여러분이 아시는 바와 같이 lilo를 설정하고  lilo라고만 입력하시면 됩니다. 그러면 반가운 리로가 여러분을 맞이할 것입니다.

 

2.  복구디스크 만드는 방법

먼저, 현재 커널의 버전을 확인해야 합니다.

    [root@mmx /boot]# ls /lib/modules/

    2.2.17-8wl2

    [root@mmx /boot]#

다음은 디스켓을 넣고, 복구 디스켓을 만들어 보겠습니다.

    [root@mmx /boot]# mkbootdisk  --device   /dev/fd0   2.2.17-8wl2

    Insert a disk in /dev/fd0. Any information on the disk will be lost.

    Press <Enter> to continue or ^C to abort:   <= 리턴을 치면 시작합니다.

    [root@mmx /boot]# mount /mnt/floppy/

    [root@mmx /boot]# ls /mnt/floppy/

    boot  dev  etc  initrd.img  lost+found  vmlinuz-2.2.17-8wl2

    [root@mmx /boot]#

보시면 알겠지만, 마운트가 되어 있다면 먼저 마운트를 풀어주셔야 합니다.

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기