# 부팅 디스켓 만들기 & LILO로 부팅이 안될때...
글쓴이: 이성수
등록: 2000-11-08 17:03:39

리눅스 부팅 디스켓 만들기, LILO가 파손돼서 부팅이 안될때...
2000.11. 8 이성수<senux [at] senux [dot] com>  만듬

리눅스 시스템을 사용하다 간혹 부팅이 안되는 문제가 생겼을때 초보자분은 당황하는 경우가 많습니다.
미리 부팅 디스켓을 만들어두지 않았을수도 있고 주변에 리눅스 컴퓨터가 없을경우 더욱 당황할 수 있겠지요.
몇 가지 방법이 있으니 시도해 보시기 바랍니다.

이 문서의 내용중 잘못되거나 부족한 부분이 있다면 알려주시기 바랍니다.

1. 리눅스 시스템에서 부팅 디스켓 만들기. (mkbootdisk)

당연히 디스켓 한 장이 필요합니다. 부팅 디스켓을 만들면 이전에 디스켓에 있던 자료들은 지워지니
중요한 내용이 있다면 미리 다른곳에 백업해 두어야 합니다. 그리고 디스켓에 배드 섹터가 없어야 합니다.
배드 섹터가 있을경우 부팅 디스켓이 만들어지지 않으며 간혹 만드는 과정에는 문제가 없었지만 실제로
그 디스켓으로 부팅을 시도할때 잘 안되거나 문제가 생길 수 있습니다.

리눅스 시스템에 root 계정으로 로그인해서 다음과 같이 입력합니다.
물론 디스켓은 컴퓨터에 넣어둔 상태입니다.

# mkbootdisk --device /dev/fd0 2.2.16-22

mkbootdisk가 부팅 디스켓을 만드는 명령이고 /dev/fd0 은 플로피 디스크 드라이브의 장치명입니다.
그리고 2.2.16-22는 부팅 디스켓을 만들때 사용될 커널의 버젼명입니다. 이것은 /lib/modules/ 디렉토리
밑에 있는 서브 디렉토리 이름과 똑같아야 합니다.

# ls -l /lib/modules/
total 4
drwxr-xr-x 12 root root 4096 Nov 3 08:55 2.2.16-22

예를들어 자신이 커널 2.2.16을 사용한다고 2.2.16 이라고만 입력했을때 mkbootdisk 에서 에러가 생긴다면
ls -l /lib/modules를 해서 정확한 디렉토리 이름을 확인하세요.

mkbootdisk 명령이후 잠시후 부팅 디스켓이 만들어집니다. 바로 디스켓은 빼도 됩니다.

CMOS 설정에서 부팅 순서중에서 A: 를 가장 처음에 오도록 설정하고 부팅 디스켓을 넣으면
linux: 라는 프롬프트가 생깁니다. 여기서 그냥 엔터를 누르면 부팅 디스켓을 만들때의 시스템 상황에 맞쳐서
부팅이 됩니다. 만약 그 디스켓을 다른 리눅스 컴퓨터에서 사용할때는 루트 파일 시스템의 위치를
바꿔줘야 하는 경우가 있습니다. 예를들어 어떤 리눅스 시스템의 루트 파일 시스템이 /dev/hda6 일 경우
디스켓으로 부팅시 다음과 같이 입력합니다.

(root=/dev/hda6 부분만 실제로 입력)

linux: root=/dev/hda6

2. 리눅스 시스템에서 부팅 디스켓 만들기.
(커널 이미지로 직접만들기)

리눅스 시스템이 있다는 전제하에서 다름과 같은 방법으로도 부팅 디스켓을 만들 수 있습니다.

예들들어 현재 2.2.17 커널을 사용중인 리눅스 시스템에서 그 커널 이미지가 /boot/vmlinuz-2.2.17
파일일때 다음과 같이 입력합니다.

# cat /boot/vmlinuz-2.2.17 > /dev/fd0

이렇게 하면 커널 이미지 파일이 디스켓으로 옮겨져서 부팅이 될 수 있는 상태입니다.
그리고 부팅 디스켓에 루트 파일 시스템의 위치를 정해줘야 하는데 rdev 명령을 씁니다.

아래처럼 입력하면 /dev/fd0(플로피 디스크 드라이브)에 있는 부팅 디스켓의 루트 파일 시스템을
/dev/hda6에 있다고 설정하는 것입니다. 이것은 자신의 상황에 맞게 해주세요.

# rdev /dev/fd0 /dev/hda6

만약 현재 디스켓에 설정된 루트 파일 시스템에 무엇인지 알고싶다면 간단히 아래처럼 입력합니다.

# rdev /dev/fd0

이제 이 디스켓으로 부팅하면 바로 리눅스가 로딩될 것입니다.

3. 설치 CD로 부팅하기.

레드햇 계열의 배포판 설치 CD 기준으로 설명합니다. 설치 CD를 이용해서 비상시에 부팅 디스켓이
없을때 부팅용으로 활용 할 수 있습니다. 설치 CD로 부팅한 후 아래처럼 입력합니다.

Boot: linux root=/dev/hda6 initrd=

Boot:는 프롬프트이니 실제로는 linux 이후부터 입력합니다.
/dev/hda6는 자신의 리눅스 루프 파일 시스템이 있는곳으로 써주면 됩니다.

4. 부팅이 된 후....

디스켓이던 설치 CD던 일단 부팅에 성공했다면 lilo를 다시 한번 실행해 줍니다.
이러면 MBR에 파괴돼던 LILO 관련 정보가 다시 갱신되므로 다음번 부팅부터는 LILO로 부팅 할 수 있을것입니다.

root 권한으로 로그인한 후 간단히 lilo 라고면 쳐주세요.

# lilo
Added linux *
Added windows

[참고] 만약 LILO의 1024 실린더 제한 관련 문제로 부팅이 안된 경우라면 /etc/lilo.conf 파일에서
혹시 linear 라는 부분이 있다면 주석처리하고 lilo -L 이라고 입력해 보세요.

관련 링크: http://kldp.org/script/bbs/read.php3?table=tip&no=520

'System' 카테고리의 다른 글

Syslogd  (1) 2001.10.12
magic sysrq key  (0) 2001.09.28
lilo가 죽었을때 dos에서 리눅스로 부팅  (0) 2001.09.07
ext3 파일시스템구축하기.  (2) 2001.08.24
커널로그만 따로 기록하기  (0) 2001.08.22

+ Recent posts