LILO, Linux Crash Rescue HOW-TO Al Dev (Alavoor Vasudevan) alavoor@yahoo.com v2.0, 05 Sep 2000 맹지찬, jcmaeng@kldp.org 2000년 9월 27일 이 문서는 리눅스 시스템 실패에서 복구하는 방법들을 논의한다. 리눅스 시스템이 잘못되는 경우 거기에는 수많은 원인이 있을수 있다. - LILO가 깨졌거나, 또는 리눅스로 부팅하는데 실패하거나, 또는 마스터 부트 레코드(MBR)에 손상이 갔거나 아니면 윈도우 NT와 같은 다른 운영체제가 설치되서 LILO나 MBR을 지워는 바람에 리눅스가 부팅에 실패할수도 있다. ______________________________________________________________________ 목차 1. 소 개 1.1 복구를 위한 잰걸음 1.2 예방법 1.3 LILO 제거하기 1.4 일반적인 실수들 2. 관련된 URL들 3. 이 문서의 다른 포맷들 4. 저작권 ______________________________________________________________________ 1. 소 개 여러분은 사고를 피할수 없고 만일 리눅스 시스템에 일어난다면 이는 마스터 부트 레코드 (MBR) 이나 LILO (리눅스 부트 로더)를 손상시킬수 있다. 하드디스크에 문제가 생기면 리눅스는 부팅하지 못하는 경우도 있다. 만일 여러분이 뜻하지 않게 다시 파티션하거나 Windows 98/NT와 같은 다른 추가적인 운영체제를 리눅스 컴퓨터상에 설치하면 LILO도 또한 문제가 생긴게 된다. 이 문서는 여러분에게 수백페이지에 달하는 LILO와 리눅스에 관한 문서들을 통 하지 않고 빨리 복구할수 있도록 몇가지 아이디어, 팁들 그리고 간단한 안내서를 제공한다. 1.1. 복구를 위한 잰걸음 LILO 혹은 시스템 고장에서 복구하기 위해서는 다음의 단계들을 따라하라. 1. SCENE 1: 만일 여러분의 시스템이 부팅이 되지 않는다면 - tomsrtbt 플로피 를 구한다. tomsrtbt 플로피로 부팅한다. 파티션을 찾기위해 fdisk /dev/hda 를 사용한다. /etc/fstab 을 편집하고 집어넣는다.(여기 주어진것은 샘플 코드이다) ___________________________________________________________________ /dev/hda4 /a4 ext2 defaults 1 1 /dev/hda1 /a1 vfat defaults 1 1 내 컴퓨터의 hda4는 리눅스 부트/루트 파티션이 있고 hda1에는 windows 95 vfat 시스템이 들어있다. bash# mkdir /a4 /a1 bash# mount /a4 bash# mount /a1 그리고 시스템을 고친다. ___________________________________________________________________ 2. SCENE 2: 만일 LILO가 작동하지 않는다면.. 위의 scene 1 을 따라하고, 만일 실패하면 그후에는 다음과 같이 하라. ___________________________________________________________________ bash# mkdir /a4 /a1 bash# mount /a4 bash# mount /a1 bash# chroot /a4 /sbin/lilo -q bash# man chroot bash# chroot /a4 /sbin/lilo ___________________________________________________________________ 3. SCENE 3: 만일 LILO가 작동하지 않는다면.. 만약 scene 1 과 2 가 실패하면, 그후에는 'mkbootdisk' (설치도중이나 아니면 'man mkbootdisk'를 사용해서)로 부트 디스크를 만들고, 그 디스 크로 부팅해서 여러분의 파티션을 고치라. 4. SCENE 4: 만일 위의 1, 2 그리고 3 가 실패하고 여러분은 부트 디스크를 가지지 않았다면 만일 여러분에게 리눅스로 돌아가는 다른 컴퓨터가 있다면, root로 로그 인해서 다음을 행하라. ___________________________________________________________________ bash$ man mkbootdisk bash# cp /etc/lilo.conf /etc/lilo-original.conf ___________________________________________________________________ /etc/lilo.conf를 편집해서 위의 'scene 1'에서 얻은 루트 파티션 이름을 넣는다. 그리고 빈 플로피 디스크를 넣고 다음을 입력한다. ______________________________________________________________________ bash# mkbootdisk /dev/fd0 ______________________________________________________________________ /etc/lilo-original.conf를 /etc/lilo.conf로 돌려놓았는지 확인하라!! 그리고나서 이 플로피를 가지고 scene 3로 가라. 5. SCENE 5: 위의 scenes 1, 2, 3 그리고 4가 실패한다면 1 단계: tomsrtbt로 부팅하고 파티션들을 마운트한후 루트 파티션을 공간이 있는 다른 파티션으로 다음과 같은 명령으로 백업을 한다. ___________________________________________________________________ /etc/fstab 를 편집해서 입력한다 (여기에 주어진 것은 샘플 코드이다) - /dev/hdb1 /b1 vfat defaults 1 1 bash$ mkdir /b1; mount /b1 bash$ cd / bash$ tar cvf /b1/root-a4.tar a4 ___________________________________________________________________ 2 단계: 리눅스 cdrom을 넣고, 리부트한후 /dev/hda4에 레드햇 리눅스를 설치한다 (하지만 어떤한 별도 패키지도 설치하지 말라. 여러분은 단지 루트, 부트 시스템과 LILO 매니저의 아주 기본적인 최소한의 것만 설치할 필요가 있다). 이는 또한 LILO를 하드 디스크에 설치하게 된다. 이제 리눅스로 부팅한후 root로 로그인해서 다음과 같이 하라 - ______________________________________________________________________ bash$ man mkbootdisk bash# cp /etc/lilo.conf /etc/lilo-original.conf ______________________________________________________________________ 주의: 여러분은 반드시 lilo-original.conf를 lilo.conf로 되돌려놓아야 한다는 것을 기억해야만 한다!! /etc/lilo.conf를 편집해서 여러분의 위의 내린다. ______________________________________________________________________ bash# mkbootdisk /dev/fd0 bash# cp /etc/lilo-original.conf /etc/lilo.conf ______________________________________________________________________ 이 플로피를 가지고 문제가 있는 머신에서 이 부트 플로피로 테스트해서 제대로 돌아가면 여러분이 위의 1 단계에서 tar를 사용해서 /b1/root- a4.tar로 백업했던 모든 파일들을 돌려놓으면 된다. 1.2. 예방법 다음의 예방법을 따라서 미래의 문제들에 대처하라. o 여러분은 반드시 파티션을 변경할때마다 계속해서 비상 부트 디스크를 만들 어야만 한다. 빈 플로피를 넣고 이렇게 한다 - ___________________________________________________________________ bash$ man mkbootdisk mkbootdisk는 mkbootdisk*.rpm 패키지 안에 있으므로, 이것을 설치해야만 한다. bash$ mkbootdisk --help bash$ mkbootdisk --device /dev/fd0 2.2.12-20 ___________________________________________________________________ o 여러분은 필히 tomsrtbt 부트 플로피를 손에 가지고 있어야 한다. 다음을 방문해 보길 바란다. o Yard 복구 및 부트 플로피 디스크를 가지고 있어야 한다. 다음을 방문해 보라. o /root 와 /boot 디렉토리를 백업하라. Tomsrtbt 플로피로 부팅해서 아래와 같이 한다 ___________________________________________________________________ bash# vi /etc/fstab 그리고 다음의 내용을 집어넣는다 - /dev/hda1 /a1 vfat defaults 1 1 /dev/hdb1 /b1 vfat defaults 1 1 내 경우에는 hda1이 리눅스 루트파티션 '/' 이다. bash# cd / bash# tar cvf /b1/linux-root-partition-hda1.tar a1 bash# tar cvf /b1/linux-boot-partition-hda1.tar a1/boot ___________________________________________________________________ 1.3. LILO 제거하기 여러분은 부트섹터를 다음의 DOS 명령을 통해 DOS 부트 로더로 교체할수 있다. ______________________________________________________________________ FDISK /MBR ______________________________________________________________________ MBR은 "마스터 부트 레코드(Master Boot Record)"를 의미한다. LILO를 제거하기 위한 다른 방법들에 대해서는 리눅스상의 /usr/doc/lilo*에 있는 LILO 문서들도 보기 바란다. 또한 'man lilo'도 보라. 1.4. 일반적인 실수들 /etc/lilo.conf를 수정한 후에는 반드시 lilo를 실행해서 변경된 사항을 반영해야 한다. 이것은 매우 일반적인 실수로 새로운 사용자들이 많이 저지르는 것이다. 다음을 입력하라. ______________________________________________________________________ bash# lilo -v -v -v ______________________________________________________________________ 2. 관련된 URL들 LILO, 리눅스 복구, 크래쉬 복구와 관련된 다음의 장소들을 방문해보라 - o Mini Lilo HOWTO o Bootdisk-HOWTO o 미리 만드러진 부트 디스크들 o Tomsrtbt 부트 플로피 디스크 o Yard 복구 및 부트 플로피 디스크 o BootPrompt-HOWTO o Multiboot with LILO mini HOWTO o Linux+WinNT mini HOWTO o Linux goodies 메인 사이트 o Linux goodies 미러 사이트 o C++, C용 Vim 칼라 텍스트 편집기 3. 이 문서의 다른 포맷들 이 문서는 다음의 11가지 다른 형식이 있다 - DVI, Postscript, Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format), Plain- text, Unix man pages 그리고 SGML. o 여러분은 이 HOWTO 문서를 HTML, DVI, Postscript 또는 SGML 포맷으로 된 tar 압축 파일로 다음의 장소에서 얻을수 있다 - o 일반 텍스트 포맷은 여기에 있다: o 프랑스어, 독일어, 스페인어, 중국어, 일본어와 같은 다른 언어로 번역된 문서는 에 있다. 다른 언어들로 번역하기위한 여러분의 어떠한 도움도 환영한다. 이 문서는 "SGML-Tools"라고 불리는 도구를 사용해서 작성되었다. 이는 에서 구할수 있다. 여러분은 다음의 명령을 사용해서 소스를 컴파일해서 얻을수 있다. o sgml2html LILO-crash-rescue-HOWTO.sgml (html 파일 생성) o sgml2rtf LILO-crash-rescue-HOWTO.sgml (RTF 파일 생성) o sgml2latex LILO-crash-rescue-HOWTO.sgml (latex 파일 생성) LaTeX 문서는 sgml2latex (그리고 dvips)를 사용해서 출력된 포스트스크립트 를 이용해서 Acrobat distill ( ) 명령을 통해 다음과 같이 간단히 PDF 파일로 변환시킬수 있을 것이다. ______________________________________________________________________ bash$ man sgml2latex bash$ sgml2latex filename.sgml bash$ man dvips bash$ dvips -o filename.ps filename.dvi bash$ distill filename.ps bash$ man ghostscript bash$ man ps2pdf bash$ ps2pdf input.ps output.pdf bash$ acroread output.pdf & ______________________________________________________________________ 또는 Ghostscript 명령인 ps2pdf를 사용할수도 있다. ps2pdf는 Adobe의 Acrobat Distiller 제품과 기능적으로 비슷하게 작동한다. 이것은 포스트스크립트 파일을 포터블 문서 포맷(PDF) 파일로 변환한다. ps2pdf는 Ghostscript를 호출하는 매우 작은 명령 스크립트(배치 파일) 의 구현으로, pdfwrite라는 특별한 "출력 장치"를 선택하게된다. ps2pdf를 사용하기 위해서, pdfwrite 장치가 Ghostscript가 컴파일 되었을때 makefile내에 존재해야만 한다. Ghostscript의 컴파일에 대한 상세한 문서는 문서를 보기 바란다. 하우투 문서는 여기에 있다. o 또한 여러분은 다음의 미러 사이트에서도 이 문서를 찾을수 있다. o o o o o 여러분에게서 가까운 (네트웍 주소로) 다른 미러 사이트들은 에서 찾을수 있다. 사이트를 선택한후 /LDP/HOWTO/LILO-crash-rescue-HOWTO.html 디렉토리로 가면된다. dvi 포맷의 문서를 보기 위해서는 xdvi 프로그램을 사용한다. xdvi 프로그램은 레드해 리눅스의 tetex-xdvi*.rpm 패키지 안에 있으며, ControlPanel | Application | Publishing | TeX 메뉴 버튼에서 찾을수 있다. dvi 문서를 읽으려면 다음의 명령을 사용한다. xdvi -geometry 80x90 howto.dvi man xdvi 그리고 마우스로 윈도우의 크기를 조절한다. 방향키, Page Up, Page Down 키를 사용해서 움직여가며 볼수 있고, 또한 여러분은 위, 아래, 중앙, 다음 페이지, 이전 페이지 등으로 이동하기위해 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' 문자키들을 쓸수 있다. 전문가 메뉴를 끄려면 'x'를 누른다. 포스트스크립트 파일은 'gv' (고스트뷰)나 'ghostscript'를 사용해서 읽을수 있다. ghostscript 프로그램은 ghostscript*.rpm, 그리고 gv 프로그램은 레드햇 리눅스의 gv*.rpm 패키지 내에 있으며, ControlPanel | Applications | Graphics 메뉴 버튼에서 찾을수 있다. gv 프로그램은 ghostscript보다 더 사용하기 좋다. 또한 ghostscript와 gv는 OS/2, Windows 95 와 NT와 같은 다른 플랫폼에서도 사용할수 있다. o Windows 95, OS/2, 그리고 모든 OS들용 고스트 스크립트는 에서 구할수 있다. 포스트스크립트 문서를 읽기 위해서는 다음과 같이 명령을 주면된다. gv howto.ps ghostscript howto.ps 여러분은 넷스케이프 네비게이터, 마이크로소프트 인터넷 익스플로러, 레듯햇 바론 웹 브라우저 또는 다른 어떤 10여개의 웹 브라우져로 HTML 형식 문서를 읽을수도 있 다. 4. 저작권 저작권 정책은 LDP (리눅스 문서화 프로젝트)에서의 GNU/GPL 이다. LDP는 GNU/GPL 프로젝트이다. 여러분은 저자의 이름, 이메일 주소 그리고 이 저작권 알림을 모든 사본들에 유지 해야한다. 만일 이문서에 대해 어떤 변경이나 추가를 한다면 이 문서의 모든 저자들 을 상세히 적어주기 바란다. 이 문서내에 언급된 상표들은 그 소유권자에게 권한이 있다.