강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

두개의 하드에서의 멀티부팅

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle48.gif

배철수 : 리눅스월드 발행인

 

두 개의 하드를 사용하여 윈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
 2. CPU       :  셀레론-400  
 3. 메모리    :  64 메가
 4. 하드디스크
   . 하드디스크 1 :  Seagate 2000메가
   . 하드디스크 2 :  IBM 1700메가
 5. CD-ROM 드라이브 : LG IDE 24배속
 6. 3.5” FDD
 7. 랜카드   : 3com 3c905-TX PCI
 8. 마우스   : logitech PS/2 방식

[ 주 ] 위의 장치 외에 그래픽 카드도 있으나 이 글과는 무관하여 여기에 소개하지 않는다.

아래는 완성 후의 필자의 두 하드디스크의 파티션 구성이다. 리눅스가 설치된 두 번째 하드의 파티션 구성은 SuSE 6.3 설치 시에 자동으로 구성된다. 따라서 하드의 크기가 다르면 필자의 경우와 다를 수도 있다. 그러나 멀티부팅을 구성하는데는 별 문제가 없다.

- . 하드디스크 1 (primary master = /dev/hda)   
   . hda1(1기가) : win98 에서 C:
   . hda2(1기가) : win98 에서 D:

- .  하드디스크 2 (primary slave = /dev/hdb)  
   . /dev/hdb1(18 mega) : /boot
   . /dev/hdb2(131 mega) : Linux Swap
   . /dev/hdb3(1518 mega)  :   /

- CD-ROM 드라이브 (secondary master = /dev/hdc)

[ 참고 ] EIDE 콘트롤러가 장착된 피시(486 중 일부와 펜티엄 피시가 해당된다)에서는
            하드디스크를 4 개까지 연결할 수 있다.(만약 CD 드라이브가 IDE 방식이면 3개까지
            가능하다)  이 경우의 각 하드디스크의 리눅스에서의 장치명은 아래와 같다.
            (IDE CD-ROM 드라이브도 같다)

 

.primary master     : /dev/hda
.primary slave       : /dev/hdb
.secondary master : /dev/hdc
.secondary slave   : /dev/hdd

 

