리눅스를 쓰는 분이라면 많은 분들이 lilo를 쓰고 계실 것이다. 나 또한 리눅스에 대해 많이 알고 있는 것은 아니지만, 내가 리눅스를 접하면서 겪었던 문제들 중 이제 막 리눅스를 시작한 분들에게 도움이 될 수 있을 것 같은 내용을 간단히 정리해 보았다.

 

1. LOADLIIN 사용하기

  LOADLIN은 DOS에서 직접 리눅스를 로드하는 프로그램이다. 이 프로그램은 도스를 먼저 부팅하는 시스템이 필요하다. 즉, LOADLIN을 이용한 리눅스 부팅은 듀얼부팅이 아니라 도스로 부팅한 뒤에 LOADLIN을 실행시켜 리눅스를 불러들이는 방식이다. LOADLIN을 사용하기 위해서는 자신의 시스템에서 리눅스가 어디에 설치되어 있는가를 알고 있어야 한다.
  대부분의 리눅스 배포판 CD의 DOSUTIL 디렉토리에는 loadlin.exe 파일이 들어 있으므로 쉽게 구할 수 있을 것이다. 다음 순서대로 하면 어렵지 않을 것이다.

(1) 설치 중 만들어진 부트디스크를 이용해서 리눅스로 부팅한 다음 도스 파티션을 기록 가능한 상태로 마운트 한다.

(2) 리눅스의 커널(/boot 안에 있는 vmlinuz-x.x.x형식의 파일)을 도스 파티션으로 복사한다.

(3) 시스템을 도스로 다시 부팅한다.

(4) loadlin.exe파일을 리눅스 커널이 복사된 디렉토리에 복사한다.

(5) 도스 프롬프트에서 다음 형식으로 입력하면 리눅스로 부팅이 된다.
     loadlin kernel root
ro
     Ex> c:\linux\loadlin.exe c:\linux\vmlinuz root=/dev/hda2 ro

  이를 batch 파일로 만들어 두면 편하다. 또한 윈도우 멀티부팅을 이용하면 부팅시 메뉴에서 리눅스 부팅을 선택할 수도 있어 마치 듀얼부팅처럼 쓸 수 있다.

2. LILO 설정하기

  리눅스를 자주 쓰시는 분이라면 lilo를 설치해 두는 것이 좋다. lilo는 MBR이나 boot 파티션의 boot sector에 설치할 수 있는데, 나름대로의 사용 조건에 따라 선택하면 된다. 리눅스를 설치하면 기본적인 lilo 환경이 구축이 되지만, 환경변수를 알면 좀 더 나은 lilo를 만들 수 있다.
  LILO는 /etc/lilo.conf 파일로 설정한다. 다음은 기본적인 lilo.conf 파일의 내용이다.(번호는 없음)
  * 리눅스 설치시 한가지 주의해야 할 점이 있다. 리눅스 파티션을 나눌 때 /boot 파티션 만큼은 반드시 첫 번째 하드디스크(즉, hda나 sda)의 1024 실린더 안에 설치해야 한다. 그렇지 않으면 lilo가 인식하지 못할 수 있다.

    01: boot=/dev/hda2
    02: map=/boot/map
    03: install=/boot/boot.b
    04: prompt
    05: timeout=50

    06: image=/boot/vmlinuz
    07:         label=linux
    08:         read-only
    09:         root=/dev/hda2

    10: other=/dev/hda1
    11:         label=dos
    12:         table=/dev/hda

  1번 줄의 boot=/dev/hda2라는 옵션은 LILO가 첫 번째 IDE 디스크 드라이브에 있는 두 번째 파티션의 부트 섹터에 저장 되어 있다는 것을 나타낸다. 즉, 여기서는 LILO가 MBR이 아닌 hda2에 설치된 것이다.
  2번 줄의 map=/boot/map은 map파일의 위치를 정의한다. 이 파일에는 LILO 부트 로더가 읽을 수 있는 형식으로 운영체제 커널의 물리적인 위치를 저장하고 있다.
  3번 줄의 install=/boot/boot.b는 /sbin/lilo가 부트 섹터에 설치한 파일을 정의한다.(boot.b는 LILO 부트로더이다)
  4번 줄의 prompt는 부팅시에 "LILO:"라는 프롬프트가 나타나 'linux'나 'dos'같은 label을 입력할 수 있게 해준다.
  5번 줄의 timeout은 prompt의 대기 시간으로 50/10초를 의미한다. 즉, 50이라고 되어 있으면 5초를 대기한다는 뜻이다.
  6번부터 9번까지는 리눅스 부트 이미지 설정이며, 10번부터 12번까지는 리눅스 이외의 운영체제, 여기서는 dos의 부트 이미지 설정이 된다.
  6번 줄의 image문은 /boot/vmlinuz-x.x.x라는 디폴트 커널을 지정한다. 7번과 11번의 label은 부트 프롬프트에서 입력할 수 있는 이름을 정의한다. 8번은 LILO에게 루트 파일 시스템이 읽기 전용으로 만운트 되어야 한다는 사실을 알려준다. 이렇게 하면 부트 시간 동안에 루트 파일 시스템을 보호하고 파일 시스템 점검(fschk)이 신뢰할 수 있도록 실행되게 한다. fschk가 완료되면 루트가 다시 읽기/쓰기로 마운트될 것이다.
  10번 줄의 other는 다른 운영체제의 부트 섹터를 지정하는데, 이 역시 첫 번째 하드디스크 드라이브에 위치하여야 한다.

  LILO에는 이러한 기본적인 옵션 외에 더 많은 설정 옵션이 있다. 그중 몇 가지를 소개한다.

