배철수 : 리눅스월드 발행인
|
||||||||||||||||||||
두 개의 하드를 사용하여 윈9X와 리눅스, 또는 두 개의 리눅스를 멀티부팅하는 방법을 설명한다. 첫번째로 아래의 경우를 설명한다. 1번 하드는 primary master 에 연결하여 윈98을 설치한다. 2번 하드는 primary slave 에 연결하여 리눅스를 설치한다. 리눅스 하드는 3개의 파티션으로 나누어 1번 파티션은 리눅스의 /boot 디렉토리에 마운트 되고, 2번 파티션은 swap으로, 3번은 리눅스의 루트(/) 파일시스템으로 사용한다. CD 드라이브는 secondary master에 연결한다. 즉, 1개의 하드에 윈98을 설치하여 사용 중인 피시에, 하드디스크 한 개를 더 연결하여 여기에 리눅스를 설치하고 윈98과 리눅스를 선택적으로 부팅하는 방법이다. 이 글에서 사용한 리눅스 배포본은 SuSE 6.3
정식버전이다. 다른 배포본은 "v"에서 설명한다.
이 글은 한 개의 하드에 SuSE 6.3을 단독으로 설치하는 경우에도
그대로 적용된다. 이 경우는 이 글의 멀티부팅 셋업 부분만 건너
뛰면 된다.
아래는 필자가 시험한 피시의 하드웨어 사양이다. 단지 참고용이므로 여러분의 피시가 아래와 같아야 할 필요는 없다. 이 피시는 필자가 조립하였다. 1. 마더보드 : Asus P2bf [ 주 ] 위의 장치 외에 그래픽 카드도 있으나 이 글과는 무관하여 여기에 소개하지 않는다. 아래는 완성 후의 필자의 두 하드디스크의 파티션 구성이다. 리눅스가 설치된 두 번째 하드의 파티션 구성은 SuSE 6.3 설치 시에 자동으로 구성된다. 따라서 하드의 크기가 다르면 필자의 경우와 다를 수도 있다. 그러나 멀티부팅을 구성하는데는 별 문제가 없다. - . 하드디스크 1 (primary master = /dev/hda)
- . 하드디스크 2 (primary slave
= /dev/hdb) - CD-ROM 드라이브 (secondary master = /dev/hdc) [ 참고 ] EIDE 콘트롤러가 장착된 피시(486 중
일부와 펜티엄 피시가 해당된다)에서는
하드디스크에서 부팅이 시작되는 마스터부트레코드(master boot record = MBR)에는 4개의 파티션 만을 등록할 수 있다. 따라서 리눅스의 fdisk에서 primary 파티션만 만들면 4개까지 가능하다.(/dev/hd?1~ /dev/hd?4) 만약 파티션을 4개 이상을 만들려면 4 개 중 한 개를 extended 파티션으로 지정하고 extended 파티션 내에 논리 드라이브를 설정해야 한다. extended 파티션 내에서 논리 드라이브는 여러 개가 가능한데 몇 개까지 가능한지는 필자는 잘 모른다. extended 파티션 내의 논리 드라이브 번호는 5번부터 시작한다.(/dev/hd?5) MBR에 확장파티션은 한 개만 가능하다.
I. 사전 지식 / 준비사항 이 글대로 설치를 진행하기 위해서는 도스에서의 fdisk 사용법, 드라이브명, 리눅스에서의 하드디스크 장치명 및 파티션 등에 대한 정확한 지식이 필요하다. 이에 대한 지식이 부정확한 상태에서 설치를 진행한다면 이미 설치되어 있는 윈98 하드디스크의 내용을 전부 지울 수도 있다. 시작 전에 중요한 윈98 데이터는 백업 하기를 권한다. 윈98은 이미 설치하여 사용하고 있는 것으로 가정하므로 윈98 설치에 관한 사항은 생략한다. 피시에 2번 하드디스크를 연결하는 절차가 필요하므로 EIDE 콘트롤러에 대한 지식이 필요하다. 이 부분을 모르면 하드웨어를 잘 아는 사람에게 두 번째 하드(리눅스를 설치할 하드)를 primary slave에 연결해 달라고 부탁한다. 이 부분을 할 수 없으면 이 글을 읽을 필요가 없다. 억지로 하려다 잘못하여 윈98 하드를 날리거나 스트레스 받아 아까운 머리카락 쥐어 뜯지 말고 낮잠이나 자는게 낫다. 리눅스에서 vi 나 emacs 등의 편집기를 사용하여 파일을 편집할 수 없으면 역시 이 글은 소용없다. 윈98을 계속 사용하길 권한다. 작업에 소요되는 시간은 윈98이 설치되어 있다면 하드디스크 크기에 따라 30분에서 1시간 정도다. 조금만 주의하면 설치에 실패해도 윈98이 설치된 1번 하드에는 아무런 영향을 주지 않으므로 언제든 최초의 상태로 돌아가 윈98을 사용할 수 있다. lilo (리눅스와 윈98의 멀티부팅을 가능하게 해주는 프로그램) 설치시 1번 하드의 마스터부트레코드(MBR)를 수정하기는 하나 이것도 윈98 시동디스크를 사용해 원래대로 복구할 수 있으므로 별로 걱정할 필요가 없다. 참고로 필자는 이 글을 쓰기 위해 4번이나 2번 하드의 리눅스를 완전히 지우고 윈98과 리눅스를 멀티 부팅하도록 구성했다. 1. 일부 구형
486 피시는 하드디스크를 두 개만 연결이 가능한 IDE 콘트롤러를
장착하고 있다. 2. 하드디스크를
연결하는 하드디스크 케이블 중에는 콘넥터가 한 개 밖에 없는 경우도
있다. 3. 두 하드는
모두 IDE 하드여야 한다. 한 개의 하드는 IDE 다른 하나는 SCSI
방식이라면 4. 리눅스를 설치할
두 번째 하드의 점퍼를 조정하여 하드디스크를 slave로 조정한다.
[ 주의 ]- 일부 하드는 한 케이블(primary)에
두 개의 하드를 연결하려면 master로 연결되는 -
하드디스크 케이블은 40개의 핀이 있고 1번 핀은 빨간색으로 표시되어
있다. 5. CD 드라이브는
secondary master나 secondary slave 어느 쪽에 연결해도 상관없다.
CD 6. 3.5인치 FDD가 A: 로 설정되어 있어야 한다. 7. 준비사항 - 리눅스를 설치할 IDE 하드디스크 - 리눅스 CD - 리눅스 설치용 부팅 디스켓 - 배드가 없는 3.5인치 디스켓 1장
- 윈98 시동디스켓
Ⅱ. 준비 작업 아래는 본격적인 설치 작업 전에 필요한 예비작업이다. 필요없는 경우는 바로 “III”으로 진행해도 된다. 1. 첫 번째 하드에
이미 윈98을 설치한 것으로 가정한다. 2. 두 번째 하드디스크 셋업 피시를 리부팅하여 CMOS 셋업에 들어가(보통 부팅시 DEL 키나 F2키를 누른다) “IDE HDD AUTO DETECTION” 메뉴로 들어가 두 개의 하드가 모두 인식되는지 확인할 것. 윈98 하드는 primary master 에, 리눅스를 설치할 하드는 primary slave에 나타나야 한다. 리눅스 하드는 MODE를 LBA로 셋팅 해야 한다. 제대로 잡혔으면 “STANDARD CMOS Setup”에서 다시 한번 확인하고서 셋업을 저장한다. [참고] CMOS 셋업 방법은 마더보드에서 사용하는
BIOS 에 따라 다르므로 마더보드 매뉴얼의 [경고] 리눅스 하드가 primary slave로 설정되지
않은 경우는 이 글대로 진행해도 멀티부팅이 3. CMOS 셋업 앞으로의 절차를 진행하기 전에 필히 CMOS 셋업 중 아래 사항을 체크할 것 . 1) 부팅순서 : 리눅스 설치 시 부팅 디스켓을 사용하는
경우는 부팅 순서를 A -> C로, 2) Boot Virus Detection은 끈다.(Disable) 리눅스를 설치할 하드에 아무 파티션도 설정되어 있지 않다면 “ III. SuSE 6.3 설치”로 진행한다. ■ 아래는 리눅스를 설치할 2 번 하드에 파티션이
만들어져 있는 경우 파티션을 지우는 파티션을 지우는 것은 SuSE 리눅스 설치 과정(fdisk)에서도 할 수 있다.(다른 배포본도 마찬가지다) 그러나 리눅스의 fdisk 사용법은 조금 어려우므로 여기서는 윈98의 fdisk에서 파티션을 지우는 것으로 한다. 리눅스에 자신이 있으면 아래 단계를 건너 뛰고 리눅스 설치시에 파티션을 삭제해도 된다. 1. 피시를 리부팅해서
윈98을 가동한다. 혹시 리부팅 시 윈98에서 에러가 나오면 아래
[참고] [ 참고 ] 필자는 윈98 하드를 C: 와 D: 둘로
나누어 사용한다. E: 는 CD 드라이브이다. 이유는 간단했다. 두 번째 하드가 전에 윈95용으로 사용하던 하드였으므로 PRI DOS로 파티션이 1 개 만들어져 있었다. 그런데 첫 번 하드는 파티션이 두 개다. 1 번은 PRI DOS로 파티션이 되어 원래 C: 드라이브로 잡혀 있었고, 2번 파티션은 EXT DOS로 설정되어 D: 드라이브로 설정 돼 있다. 그런데 물리적인 하드는 논리 드라이브 보다 우선한다. 그래서 하드 두 개를 연결하는 순간 1번 하드의 PRI DOS(윈98 시스템디스크)는 그대로 C: 로 인식하지만 2 번 하드의 PRI DOS 파티션이 1번 하드의 EXT DOS 파티션보다 우선하므로 2번 하드의 PRI DOS(윈95 파티션)이 D: 드라이브가 되고 1번 하드의 EXT DOS는 E: 드라이브가 된다. 이는 2번 하드에 도스나 윈9X 파티션이 있는 경우만 해당되고 리눅스 파티션일 경우는 이런 일이 일어나지 않는다. 혹시 2 번 하드를 연결 후 윈98 부팅에서 에러가 뜬다면 위의 문제가 그 원인일 수 있다. 따라서 이 문제는 2번 하드에서 파티션을 모두 삭제하면 해결된다. 2. 도스창을 열어 fdisk를 실행한다. [ 위험 ] 아래 단계는 특히 위험한 부분이다.
2.1 FDISK 옵션에서 “5. 현재 하드 디스크 드라이브 변경”을 선택한다. 2.2 “하드
디스크의 번호를 입력하십시오 (1-2) ... [1]” 메시지가 나오고
커서가 “1” “FDISK
옵션” 화면이 나오고 두 번째 라인이 “현재 하드 디스크 드라이브:
2” 로 맞다면
현재 fdisk 에서 실행하는 모든 명령은 새로 연결한 2 번째
하드(/dev/hdb) 2.3 “4 분할
영역 정보 표시”를 선택해서 “종류”난에 나와 있는 파티션의
종류를 확인 필자의
경우 2 번 하드에 윈95 파티션이 만들어져 있어 종류 난에 “PRI
DOS”로 2.4 “3.
분할영역 또는 논리 DOS 드라이브 삭제”를 선택한다. 2.5 “2.3”에서 확인한 파티션 종류에 따라 선택이 달라진다. . 파티션 종류가 리눅스(Non-DOS)라면
“4. 비 DOS 분할영역 삭제”를 선택한다. 파티션이 여러 개면 삭제를 반복한다. 삭제가 완료되었으면 “4. 분할영역 정보 표시”를 선택하면 “지정된 분할영역이 없습니다”란 메시지가 나와야 한다 2.6 2번
하드의 파티션을 삭제했으면 윈98을 리부팅한다. 2번 하드로
인해 윈98 2번 하드가 아직도 D: 나 E: 드라이브로 표시되면 파티션 삭제가 안된 것이다. 이제부터는 2번 하드에 리눅스를 설치할 단계다. 설치에는 부팅디스켓을 사용하지 않고 CD에서 부팅하여 설치한다.
Ⅲ. SuSE 6.3 설치 1. SuSE
6.3 CD 1번을 넣고 피시를 리부팅한다. boot: 란 메시지가 나오고 조금 시간(1분 정도)이 지난 후 화면이 스크롤 되면서 문자가 넘어간다. 이는 CD에 있는 설치용 커널이 메모리로 로드되고 있기 때문이다. 잠시 후 SuSE 로고가 있는 Basic configuration 이라는 제목의 그래픽 화면이 나온다. (이 경우는 그래픽 카드가 자동 인식되어 X-Window
화면으로 설치가 진행되는 경우이다. 이 화면에서는 세 가지 항목을 선택한다. 1.1 Language 1.2 Keyboard layout 1.3 Timezone Test your keyboard에서 키보드를 테스트할 수 있다. Apply -> Next 2. Installation method 화면이 나온다. 화면 왼쪽에 help 가 나오므로 이를 참고 하기 바란다. 하드디스크가 한 개이고 리눅스만 설치한다면 Automatic installation을 선택하는게 좋으나 다른 운영체제와 멀티부팅을 하려면 Guided installation을 선택해야 한다. 여기서는 Guided installation만 설명한다. -> Next 3. Choose target disk 화면에서 두 개의 하드디스크가 표시된다. 1. ........ (IDE-Bus 1 Master) “IDE-Bus 1 ...”에서 1 은 primary 콘트롤러에
하드디스크가 연결되어 있다는 뜻이다. 4. Installing on : xxxxxxx xx GB (IDE-Bus 1 Slave) 화면이 나온다. 만약 2번 하드에 파티션이 만들어져 있고 윈98의 fdisk에서 파티션을 삭제하지 않았으면 이 화면에서 파티션을 삭제할 수 있다. Use whole hard disk가 선택되어 있고 그 밑에 “1: xxx GB, unassigned” 라고 나온다. 이는 리눅스를 설치하는 하드디스크가 한 개 이고 그 용량은 xxx(GB) 그리고 파티션이 만들어져 있지 않다는 뜻이다. “1: xxx GB, unassigned” 왼쪽의 네모 체크박스를
클릭하면 불릿(Bullet) 마크가 찍힌다. 5. Software selection
화면에서 설치할 소프트웨어를 선택한다. 나중에 추가가 가능하므로
6. LILO installation
메뉴가 나온다. . On C: “ON C:” 를 선택하면 1번 하드(윈98 하드)의 마스터 부트레코드(MBR)에 LILO를 설치하여 리눅스 설치가 끝난 후 피시를 리부팅하면 리눅스로만 부팅할 수 있다.(윈98 하드 내용은 영향이 없다. 단지 부팅만 문제된다) 그러므로 중간에 설치가 문제가 되어도 윈98로 부팅 할 수 없다. (윈98의 시동디스크를 사용하여 부팅 후 fdisk /mbr 명령으로 수정이 가능하다) 여기서는 가장 안전한 “Create a boot disk”를 선택한다. 이는 리눅스 설치가 완료되었을 때 리눅스를 디스켓에서 부팅하게 구성하는 것이다.(디스켓을 넣지 않으면 윈98로 부팅한다) 그 후에 리눅스에서 lilo.conf라는 파일을 수정하여 하드에서 윈98과 리눅스를 선택 부팅하게 설정하는 것이다. 따라서 혹시 리눅스 설치가 잘못되어도 윈98이 설치된 1 번 하드의 MBR을 수정하지 않으므로 윈98 부팅에는 아무런 문제가 없다. -> Next [ 참고 ] 리눅스의 lilo.conf 구성에 자신이
있으면 “ON C:”를 선택해도 되나 이 경우도 7. Personify에서 root 외의 사용자 계정을 하나 만든다. -> Next 8. Password for
“root”에서 root 의 패스워드를 입력한다.(두 번) 이 패스워드를
잃어 버리면 9. Confirm installation
화면이 나온다. 아래처럼 나와야 한다.
여기서 “Save settings ...” 는 건드리지 말고 바로 Next로 진행한다. 10. Warning 이란
빨간색 팝업화면이 뜬다. 최종으로 다시 한번 설치를 취소할 기회를
준다. 11. Preparing your harddisk 화면이 나오고 설치가 진행된다. Default를 선택했으면 276개의 패키지가 설치된다.
12. Now booting your system ...[OK] 리눅스 가동에 필요한 기본 소프트웨어가 설치되었으므로 하드에 설치된 리눅스로 부팅한다는 뜻이다. [OK]를 선택하면 하드디스크를 체크하고 필요한 프로그램을 올린다. 다음에 시스템 부팅과는 무관한 추가 소프트웨어를 설치하기 위해 CD 2, CD 3, CD 5 등을 넣으라는 메시지가 뜬다. 13. The LILO boot sector will be written.... 리눅스 부팅용으로 준비한 배드가 없는 3.5인치 디스켓을 넣는다(윈98에서 미리 포맷해야 한다) -> OK 14. The LILO boot sector has been written to floppydisk. 가 나온다. - OK The X server for the video board is configured. ...... 비디오 카드가 자동 인식된 경우 그리고 패키지 설치시 X server를 선택했다면 이 화면이 나온다. YES를 선택해서 지금 할 수도 있고 나중에 sax 프로그램을 실행해서도 가능하다. ·YES를 선택하면 화면에 갑자기 독일어로 나온다. 그냥 “Konfiguration...”을 선택해 빠진다. 15. Finishing
the installation 화면이 뜬다. 여기서 몇 분 정도 화면이 멈추지만
설치는 Your system is now installed. Now you can log in as “xxx” -> OK xxx 는 “7.” 에서 만든 계정 명 16. “linux login: “ 프롬프트에서 root 로 login 한다. 설치과정에서 그래픽카드가 자동 인식되었고
X-Window 패키지 설치를 선택했으면(default를 선택했으면 X도 포함하여
설치한다) 그래픽 모드의 login 프롬프트가 뜬다. 17. 리눅스 CD 와 디스켓을 제거한다. 18. shutdown -r now 명령으로 리부팅한다. 19. 피시의 CMOS 셋업에서 부팅순서를 A - > C 로 변경한다. 20. 윈98이 정상적으로 부팅 되는지 확인하라. 아직까지는 윈98이 설치된 하드는 전혀 건드리지 않았으므로 윈98이 정상적으로 부팅 되어야 한다. 만약 이상이 있으면 “IV” 의 내용대로 실행해서 윈98이 정상적으로 부팅 되는지 확인하라. 21. “13.” 에서 만든 디스켓을 넣고 리부팅 한다. 22. “LILO boot:” 가 나오고 리눅스가 부팅되는지 확인하라. 리눅스로 부팅되지 않으면 부팅순서를 다시 확인해 보고 A: 드라이브(3.5인치)가 정상적으로 작동하는지 확인하라. 여기까지 아무 이상이 없으면 2번하드에 리눅스가 정상적으로 설치되었다. 리눅스 부팅 후 필자의 경우 /etc/lilo.conf 와 /etc/fstab 및 fdisk 결과는 아래와 같았다. 1) /etc/lilo.conf
2) /etc/fstab
3) linux:/ # fdisk /dev/hdb Command (m for help): p Disk /dev/hdb: 64 heads, 63 sectors, 827
cylinders Device Boot Start End
Blocks Id
System Command (m for help): q · fdisk 내용은 필자의 내용과 다를 수 있다. 이제는 윈98과 리눅스를 멀티부팅하기 위해 필요한 파일을 수정한다. 23. 다음 단계로
진행하기 전에 윈98 시동디스켓을 넣고 피시를 리부팅해 A:\>
프롬프트가 24. 리눅스 부팅디스켓을
넣고 리눅스로 부팅하여 root로 로그인 한 후 /etc/lilo.conf 파일을
첫 번 라인이 변경되었고 ( hdb1 -> hda) 마지막에 세 라인이 추가되었다. 25. 수정했으면
저장하고서 명령 프롬프트에서 아래 명령을 줄 것
위처럼 메시지가 나와야 한다. 다르게 나오면 lilo.conf 파일 수정이 잘못 되었으므로 다시 수정 후 lilo 명령을 실행할 것. 이제 멀티부팅 설치는 완료되었다. 나머지는 테스트 단계다. 26. 리눅스 부팅 디스켓을 제거하고 리부팅할 것. 27. “LILO boot:”
프롬프트가 나올 때 “DOS” 라고 입력 후 [Enter] 하면 윈98이
부팅되고 [ 참고 ] - DOS 라고 입력하는 시간이 너무 짧으면
lilo.conf의 timeout 값을 늘려 준다. -
아무런 키 입력이 없을 때 윈98로 부팅되게 하려면 lilo.conf에서
위 내용을 “timeout = “ 바로 다음 줄에 넣는다. - lilo.conf를 변경했으면 반드시 lilo 명령을
실행해야 한다. - 필자가 리눅스를 설치한 일부 저가 마더보드를
사용한 피시에서 lilo를 사용해서 부팅을
IV. 마침 설치 과정에서 잘못하여 멀티부팅이 안되도 걱정할게 없다. 몇 번이든 다시 시도가 가능하기 때문이다. fdisk로 1 번 하드를 날리는 등의 결정적인 실수만 없다면 언제든 멀티부팅을 시도하기 전 상태로 되돌아 가 윈98로 단독 부팅할 수 있기 때문이다. 즉 멀티부팅을 지우는 것은 아주 쉽다. 피시 부팅 순서를 A-> C 로 바꾼 후 윈98 시동디스켓을 넣고서 피시를 부팅해 A:> 프롬프트가 나올 때 아래 명령을 준다. A:\> fdisk /mbr 이제 다시 부팅하면 윈98로만 부팅된다. 다시 리눅스와 멀티부팅을 하고 싶으면 “14. “에서 만든 리눅스 부팅디스켓으로 부팅 후 lilo.conf를 “24.” 처럼 수정 후 lilo 명령을 실행해 주면 된다. 너무 쉽지 않은가? 필자가 여러 피시에서 리눅스를 설치해 본 결과 부품의 불량으로 인해 리눅스가 제대로 설치되지 않거나 리눅스에서 에러가 뜨는 경우를 가끔 보았다. 국내 대기업에서 만든 피시도 마더보드나 모뎀 등이 불량품이어서 리눅스에서 문제가 발생하는 경우가 있다. 리눅스 서버를 운영하는 과정에서 문제가 발생하면 우선 리눅스 CD가 제대로 만들어졌는지를 점검해 보아야 한다. 국내 한글판의 경우 모두 미국의 레드햇 다운로드 버전을 수정하여 만들었으므로 기반으로 하고 있는 레드햇사의 원본으로 시험해 보면 금방 알 수 있다. 그래도 문제가 발생하면 하드웨어 쪽을 필히 체크해 보기 바란다. 아래가 필자의 최종 lilo.conf이다. “LILO boot:
“ 프롬프트에서 5초 동안 아무런 키 입력이 없으면 윈98로 부팅한다.
lilux를 입력하면 리눅스로 부팅한다.
V. 다른 배포본의 경우 위에서는 SuSE 리눅스를 대상으로 설명했다. 다른 배포본의 경우도 위를 응용해 가능하나 잘못해서 엉뚱한 결과를 가져올 수도 있으므로 여기서는 모든 배포본에 적용 가능한 가장 안전한 방법을 소개한다. 대략적인 절차를 살펴보면 아래와 같다. 1번 하드를 연결해 도스와 윈9x를 설치하고 설치가 완료되면 1번 하드는 떼내고 그 자리에 2번 하드를 연결한다. 2번 하드에 리눅스 설치가 끝나면 두 하드를 다 연결한다. 연결 순서는 윈9x 하드가 1번 즉 primary master이고 리눅스 하드가 2번 즉 primary slave가 된다. 부트 플로피로 2번 하드의 리눅스를 부팅해 lilo를 수정해서 멀티부팅을 구성한다. 이 방법은 두 운영체제 설치 시 다른 운영체제가 설치된 하드는 아예 연결되어 있지 않으므로 설치시 실수로 다른 하드의 내용을 지울 염려가 없다는 점이다. 마지막에 lilo 설정시에 두 하드를 연결하지만 lilo는 설정이 잘못 되어도 하드디스크의 내용을 지우지는 않으며, 몇 번이든 수정해 재설치해도 문제가 발생하지 않는다. 또 윈9x의 시동디스크만 있으면 lilo는 언제든 삭제가 가능하다. 준비사항은 위의 “I”과 같다. 단 두 하드는 설치시 모두 primary master에 연결하는 것이 위의 경우와는 다르다. (위의 경우는 처음부터 두 하드를 모두 연결해서 설치했다.) 완성 후의 CD 및 하드 연결도 위와 같다. 1) primary master : 도스 및 윈9x(도스는 꼭
필요치는 않다)
1. 설치 순서 1.1 도스
및 윈9x를 설치할 하드를 점퍼를 조정하여 마스터로 만들고 도스와
윈9x를 1.2 도스와 윈9x를 모두 부팅할 수 있으면 다음으로. 1.3 윈9x가
설치된 하드를 떼내고 그 자리에 리눅스를 설치할 하드를 연결한다.
1.4 리눅스 설치시 아래 사항을 명심할 것 1) 리눅스에서 멀티부팅을 하려면 lilo를
설치해야 하는데 lilo를 설치하려면 리눅스의 2) lilo를 마스터부트레코드(MBR)에 설치할 것. 3) 설치과정에서 부팅디스켓을 만드는 옵션이
있으면 만들 것. 단 이 디스켓은 1.5 리눅스를
플로피 없이 하드에서 부팅 할 수 있으면 다음 단계로 갈 것. - 지금부터는 아주 조심해야 할 단계이다. 잘못하면 지금까지의 작업이 헛수고가 된다. 1.6 리눅스를
부팅 후 root로 login해서 A: 드라이브에 배드가 없는 3.5인치 디스켓을
넣고서
화면이 아래처럼 나와야
한다.
(Verifying에서 에러가 나면 그 디스켓은 쓸
수 없다. 리눅스에서는 도스와 달리 배드가 있는 디스켓은 사용할
수 없다) * fdformat 명령이 없다는 메시지가 나오면 리눅스 CD에서 이 명령을 추가로 설치할 것. * fd0H1440이라는 장치가 없다는 메시지가 뜨면 아래 명령으로 fd0H1440 장치를 만들 것 1) cd /dev 1.7 리눅스의 커널 위치와 루트파티션 이름을 알아야 한다. 방법은 /etc/lilo.conf를 참조한다. lilo.conf에서 제일 먼저 나오는 “image= “ 다음이 디폴트 부팅 커널이다.(lilo에서는 여러 개의 커널을 지정할 수 있다.) 커널 이름은 보통 vmlinuz 아니면 zImage임. 루트 파티션은 “root= “ 다음에 나오는 이름이다.(여러 개 있으면 맨 처음 나오는 것) 커널이 위치한 디렉토리로 이동 후 아래 명령을
준다.
[주의] 현재의 lilo.conf에서 루트파티션이
/dev/hda2 인데 왜 위에서는 /dev/hdb2를 * 아무런 에러 메시지가 없으면 다음으로 진행한다.
그러나 조금이라도 다른 메시지가 나오면 1.8 1.6에서 만든 포맷한 디스켓을 넣고 아래 명령을 준다. cp ./vmlinuz /dev/fd0 * 이제 부트 플로피는 완성되었다. 하지만 지금은
이 부트 플로피를 사용할 수 없다. 1.9 리눅스의 vi 나 ae 등을 이용해 /etc/fstab 파일을 아래처럼 수정한다. # <file system> <mount
point> <type> <options> <dump>
<pass> 위에서 변동되는 부분은 /dev/hdb2 와 /dev/hdb1이다. 즉 기왕에는 /dev/hda2 와 /dev/hda1 으로 나오는데 이중에서 a를 b로 바꾸는 것이다. 나머지는 절대 바꾸지 말 것. 파티션 설정은 하드 용량이나 사용 배포본에 따라 다르다. 하지만 hda? 로 나오는 부분을 모두 hdb? 로 바꾸는 것이다. 이유는 설치 시에는 리눅스 하드가 primary master 이므로 장치명이 /dev/hda 이나 나중에 윈9x 하드와 같이 연결할 때는 리눅스 하드는 primary slave 즉 /dev/hdb가 되기 때문이다. 1.10 리눅스를
종료하고 윈9x 하드를 primary master로 그리고 리눅스 하드를 primary
slave 1.11 피시를 부팅하여 윈9x가 제대로 뜨는가를 확인할 것. 1.12 이제는
위의 단계 1.8 에서 만든 부트플로피를 A: 드라이브에 넣고 부팅하여
리눅스가 여기까지 모든게 이상없이 작동하면 이제 작업은 99% 끝났음. 즉 플로피를 이용한 멀티부팅은 가능해 졌다. 하지만 하드에서 멀티부팅이 목표이므로 마지막 한 단계가 남았다. 하지만 이 마지막 절차가 초보자들에게는 가장 어려운 부분일 것 같다. 1.13 1.8에서
만든 디스켓을 넣고 디스켓을 넣고 리눅스로 부팅하여 root로 login
한 후
위의 내용은 배포본에 따라서 조금씩 다르므로 위와 똑같이 수정하면 안되고 필요한 부분만 바꾸어야 한다. 즉 위의 lilo.conf는 데비안 2.1에서 만든 것으로서 다른 배포본은 조금 다를 수 있다. 따라서 아래에서 기술한 부분을 제외한 나머지는 기존의 lilo.conf의 내용을 그대로 두어야 한다. 1) boot=/dev/hda
2) message=/boot/message
3) image=/boot/vmlinuz 4) root=/dev/hdb2 5) other=/dev/hda1 이 부분은 원래 들어 있지 않다. 윈9x 부팅 부분이다. 필히 추가해야 한다. ·“other=
/dev/hda1” : 윈9x가 1 번 하드의 첫번 파티션(/dev/hda1)에
설치되어 6) 이와같이
고쳤으면 lilo <enter> 할 것.
위와같은 메시지가
나오면 모든게 완료되었음. 만약 다른 에러 메시지가 나오면 7) 이제
디스켓을 꺼내고 부팅하면 boot: 메시지가 나옴. 여기에서 dos를
입력하면 8) 만약
일정 시간이 지난 후 자동으로 리눅스로 부팅하려면 prompt
아래 줄에
2. 설치 실패시의 조치 만약 Lilo: 프롬프트에서 dos를 입력해도 윈9x가 부팅되지 않으면 또는 아에 Lilo: 프롬프트도 뜨지 않고 바로 이상한 숫자가 계속 나오면, 윈9x 시동디스켓으로 부팅 후 아래 명령을 주고 하드에서 리부팅하면 윈9x로 부팅한다. A:> fdisk /mbr 다음에 리눅스 부팅디스켓을 사용 리눅스로
부팅해 다시 멀티부팅 설치를 시도해 볼 것.
VI. 두 개의 하드에 두 개의 리눅스를 설치하는 경우 아래는 약간 어려운 부분이지만 리눅스 마니아들에게는 필요하여 여기 소개한다. 필자도 그렇지만 리눅스 배포본을 여러 개 사용하는 사람들이 있는데 하드 두 개에 두 가지 배포본을 깔아 놓고 바꿔가며 사용하는 경우가 있다. 또 중요한 데이터가 들어 있는 하드여서 두 개 다 같은 리눅스를 깔아 1번 하드를 디폴트로 사용하지만 cron으로 매일 한가한 시간에 1번 하드의 변경된 데이터를 2번 하드에 그대로 복사하여 백업하는 경우도 있다. 즉 1번 하드와 2번 하드의 구성이 똑 같다. 만약 실수로 1번 하드를 날리면 즉시 2번 하드로 부팅하면 된다. 그러면 최근 복사한 내용까지는 그대로 건질 수 있다. 그리고나서 다시 2번 하드의 내용을 1번 하드로 복사하면 이제는 1번 하드가 백업용이 된다. 필자는 웹서버, 메일서버 등 서비스가 중단 되서는 안되는 중요한 시스템에 이 방식의 백업을 권한다. 테이프 백업도 가능하지만 테이프 백업은 복원하는데 시간도 많이 걸리고 복잡하다. 그리고 테이프드라이브 장치는 하드보다 값도 비싸다. 하드에 설치된 리눅스를 다른 하드에 똑같이 복사하는 방법은 필자가 ‘99년 6월호에 썼다. 아래는 이와같은 경우에 필요한 두 하드에서 리눅스를 선택해 멀티 부팅하는 방법을 설명한다. 예를 들어 1번 하드에는 데비안, 2번 하드에는 SuSE를 깔아서 멀티 부팅을 하는 경우에 lilo를 어떻게 구성해야 하는가? lilo.conf를 몇 번 고쳐 본 사람이라면 “그거
간단한데요.” 아래처럼 만들어 lilo 돌려주면 되지 않아요?” 할
것이다.
뭐가 문제인가? 1번 하드에서 debian을 부팅하는 설정에는 문제가 없다. 문제는 2번 하드의 suse를 부팅하는 경우다. boot:에서 suse 라고 입력하면 분명 suse 리눅스가 두 번째 하드에서 부팅은 된다. 그러나 2번 하드의 suse를 부팅할 때 사용하는 bzImage란 커널은 1번 하드 즉 debin 리눅스의 /boot 에 있는 것을 사용하고 있다. 만약 2번 하드를 1번 하드의 백업용으로 쓴다면, 1번 하드가 지워지면 2번 하드의 리눅스는 커널이 없으니 부팅이 안된다. 또 2번 하드의 suse 의 커널을 수정하려면 1번 하드를 마운트시켜 커널을 1번 하드의 /boot 디렉토리에 넣고 다시 1번 하드의 debian으로 부팅해 lilo를 실행해 주는 복잡한 과정을 거쳐야 한다. 결론으로 1번 하드로 부팅 시는 1번 하드에 위치한 커널을 사용하고 2번 하드로 부팅할 때는 2번 하드에 위치한 커널을 사용하도록 lilo가 설정되어야 원래의 취지에 맞을 것이다. 이렇게 하려면 lilo를 두 번 돌려야 한다. 아래는 이 과정을 간단히 설명한다. debian과 suse가 이미 각 하드에 설치되어 있다고 가정한다. 그리고 debian에는 mbr에 lilo가 설치되어 있어 두 하드를 연결하고 부팅하면 debian으로 부팅이 되야 한다. 특히 두 하드의 /etc/fstab 파일 설정이 정확해야 한다. 이 부분은 여기서 설명하지 않는다. 리눅스 두 배포본을 쓸 정도라면 그 정도는 알아서 고칠 수 있다고 보기 때문이다. 1. 우선 suse
를 부팅하는 부트 플로피를 만들어야 한다. 앞의 글을 참고 한다.
2. debian 의
lilo.conf 파일을 아래처럼 수정한다.
마지막의 unsafe가 처음 보는 옵션일 것이다. 이는 그 쪽 파티션은 손대지 말라는 뜻이다. 수정하고 lilo 명령을 실행하면 아래처럼 나올
것이다.
안나오면 뭔가 잘못 된 것이다. 이렇게 고쳐도 debian 부팅에는 아무런 문제가 없다. 그러나 아직 suse 부팅은 안된다. 이제 suse 부팅 쪽을 손 볼 차례다. 3. 플로피로 suse를
부팅해서 lilo.conf를 아래처럼 수정한다. (아래는 suse 6.3 이다)
이제 lilo 명령을 실행하면
이렇게 메시지가 나온다. 이제 멀티부팅이 완성되었다. 한가지 잼있는 것은 두 번째 하드로 부팅하기
위해 suse 라고 입력할 경우다. 첫 번째 뜨는 “boot: “ 프롬프트는 1번 하드의 마스터부트레코드(MBR)에 설치된 lilo 프로그램이 뿌려 주는 것이고, 두 번째의 “boot: “ 프롬프트는 2번 하드의 3번 파티션(/dev/hdb3)에 설치된 lilo 프로그램이 뿌려 주는 것이다. suse 리눅스의 lilo.conf에 “boot=/dev/hdb3” 라고 넣었음을 기억하기 바란다. 두 번째 프롬프트에서는 뭘 넣느냐고요? linux라고 입력하던지(label=linux라고 넣었으니까.) 아니면 6초를 기다리면 된다.(timeout = 60 이지요?) 두 번째 boot: 프롬프트가 아예 안나오게
하려면?
4. 끝으로 한가지만. 만약 2번 하드를 1번 하드의 백업용으로 사용한다면 위의 방법으로 설치해 완벽한 백업 시스템이 작동한다. 1번 하드의 마스터부트레코드(MBR)만 무사하다면(MBR은 리눅스에서 일반적인 파일 삭제 명령으로는 지울 수 없다.) 언제든 1번 하드에 이상이 발생하면 즉시 2번 하드로 부팅하면 된다. 1 번 하드의 MBR 도 깨질 수 있다. 즉, 하드가 하드웨어적으로 이상이 생기는 수도 있다. 이럴 때는 1번 하드의 MBR의 lilo 프로그램도 실행이 안되므로 멀티부팅이 안된다. 이 때를 대비해서 2번 하드를 부팅할 수 있는 부트 플로피를 한 개 만들면 된다. 이 글을 읽었으면 충분히 만들 수 있다. |