하드디스크에서 부팅이 시작되는 마스터부트레코드(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 콘트롤러를 장착하고 있다.
    이 경우는 하드를 두 개 연결하면 CD 드라이브를 연결할 수 없어 리눅스를 CD로 설치할
    수 없으므로 이 글이 해당되지 않는다. (CD드라이브가 IDE라면)

2. 하드디스크를 연결하는 하드디스크 케이블 중에는 콘넥터가 한 개 밖에 없는 경우도 있다.
    이 글에서는 primary IDE 콘넥터에 두 개의 하드를 연결해야 하므로 콘넥터가 두 개 있는
    케이블로 교체해야 한다.

3. 두 하드는 모두 IDE 하드여야 한다. 한 개의 하드는 IDE 다른 하나는 SCSI 방식이라면
    이 글은 해당되지 않는다. 다른 방법을 사용해야 한다.

4. 리눅스를 설치할 두 번째 하드의 점퍼를 조정하여 하드디스크를 slave로 조정한다.
    마더보드의 EIDE 콘트롤러 중 primary IDE 콘넥터의 하드디스크 케이블에 하드를
    연결한다.

[ 주의 ]- 일부 하드는 한 케이블(primary)에 두 개의 하드를 연결하려면 master로 연결되는
              하드(여기서는 기 사용중인 윈98 하드)의 점퍼도 변경해야 한다. 즉 하드를 master
              로 설정하여 사용하는 경우와 slave 하드를 연결하여 master로 사용하는 경우
              (master with slave), slave 등 세 가지 경우에 따라 점퍼 셋팅이 다르다. 하드디스크
              표면에 점퍼 셋팅이 적혀 있다. 없으면 구입처에 문의해야 한다.

          - 하드디스크 케이블은 40개의 핀이 있고 1번 핀은 빨간색으로 표시되어 있다.
             하드디스크에서 1번은 파워케이블이 꼽힌 쪽이다. 핀이 바뀌면 하드디스크가 고장
             날 수 있다.

5. CD 드라이브는 secondary master나 secondary slave 어느 쪽에 연결해도 상관없다. CD
    드라이브도 master/slave를 점퍼로 결정한다.

6. 3.5인치 FDD가 A: 로 설정되어 있어야 한다.

7. 준비사항

  - 리눅스를 설치할  IDE 하드디스크

  - 리눅스 CD
     * 여기서 사용한 배포본은 SuSE 6.3 정식버전이다.

  - 리눅스 설치용 부팅 디스켓
     * 설치용 부팅디스켓은 Su SE 6.3 정식버전의 경우 박스에 들어 있다. 잃어 버렸으면
        리눅스 CD에서 만들 수 있다. PC BIOS 에서 CD-ROM 부팅을 지원한다면 설치용
        부팅 디스켓은 필요없다.

  - 배드가 없는 3.5인치 디스켓 1장
     * 리눅스 부팅용으로 사용한다. 윈98에서 전체포맷을 해놓는다. 배드섹터가 있으면 절대
        사용하지 말 것. 윈98의 포맷 과정에서 배드섹터가 있는지 확인할 수 있다.

  - 윈98 시동디스켓
     * 멀티부팅 설치 실패시 윈98 단독 부팅으로 설정을 되돌리기 위해 필요하다.
       [제어판] -> [프로그램 추가/삭제] 에서 만들 수 있다.

 

Ⅱ. 준비 작업

아래는 본격적인 설치 작업 전에 필요한 예비작업이다. 필요없는 경우는 바로 “III”으로 진행해도 된다.

1. 첫 번째 하드에 이미 윈98을 설치한 것으로 가정한다.
    윈98을 부팅할 수 있으면 다음 단계로 진행할 것

2. 두 번째 하드디스크 셋업

피시를 리부팅하여 CMOS 셋업에 들어가(보통 부팅시 DEL 키나 F2키를 누른다) “IDE HDD AUTO DETECTION” 메뉴로 들어가 두 개의 하드가 모두 인식되는지 확인할 것.

윈98 하드는 primary master 에, 리눅스를 설치할 하드는 primary slave에 나타나야 한다. 리눅스 하드는 MODE를 LBA로 셋팅 해야 한다. 제대로 잡혔으면 “STANDARD CMOS Setup”에서 다시 한번 확인하고서 셋업을 저장한다.

[참고] CMOS 셋업 방법은 마더보드에서 사용하는 BIOS 에 따라 다르므로 마더보드 매뉴얼의
          BIOS 셋업 부분을 참고 할 것. 필자의 피시는 AWARD BIOS를 사용하고 있다.

[경고] 리눅스 하드가 primary slave로 설정되지 않은 경우는 이 글대로 진행해도 멀티부팅이
          안된다.  

3.  CMOS 셋업

앞으로의 절차를 진행하기 전에 필히 CMOS 셋업 중 아래 사항을 체크할 것 .

 1) 부팅순서 : 리눅스 설치 시 부팅 디스켓을 사용하는 경우는 부팅 순서를 A -> C로,
                    CD-ROM 부팅이 지원되는 경우는 CD-ROM -> C - > A 로 설정한다.
                    (BIOS FEATURES SETUP의 Boot Sequence 에서 지정)

 2) Boot Virus Detection은 끈다.(Disable)

리눅스를 설치할 하드에 아무 파티션도 설정되어 있지 않다면 “ III. SuSE 6.3 설치”로 진행한다.

■ 아래는 리눅스를 설치할 2 번 하드에 파티션이 만들어져 있는 경우 파티션을 지우는
    절차이다.

파티션을 지우는 것은 SuSE 리눅스 설치 과정(fdisk)에서도 할 수 있다.(다른 배포본도 마찬가지다) 그러나 리눅스의 fdisk 사용법은 조금 어려우므로 여기서는 윈98의 fdisk에서 파티션을 지우는 것으로 한다. 리눅스에 자신이 있으면 아래 단계를 건너 뛰고  리눅스 설치시에 파티션을 삭제해도 된다.