linear

:

가끔씩 대형 SCSI 디스크를 다루기 위해 필요. linear옵션은 전형적인 실린더, 헤드, 섹터 주소 대신 선형적인 섹터 주소(순차적인 섹터 번호)를 사용하도록 한다.
  

append

:

시스템이 자동으로 탐지하지 못한 하드웨어를 식별하는데 사용된다.
Ex) append="ether=3, 0x300, eth0"  (Ethernet 장치인 eth0를 IRQ 3, I/O 300에 설치하도록 지정)
        

default

:

여러 개의 운영체제를 쓸 경우 default=label-name을 지정해 줌으로서 기본 부트 label을 지정할 수 있다. 이 옵션이 없으면 맨 처음 정의된 부트 label이 default가 된다.
   

password

:

시스템을 다시 부팅할 때 패스워드 요구. 이때 주의할 것은 password는 암호화되지 않은 text로 저장되므로 반드시 lilo.conf 파일은 루트 사용자만 읽을 수 있도록 지정해야 한다.
   

restricted

:

password 옵션과 같이 쓰이며, 부팅할 때 시스템에 파라미터가 전달되어야만 패스워드 요구. 예를 들어 부팅시 'LILO: '에서 'linux 라고만 입력하면 그냥 리눅스로 부팅이 되지만, 'linux single'라고 입력하면 패스워드를 요구함.

  이를 가지고 다음과 같이 구성해 보았다. 각자의 시스템에 맞게 참고 하시길 바란다.

    boot=/dev/hda2
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=20
    default=linux

    image=/boot/vmlinuz
            label=linux
            read-only
            root=/dev/hda2
            password=mypassword
            restricted
            append="reboot=warm"
            append="ether=3, 0x300, eth0"

    other=/dev/hda1
            label=win
            table=/dev/hda

    other=/dev/hda4
            label=dos
            table=/dev/hda

  여기서 append="reboot=warm"은 리눅스 재부팅시 리눅스의 기본 설정인 cold 부팅이 아닌 warm 부팅을 하도록 설정한다.
  lilo.conf의 내용을 고쳤다면 반드시 lilo를 실행시켜 주어야 한다.

    root:/etc/># lilo [Enter]

☞ 이것도 한번 해보세요!!!

    /etc/bashrc 파일의 내용을 보면 PS1="..." 항목이 있다. 바로 리눅스의 프롬프트 모양을 정의한 항목이다. 기본적으로,
        PS1="[\u@\h \W]\\$ "
    라고 되어 있는데, 이를 다음과 같이 바꿔 보시길...\
        PS1="\u:\$PWD/>\\$ "
    그리고 다시 로그인을 하면 다음과 같은 프롬프트를 볼 수 있을 것이다.
        root:/root/># (root 로그인 시)
        userid:/home/userid/>$ (다른 사용자 로그인 시)
    (여기서 \u=user,  \h=host name,  \$PWD=전체 경로)

- 이것으로 끝 -

 

대부분의 저작권은 byulbee에게 있으며, 일부 그림들은 만든 분께 있습니다. (4332-4333)

Copyrightⓒ1999-2000, byulbee (Kim Choon-ho). All rights reserved.