LILO

Linux Loader.

리눅스 부팅을 해 준다.
예전에 널리 쓰였고, 현재는 거의 쓰이지 않으며 GRUB,grand_unified_bootloader이 쓰인다.

LILO 부트 프롬프트

boot: 
tab키를 눌러 사용 가능한 OS 목록을 볼 수 있다.

부팅 옵션도 적을 수 있다.
드라이브 지오메트리(geometry) 명시하기:
hd=cyl,head,sect



설정 파일 /etc/lilo.conf

(어떤 시스템에서는 /boot/lilo.conf나 /etc/lilo/config일 수 있다.)
각 운영체제마다 절(stanza)이라는 용어를 쓴다.

boot = /dev/hda
compact
install = /boot/boot.b
map = /boot/map

image = /boot/vmlinuz # kernel image file
label = linux
root = /dev/hda2        # Linux root partition
vga = ask               # ask for VGA text mode at boot time
append = "hd=683,16,38" # 부트 옵션을 여기에 명시할 수 있다. (여기서는 drive geometry)
# 드라이브가 둘 이상이면,
# append = "hd=683,16,38 hd=64,32,202"

# 아래와 같은 식으로 다른 운영체제 추가 가능.
other = /dev/hda1
table = /dev/hda      # location of partition table
label = windows


single
단일 사용자 모드로 부팅. 모든 시스템 설정을 건너뜀.

root=partition
리눅스 루트 파티션으로 마운트 할 곳 지정.

ro
루트 파일시스템을 읽기 전용으로 마운트,mount.
주로 fsck하려고 사용한다.

ramdisk=size
램디스크 크기 명시, 대부분의 경우 필요가 없고 주로 설치할 때에만 필요하다.

mem=size
커널에게 램 용량을 알려줌. 64MB이하의 용량은 BIOS에서 읽어오지만 더 많은 경우 커널에게 정확한 용량을 알려주어야 할 때가 있다. 그렇지 않으면 앞 부분인 64M만 사용하게 된다. 새로운 버전의 커널에서는 필요가 없다 한다.
ex. mem=128M

vga에 쓸 수 있는 값으로는
normal (80x25)
extended (132x44, 132x60 같은 확장 텍스트_모드,text_mode)
ask (부팅할 때 묻기. 모드들을 보여주고 번호를 입력하여 선택한다.)
1, 2, 3 같은 정수 (ask를 썼을 때 나오는 모드 번호)

설정 적용 /sbin/lilo

/etc/lilo.conf 설정이 준비되었다면 적용하는 명령은 (root 사용자로) /sbin/lilo이다. 다음과 같이 출력된다.
# /sbin/lilo
Added linux
Added windows
#


다음 파일에는 원본 부트 레코드 백업이 저장되어 있다.

/boot/boot.0300 (IDE HDD)
/boot/boot.0800 (SCSI HDD)

dd_명령으로 이 백업 파일을 드라이브에 적용할 수 있다.
dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1
파일 크기 515바이트 중 처음 446 바이트만 MBR,master_boot_record에 적용한다.


참조: 러닝 리눅스