1. 피시를 리부팅해서 윈98을 가동한다. 혹시 리부팅 시 윈98에서 에러가 나오면 아래 [참고]
    글을 읽을 것. 아래 내용이 그 원인이 아니면 진행하지 말고 하드 연결을 다시 확인해 볼 것.

[ 참고 ] 필자는 윈98 하드를 C: 와 D: 둘로 나누어 사용한다. E: 는 CD 드라이브이다.
            C: 드라이브에는 윈98 시스템 파일이 들어 있고 D: 는 윈98 프로그램의 데이터
            저장용으로 사용한다. 그런데 두 번째 하드를 연결 한 후 리부팅하니 윈98 데이터
            저장용 D: 드라이브가 E: 드라이브로 변경되고 방금 연결한 두 번째 하드가
            D: 드라이브로 잡혔다. CD 드라이브는 F: 로 변경되었다.

이유는 간단했다. 두 번째 하드가 전에 윈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를 실행한다.

[ 위험 ] 아래 단계는 특히 위험한 부분이다.
            잘못하면 윈98 하드디스크의 내용을 전부 지울 수 있다.
            fdisk 사용법을 잘 모르면 절대 진행하지 말라.

2.1 FDISK 옵션에서 “5. 현재 하드 디스크 드라이브 변경”을 선택한다.

2.2 “하드 디스크의 번호를 입력하십시오 (1-2) ... [1]” 메시지가 나오고 커서가 “1”
      에 있다 2를 입력하고 [ Enter ] 키를 누른다.

      “FDISK 옵션” 화면이 나오고 두 번째 라인이 “현재 하드 디스크 드라이브: 2” 로
      변했는지 확인하라. 틀리면 절대 다음 단계로 넘어가지 말 것.

      맞다면 현재 fdisk 에서 실행하는 모든 명령은 새로 연결한 2 번째 하드(/dev/hdb)
      에 적용된다.

2.3 “4 분할 영역 정보 표시”를 선택해서 “종류”난에 나와 있는 파티션의 종류를 확인
      한다. 만약 파티션이 리눅스라면 “Non-DOS” 라고 나오고 도스나 윈98이라면
      “PRI DOS” 나 “EXT DOS”로 나온다.

      필자의 경우 2 번 하드에 윈95 파티션이 만들어져 있어 종류 난에 “PRI DOS”로
      표시된다. “ESC” 키를 눌러 FDISK 옵션 화면으로 나온다.

2.4 “3. 분할영역 또는 논리 DOS 드라이브 삭제”를 선택한다.
      (다시 한번 “현재 하드 디스크 드라이브”가 “2” 번 인지 확인할 것)

2.5 “2.3”에서 확인한 파티션 종류에 따라 선택이 달라진다.

  . 파티션 종류가 리눅스(Non-DOS)라면 “4. 비 DOS 분할영역 삭제”를 선택한다.
  . 파티션 종류가 EXT DOS라면 “3.확장 DOS분할 영역에서 논리 DOS 드라이브 삭제”
    후에 “2. 확장 DOS 분할영역 삭제”를 선택한다.
  . 파티션 종류가 PRI DOS 라면 “1. 기본 DOS 분할영역 삭제”를 선택한다.

파티션이 여러 개면 삭제를 반복한다.
PRI DOS와 EXT DOS 가 다 있으면 EXT DOS 파티션을 먼저 삭제해야 한다.

삭제가 완료되었으면 “4. 분할영역 정보 표시”를 선택하면 “지정된 분할영역이 없습니다”란 메시지가 나와야 한다

2.6  2번 하드의 파티션을 삭제했으면 윈98을 리부팅한다. 2번 하드로 인해 윈98
      부팅시 오류가 발생했다면 이제는 그 오류가 안 나올 것이다.

 2번 하드가 아직도 D: 나 E: 드라이브로 표시되면 파티션 삭제가 안된 것이다.

