부트이미지를 설정하는 lilo명령어 사용법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,343 조회
- 0 추천
- 목록
본문
부트이미지를 설정하는 lilo명령어 사용법
lilo는 리눅스로더(Linux Loader)의
약어로서 특별한 파일을 지정하지 않는 한 기본파일로서 /etc/lilo.conf파일의
설정내용을 참조하여 MBR(Master Boot Record)에
부트정보이미지를 설정하는 명령어입니다.
간단히 말해서 리눅스 부트로더(boot loader)를 설치하는 명령어라고 할 수 있습니다.
lilo명령어가 사용되는 경우는 대부분 /etc/lilo.conf파일의 내용을 수정하였거나 커널컴파일을 수행한 후에 사용하는 것으로 변경된 부팅정보를 MBR이라는 부트레코드에 설정하는 역할을 합니다.
이렇게 설정된 후에는 부팅초기화면에서 추가된 커널로 부팅을 할 수 있습니다.
물론 커널을 추가하지 않아도 커널 재컴파일을 하거나 단순히 /etc/lilo.conf파일만을 수정하였을 경우에도 lilo명령어를 사용해서 MBR에 적용해야 합니다.
[참고사항] LILO와 GRUB에 대하여
lilo명령어에서 참고로 알아두실 것이 있습니다.
만약 리눅스로더(Linux Loader)로서 LILO가 아닌 GRUB을 사용한다면 MBR에 부트로더(boot loader)를 설치하기 위하여 grub-install명령어를 사용하셔야 합니다.
즉, LILO에서 lilo는 GRUB에서 grub-install과 같은 역할을 하는 명령어라고 할 수 있습니다.
그리고 대부분의 시스템에서 사용되고 있는 부트로더는 LILO가 아닌 GRUB을 사용하고 있습니다.
하지만, 아직까지도 리눅스 부트로더로서 LILO를 사용하시는 분들이 계실 것 같아서 이번 장의 내용을 빼지 않았습니다.
따라서 이번 장에서 설명하고 있는 LILO가 필요 없으신 분들은 이번 장의 설명을 보지 않으셔도 됩니다.
참고 하세요. |
명령어위치
: /sbin/lilo
사용형식 :
lilo [옵션]
다음은 리눅스 쉘명령어상태에서 “lilo”라는 명령어를 실행하였을 때에 어떤 과정으로 부트정보이미지를 생성하는가를 간단하게 설명한 것입니다.
1. /etc/lilo.conf파일에 설정된 정보를 읽어 들입니다.
2. 부트디바이스(boot device)로 사용되고 있는 파일시스템으로부터 부트섹트(boot sector)정보를 읽어 들입니다.
3. 커널 부트이미지를 선택합니다.
4. 램디스크(RAM disk)정보를 매핑(Mapping)합니다.
5. 부트정보를 생성합니다.
6. /etc/lilo.conf파일의 설정에 의해 다른 부트정보가 있다면 위의 2,3,4,5번을 반복합니다.
7. 위의 과정이 종료되었다면 생성한 부트정보를 boot sector에 저장합니다.
다음은 필자가 사용하고 있는 리눅스 서버의 /etc/lilo.conf파일의
내용입니다.
아래의 내용을 살펴보시면 아시겠지만 현재 한 개의 부팅메뉴가 있습니다.
[root@command etc]# cat /etc/lilo.conf prompt timeout=50 default=linux boot=/dev/sda map=/boot/map install=/boot/boot.b message=/boot/message linear
image=/boot/vmlinuz-4.4.20-8smp label=linux initrd=/boot/initrd-4.4.20-8smp.img read-only append="root=LABEL=/" [root@command etc]# |
위의 각 항목들 중 중요한 항목을 설명하면 다음과 같습니다.
timeout
초기 부팅화면에서 부팅메뉴에서 사용자의 선택을 기다릴 대기시간입니다.
1/10초로 지정됩니다.
즉, 위의 50은 5초를 의미합니다.
default
초기부팅화면에서 사용자의 선택이 없을 경우에 기본부팅메뉴를 선택합니다.
즉, 위의 설정에서는 이 항목(default)의 값이 linux로 되어 있는 메뉴가 기본 부팅메뉴가 됩니다.
boot
부트디바이스장치입니다.
즉, /dev/sda파티션이 부트파티션으로 사용된다는 의미입니다.
image
각 부팅메뉴에서 부팅에 사용할 커널이미지를 지정해 둔 것입니다.
즉, 현재 시스템의 /etc/lilo.conf파일이 이와 같을 경우에 새로운 커널로 업그레이드를 하였습니다.
즉, 새로운 커널을 컴파일 한 후에 이 새로운 커널을 현재 시스템에서 사용하기 위하여(즉, 부팅메뉴로 사용하기 위하여) 아래의 예와 같이 /etc/lilo.conf 파일을 다음과 같이 수정 하였습니다.
[root@command etc]# cat /etc/lilo.conf
prompt timeout=50 default=linux boot=/dev/sda map=/boot/map install=/boot/boot.b message=/boot/message linear
image=/boot/vmlinuz-4.4.20-8smp label=linux initrd=/boot/initrd-4.4.20-8smp.img read-only append="root=LABEL=/"
image=/boot/vmlinuz-4.4.20-8 label=NEW_KERNEL initrd=/boot/initrd-4.4.20-8.img read-only append="root=LABEL=/" [root@command etc]# |
위와 같이 /etc/lilo.conf파일을 수정한 후에는 반드시 lilo명령어를 수행하여 변경된 정보를 시스템에 적용해야 합니다.
부트로드(boot loader)에 적용이 되기 때문입니다.
다음은 lilo명령어를 수행하여 위와 같이 변경된 /etc/lilo.conf파일을 적용한 예입니다.
[root@command etc]# lilo Added linux * Added NEW_KERNEL [root@command etc]# |
만약 lilo의 실행과정을 자세히 확인하려면 -v옵션을 사용하시면 됩니다.
[root@command etc]# lilo -v LILO version 21.4-4, Copyright (C) 1992-1998 Werner Almesberger 'lba32' extensions Copyright (C) 1999,2000 John Coffman
Reading boot sector from /dev/sda Merging with /boot/boot.b Mapping message file /boot/message Boot image: /boot/vmlinuz-4.4.20-8smp Mapping RAM disk /boot/initrd-4.4.20-8smp.img Added linux * Boot image: /boot/vmlinuz-4.4.20-8 Mapping RAM disk /boot/initrd-4.4.20-8.img Added NEW_KERNEL /boot/boot.0800 exists - no backup copy made. Writing boot sector. [root@command etc]# |
따라서 위의 결과로 알 수 있는 것은 linux라는 부팅(메뉴)정보와 NEW_KERNEL이라는 부팅(메뉴)정보가 생성되었다는 것을 알 수 있습니다.
다음은 lilo의 조회기능에 대한 설명입니다.
즉, “lilo -q”라고 하시면 현재 부트로더에서 인식하고 있는 부팅정보를 확인할 수 있습니다.
[root@command etc]# lilo -q linux * NEW_KERNEL [root@command etc]# |
즉, 위의 “lilo -q”의 결과 linux와 NEW_KERNEL이라는 두가지 부팅정보가 설정되어 있음을 알 수 있습니다.
그리고 “*”라고 되어 있는 것은 부팅메뉴에서 선택하지 않았을 때에 기본부팅메뉴로 사용되는 것입니다.
관련자료
-
이전
-
다음