이제부터는 2번 하드에 리눅스를 설치할 단계다. 설치에는 부팅디스켓을 사용하지 않고 CD에서 부팅하여 설치한다.  

 

Ⅲ. SuSE 6.3 설치

 1. SuSE 6.3 CD 1번을 넣고 피시를 리부팅한다.
  (부팅순서가 CD-ROM -> C -> A 로 설정되어 있어야 한다.)

 boot: 란 메시지가 나오고
 Loading initrd …
 Loading linux … 라인이 출력되고 우측에 “.”이 한 개씩 찍힌다.

조금 시간(1분 정도)이 지난 후 화면이 스크롤 되면서 문자가 넘어간다. 이는 CD에 있는 설치용 커널이 메모리로 로드되고 있기 때문이다. 잠시 후 SuSE 로고가 있는 Basic configuration 이라는 제목의 그래픽 화면이 나온다.

(이 경우는 그래픽 카드가 자동 인식되어 X-Window 화면으로 설치가 진행되는 경우이다.
 만약, 그래픽 카드를 인식하지 못하면 텍스트 방식의 설치 화면이 나온다)

이 화면에서는 세 가지 항목을 선택한다.

1.1  Language
      English(US)를 선택한다. English(GB)는 영국식 영어다.

1.2  Keyboard layout
      우리나라 키보드는 선택에 없으므로 English(US)를 선택한다.

1.3  Timezone
      Global/ROK를 선택한다.

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)
2. ........   (IDE-Bus 1 Slave) 이다.

“IDE-Bus 1 ...”에서 1 은 primary 콘트롤러에 하드디스크가 연결되어 있다는 뜻이다.
2번 하드(primary slave)에 리눅스를 설치하므로 2.를 선택한다. -> Next

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) 마크가 찍힌다.
-> Next

5. Software selection 화면에서 설치할 소프트웨어를 선택한다. 나중에 추가가 가능하므로
    필요한 것만  설치하는게 좋다. 필자는 Default를 선택했다.(약 800메가가 소요됨)
    minimal로 선택하면 X-Window를 설치하지 않으므로 수동으로 X를 구성해야 한다.
    -> Next

6. LILO installation 메뉴가 나온다.
    세 가지 선택이 나온다.

. On C:
. Create a boot disk
. On partition /boot

“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:”를 선택해도 되나 이 경우도
            윈98 부팅 부분은 자동으로 포함되지 않으므로 lilo.conf를 수정해야 멀티부팅이
            가능해 진다. 단지 리눅스 부팅디스켓 만드는 과정만 줄어든다.
            피시에 SuSE 리눅스만을 설치하는 경우는 “ON C:” 를 선택하기를 권한다.

7. Personify에서 root 외의 사용자 계정을 하나 만든다.  -> Next

8. Password for “root”에서 root 의 패스워드를 입력한다.(두 번) 이 패스워드를 잃어 버리면
   설치를 새로 해야 한다.  -> Next

9. Confirm installation 화면이 나온다. 아래처럼 나와야 한다.
 

Your username will be “xxx”

Linux will be installed on harddisk
XXXXX    (IDE-Bus 1 Slave)

Creating partition 1 (/dev/hdb1), as /boot    
Creating partition 2 (/dev/hdb2), as swap    
Creating partition 3 (/dev/hdb3), as /    

XXX MB software will be installed

The linux boot manager will be written on a floppy disk.

 ---------------------생 략 -----------------

 

여기서 “Save settings ...” 는 건드리지 말고 바로 Next로 진행한다. 

10. Warning 이란 빨간색 팝업화면이 뜬다. 최종으로 다시 한번 설치를 취소할 기회를 준다.
     진행하려면 “Yes - install” 을 선택한다.

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 프롬프트가 뜬다.
이 때는 Ctrl+Alt+F2 키를 눌러 텍스트 화면으로 빠진 다음 root로 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
 

 boot      = /dev/hdb1
 vga       = normal
 read-only
 prompt
 timeout  = 30

  image   = /boot/vmlinuz
  label     = linux
  root      = /dev/hdb3

  image   = /boot/vmlinuz.suse
  label     = suse
  root      = /dev/hdb3

 

2) /etc/fstab
 

 /dev/hdb1         /boot          ext2          defaults 1 1
 /dev/hdb2         swap          swap         defaults 0 1
 /dev/hdb3            /             ext2           defaults 1 2
 proc                  /proc         proc          defaults 0 0
 devpts            /dev/pts       devpts        defaults 0 0
 /dev/cdrom      /cdrom       iso9660       ro,noauto,user 0 0
 /dev/fd0          /floppy         auto           noauto,user 0 0
 /dev/hda1      /windows        auto          noauto,user 0 0

 

3) linux:/ # fdisk /dev/hdb

Command (m for help): p

Disk /dev/hdb: 64 heads, 63 sectors, 827 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot   Start   End    Blocks      Id   System
/dev/hdb1       1       9       18112+     83   Linux
/dev/hdb2      10      74      131040     82   Linux swap
/dev/hdb3      75      827    1518048    83   Linux

Command (m for help): q

· fdisk 내용은 필자의 내용과 다를 수 있다.

이제는 윈98과 리눅스를 멀티부팅하기 위해 필요한 파일을 수정한다.

23. 다음 단계로 진행하기 전에 윈98 시동디스켓을 넣고 피시를 리부팅해 A:\> 프롬프트가
      나오는지 확인할 것.

24. 리눅스 부팅디스켓을 넣고 리눅스로 부팅하여 root로 로그인 한 후 /etc/lilo.conf 파일을
      아래처럼 수정할 것.
 

 boot       = /dev/hda
 vga        = normal
 read-only
 prompt
 timeout   = 30

  image  = /boot/vmlinuz
  label    = linux
  root     = /dev/hdb3

  image  = /boot/vmlinuz.suse
  label    = suse
  root     = /dev/hdb3

  other   = /dev/hda1
  label    = dos
  table    = /dev/hda

 

첫 번 라인이 변경되었고 ( hdb1 -> hda) 마지막에 세 라인이 추가되었다.

25. 수정했으면 저장하고서 명령 프롬프트에서 아래 명령을 줄 것
 

 lilux:~ #  lilo [Enter]

 Added linux *
 Added suse
 Added dos

 

위처럼 메시지가 나와야 한다. 다르게 나오면 lilo.conf 파일 수정이 잘못 되었으므로 다시 수정 후 lilo 명령을 실행할 것.

이제 멀티부팅 설치는 완료되었다. 나머지는 테스트 단계다.

26. 리눅스 부팅 디스켓을 제거하고 리부팅할 것.

27. “LILO boot:” 프롬프트가 나올 때  “DOS” 라고 입력 후 [Enter] 하면 윈98이 부팅되고
      lilux 라고 입력 하던지 3초를 기다리면 리눅스로 부팅한다.

[ 참고 ] - DOS 라고 입력하는 시간이 너무 짧으면 lilo.conf의 timeout 값을 늘려 준다.
              (1/10 초 단위임)

           - 아무런 키 입력이 없을 때 윈98로 부팅되게 하려면 lilo.conf에서
 

other = /dev/hda1
label = dos
table = /dev/hda

 

위 내용을 “timeout =  “ 바로 다음 줄에 넣는다.

- lilo.conf를 변경했으면 반드시 lilo 명령을 실행해야 한다.
   lilo.conf는 root 만 변경할 수 있다.

- 필자가 리눅스를 설치한 일부 저가 마더보드를 사용한 피시에서 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를 입력하면 리눅스로 부팅한다.
 

 boot      = /dev/hda
 vga       = normal
 read-only
 prompt
 timeout  = 50

   other   = /dev/hda1
   label    = dos

 table     = /dev/hda

  image  = /boot/vmlinuz
  label    = linux
  root     = /dev/hdb3

  image  = /boot/vmlinuz.suse
  label    = suse
  root     = /dev/hdb3


 

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(도스는 꼭 필요치는 않다)
2) primary slave  : 리눅스
3) secondary master : cd drive
- cd 드라이브는 secondary slave에 연결해도 무관하다. 삼성 피시 일부 모델의 경우
   secondary master 로 연결하면 리눅스에서 에러가 뜬다.

 

1. 설치 순서

1.1  도스 및 윈9x를 설치할 하드를 점퍼를 조정하여 마스터로 만들고 도스와 윈9x를
       설치한다.
      (리눅스를 설치할 하드는 연결하지 않은 상태에서 설치한다.)

1.2  도스와 윈9x를 모두 부팅할 수 있으면 다음으로.

1.3  윈9x가 설치된 하드를 떼내고 그 자리에 리눅스를 설치할 하드를 연결한다.
      이때 하드의 점퍼를 마스터로 바꾸는 것을 잊지 말도록.(하드를 바꾸었으면 BIOS 셋업을
      다시 해야 하는 것도 잊지 말도록).

1.4  리눅스 설치시 아래 사항을 명심할 것

1) 리눅스에서 멀티부팅을 하려면 lilo를 설치해야 하는데 lilo를 설치하려면 리눅스의
    루트파티션이 1024 실린더 이내에 위치해야 한다. 만약 하드디스크 파티션이
    1024 실린더를 넘으면 루트파티션을 1024 실린더 내에 위치시키고 리눅스 파티션을
    더 만들어 /u-sr, /home, /var 등의 디렉토리에 마운트 한다. 요즘의 배포본은 이를
    자동으로 해주는 경우도 있으나 그렇지 않은 배포본도 있다.

2) lilo를 마스터부트레코드(MBR)에 설치할 것.

3) 설치과정에서 부팅디스켓을 만드는 옵션이 있으면 만들 것. 단 이 디스켓은
    멀티부팅을 구성할 때는 사용하지 않는다. 단지 리눅스 설치시에 잘못이 있을 경우만
    사용한다.

1.5  리눅스를 플로피 없이 하드에서 부팅 할 수 있으면 다음 단계로 갈 것.
      (윈9x 하드는 아직 연결하지 말 것)

  -  지금부터는 아주 조심해야 할 단계이다. 잘못하면 지금까지의 작업이 헛수고가 된다.

1.6  리눅스를 부팅 후 root로 login해서 A: 드라이브에 배드가 없는 3.5인치 디스켓을 넣고서
      아래 명령을 준다.
 

fdformat  /dev/fd0H1440

 

    화면이 아래처럼 나와야 한다.
 

[root]/dev$ fdformat fd0H1440
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... done

 

(Verifying에서 에러가 나면 그 디스켓은 쓸 수 없다. 리눅스에서는 도스와 달리 배드가 있는 디스켓은 사용할 수 없다)
이 작업은 부트 플로피를 포맷하는 절차다.

* fdformat 명령이 없다는 메시지가 나오면 리눅스 CD에서 이 명령을 추가로 설치할 것.

* fd0H1440이라는 장치가 없다는 메시지가 뜨면 아래 명령으로 fd0H1440 장치를 만들 것

1) cd /dev
2) mknod  fd0H1440 b 2 28

1.7  리눅스의 커널 위치와 루트파티션 이름을 알아야 한다.

방법은 /etc/lilo.conf를 참조한다.

lilo.conf에서 제일 먼저 나오는 “image= “ 다음이 디폴트 부팅 커널이다.(lilo에서는 여러 개의 커널을 지정할 수 있다.) 커널 이름은 보통 vmlinuz 아니면 zImage임.

루트 파티션은 “root= “ 다음에 나오는 이름이다.(여러 개 있으면 맨 처음 나오는 것)

커널이 위치한 디렉토리로 이동 후 아래 명령을 준다.
(아래의 경우는 커널이 /boot/vmlinuz 이고 루트파티션은 /dev/hda2 인 경우이다.)
 

cd /boot
rdev ./vmlinuz  /dev/hdb2

 

[주의]  현재의 lilo.conf에서 루트파티션이 /dev/hda2 인데 왜 위에서는 /dev/hdb2를
           쓰는지 의아해 할 것이다. 현재는 리눅스 하드가 /dev/hda이나 하드를 두 개 다
           연결시에는 /dev/hdb 로 변경된다. 지금 만드는 부트 플로피는 그 때 사용하기
           때문이다.

* 아무런 에러 메시지가 없으면 다음으로 진행한다. 그러나 조금이라도 다른 메시지가 나오면
   절대 다음으로 진행하지 말 것.

1.8  1.6에서 만든 포맷한 디스켓을 넣고 아래 명령을 준다.

cp  ./vmlinuz  /dev/fd0

* 이제 부트 플로피는 완성되었다. 하지만 지금은 이 부트 플로피를 사용할 수 없다.
  드라이브에서 디스켓을 꺼낸다.

1.9  리눅스의 vi 나 ae 등을 이용해 /etc/fstab 파일을 아래처럼 수정한다.

# <file system>   <mount point>   <type>  <options>   <dump>  <pass>
    /dev/hdb2               /               ext2       defaults        0            1
    /dev/hdb1            none            swap         sw            0            0
       proc                 /proc            proc       defaults       0            0

위에서 변동되는 부분은 /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
        로 셋팅하여 연결할 것. 하드 디스크 점퍼를 맞추고 CMOS 셋업을 다시 잡는걸 잊지
        말 것. Master, slave 는 하드의 표면에 적혀 있다.
        (리눅스 하드가 primary slave에 연결되지 않으면 아래 글은 소용없다.)

1.11  피시를 부팅하여 윈9x가 제대로 뜨는가를 확인할 것.

1.12  이제는 위의 단계 1.8 에서 만든 부트플로피를 A: 드라이브에 넣고 부팅하여 리눅스가
        뜨는지를 살필 것. (부팅 순서가 A -> C 인지를 확인할 것)

여기까지 모든게 이상없이  작동하면 이제 작업은  99% 끝났음. 즉 플로피를 이용한 멀티부팅은 가능해 졌다. 하지만 하드에서 멀티부팅이 목표이므로 마지막 한 단계가 남았다. 하지만 이 마지막 절차가 초보자들에게는 가장 어려운 부분일 것 같다.

1.13  1.8에서 만든 디스켓을 넣고 디스켓을 넣고 리눅스로 부팅하여 root로 login 한 후
         /etc/lilo.conf를 아래처럼 수정할  것.
 

boot=/dev/hda       
compact
install=/boot/boot.b
map=/boot/map
vga=normal
delay=20
message=/boot/message
prompt
image=/boot/vmlinuz
  label=linux
  read-only
  root=/dev/hdb2
  other=/dev/hda1
  label=dos
  table=/dev/hda

 

위의 내용은 배포본에 따라서 조금씩 다르므로 위와 똑같이 수정하면 안되고 필요한  부분만 바꾸어야 한다. 즉 위의 lilo.conf는 데비안 2.1에서 만든 것으로서 다른 배포본은 조금 다를 수 있다. 따라서 아래에서 기술한 부분을  제외한 나머지는 기존의 lilo.conf의 내용을 그대로 두어야 한다.

1)  boot=/dev/hda       
     최초에는 이게 /dev/hda2 로 나와 있을 수 있음. 무조건 위와 같이 바꾸어야 함.

2)  message=/boot/message
     message는 선택 부트의 메시지를 뿌려 주는 부분이므로 없어도 지장 없음.
     단 이 부분이 들어가려면 필히 /boot에 message란 파일을 만들어 주어야 한다. 
     아래는  message 파일 예임.
 

linux    = /boot/

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,074 명
  • 현재 강좌수 :  35,995 개
  • 현재 접속자 :  554 명