윈도우즈 9x, 윈도우즈 2000(NT 4.0), 리눅스 멀티 부팅

글작성자 : 강기봉 (freekgb@kldp.org, freekgb@netian.com)
글작성일 : 2000년 1월 19일

프로필 : 네띠앙 Windows NT & Unix 동호회 Sysop
            HLUG(한양대 리눅스 유저 그룹) 웹마스터(고문 대우)
            맞춤형 컴퓨터 내맘대로 배우기 저자

리눅스를 멀티부팅하기 위하여 LILO를 쓰지만 조금 안정된 멀티부팅을 위해 다른 부트로더를 사용하기도 합니다. 그 중의 한가지 방법이 윈도우즈 2000(NT 4.0) 부트로더를 사용하는 것이죠. 이 글은 PCLINE 특집기사로 다루어진 것의 일부이지만, 따로 정리해서 KLDP에 올립니다. 멀티부팅을 하시는 많은 분들게 도움이 되길 바랍니다.

리눅스, 윈도우즈 98, 윈도우즈 2000(NT)을 멀티부팅하는 것은 그렇게 쉬운 것은 아닙니다. 약간의 설정을 해 주어야 제대로 멀티부팅이 가능하죠. NT 부트로더에서의 멀티부팅은 윈도우즈 2000(내지는 NT)가 리눅스 파티션을 인식하지 못하기 때문에 일정한 작업을 해 주어야 하죠. 다음은 간략한 설치 순서입니다.

1. 윈도우 98을 설치한다.

2. 리눅스를 설치한다.

3. 윈도우즈 2000(NT)를 설치한다.

4. 리눅스로 부팅하여 작업한다.

5. 윈도우즈 2000(NT)에서 작업을 한다.

6. 부팅 시도

7. 리눅스로 부팅

-- 문제 해결 --


1. 윈도우즈 98 설치하기

먼저 윈도우즈 98 부팅 디스켓으로 도스상으로 부팅합니다. 그리고, FDISK로 파티션을 나누어 줍니다. 물론, 윈도우즈 98을 설치할 부분만 파티션합니다. 그리고, 윈도우즈 98을 설치합니다. 그런데, 이미 윈도우즈 98이 설치되어 있고, 파티션이 나뉘어져 있거나, 다른 하드에 리눅스와 윈도우즈 2000(NT 4.0)을 설치할 것이라면 따로 윈도우즈 98을 설치할 필요는 없습니다. 그냥 다음 과정을 진행하시면 됩니다.

1) 부팅디스켓으로 도스로 부팅합니다.

2) fdisk를 실행하여 윈도우즈 2000의 경우 fat32로 윈도우즈 NT 4.0의 경우에는 fat16으로 파티션을 설정합니다.

3) 재부팅합니다.

4) 파티션을 포맷합니다.

5) 윈도우즈 98 CD로부터 윈도우즈 98 설치합니다.


2. 리눅스를 설치합니다.

리눅스의 설치는 다른 파티션에 해 줍니다. 설치를 할 때 꼭 Custom으로 하시고, LILO를 리눅스 부트 파티션에 해 주어야 한다는 것이 주의하실 점입니다.

가. BIOS에서 CDROM을 첫 번째 부팅 순서로 잡습니다.

나. CDROM을 인식하여 설치 화면이 뜨면, 엔터를 누르고 부팅을 시작합니다.

다. 설치 방식에서 Custom을 선택합니다.

라. FDISK나 아나콘다의 디스크 드루이드에서 파티션 나누기를 할 때 리눅스 주파티션과 스왑파티션을 잡아주고, 2000을 위해 도스 파티션을 주파티션으로 잡아둡니다.(사실상 extended에 2000을 설치해도 되지만, 그냥 주파티션으로 잡기 위해 이렇게 합니다.)

마. LILO를 설치하는 곳에서 LILO를 리눅스 루트 파티션에 설치합니다.

바. 리눅스의 부팅디스켓을 만드는 순서에서 부팅디스켓을 작성합니다.

3. 윈도우즈 2000(NT 4.0)를 설치합니다.

윈도우즈 2000의 경우는 윈도우즈 98에서 설치할 수 있습니다. 먼저 설치해둔 윈도우즈 98로 부팅하여 CD에서 윈도우즈 2000 설치를 시작합니다. 윈도우즈 2000을 설치하면, 윈도우즈 2000의 부트메니저가 윈도우즈 98을 자동으로 인식하여 멀티부팅을 구성합니다. 그렇기 때문에 윈도우즈 98쪽은 따로 설정할 필요가 없습니다. 이제 리눅스의 설정해 주어야 하죠. (NT 4.0의 경우에는 문제가 있을 수 있으니, 문제해결을 참조하여 설치하시기 바랍니다.)

1] 윈도우즈 98로 부팅합니다.

2] 윈도우즈 2000 CD를 넣습니다.

3] 자동인식이 되어 뜬 창에서 윈도우즈 2000 설치를 클릭합니다.

4] 리눅스를 먼저 설치한 경우에 경고 메시지가 뜨지만 상관 없습니다.

5] 설치를 합니다.

4. 리눅스에서의 작업

1) LILO 설정 - 이 부분은 꼭 필요한 부분은 아닙니다.

/etc/lilo.conf를 살펴보고 멀티부트 상태라면 다른 것들을 지우고 리눅스만 남겨 놓습니다. 그것이 번거로움을 없에는 한 방법이기 때문이죠. 그래서, other이후는 모두 지워줍니다.

그리고, /sbin/lilo 명령을 내려 lilo를 갱신합니다. 에러가 나더라도 상관 없습니다.

1] vi /etc/lilo.conf(kedit 등에서 수행해도 됩니다.)

2] other의 도스 부분을 삭제

3] wq 명령으로 저장하고 vi 종료

4] /sbin/lilo

2) LILO 파티션 이미지 생성

윈도우즈 씨리즈에서는 리눅스 파티션을 인식하지 못합니다. 억지로 인식하기 위해서는 툴이 필요하죠. 그렇기 때문에 리눅스에서 부팅에 관계되는 LILO를 윈도우즈 파티션으로부터 인식하여 부팅할 수 있도록 하는 작업이 필요합니다.(이 작업은 LILO나 커널이 수정이 될 때마다 해 줍니다.)

1] 세 개의 운영체제 멀티부팅일 때

리눅스에서 다음의 명령을 내려 줍니다.

dd if=/dev/hda2(리눅스 설치 파티션) of=/bootsect.lnx bs=512 count=1

리눅스의 루트에 가면 bootsect.lnx라는 파일이 생성되었을 것입니다. 이 화일을 윈도우즈 98이 설치된 루트 리렉토리로 복사합니다. (참고로, 윈도우즈 2000만 멀티부팅한다면 윈도우즈 2000의 루트 파티션에 복사하면 됩니다.)

2] 리눅스, 2000 멀티부팅의 경우 2000의 파티션이 NTFS일 때

다음과 같이 bootsect.lnx 를 도스 포맷된 플로피 디스크에 복사하여 2000의 루트 파티션으로 옮깁니다. 커널에서 쓰기 기능을 지원하기는 하지만 불안정하므로 그렇게 합니다.

터미널 등에서 다음과 같은 명령어를 실행합니다.

# mcopy /bootsect.lnx a:

또는

# mount -t msdos /dev/fd0 /mnt/floppy
# copy /bootsect.lnx /mnt/floppy
# umount /mnt/floppy


5. 2000에서 boot.ini의 수정

다음에는 윈도우즈 98의 루트 디렉토리에 있는 boot.ini(LILO의 역할)를 수정합니다. (물론 bootsect.lnx가 그 루트 디렉토리에 복사되어 있어야 합니다.)

1) 윈도우즈 2000(또는 NT 4.0)으로 부팅합니다.

2) boot.ini 파일의 속성이 읽기 전용으로 되어 있으므로 이것을 다음과 같이 해제하여 줍니다.

attrib -s -r c:\boot.ini

이것이 수행이 되지 않는다면 다음과 같이 하여 파일의 존재를 확인합니다.

dir /a

3) 윈도우즈 2000에서 명령행 창을 열어서 boot.ini 파일을 편집합니다.
(속성 변경이 되었다면 메모장에서 작업해도 됩니다.)

edit c:\boot.ini

다음과 같이 리눅스 부팅에 대한 메뉴를 추가합니다. 윈도우즈 98과 함께 부팅할 때는 윈도우즈 98의 줄이 있으므로, 마지막 라인만을 추가하면 됩니다.

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="한글 윈도우즈 2000"
C:\="윈도우즈 98"
C:\BOOTSECT.LNX="Linux"

4) boot.ini 파일을 저장하고 속성을 다음과 같이 복구해 줍니다. 물론 위에서 에러가 난 상황이라면 다음의 작업을 할 필요는 없습니다.

attrib +s +r c:\boot.ini

6. 시스템을 재부팅합니다.

OS Loader V4.00
Please select the operating system to start:

Windows NT Workstation Version 4.0
Windows 98
Linux

7. 리눅스 부팅

부팅 메뉴에서 리눅스를 선택하면 다음과 화면을 볼 수 있습니다.

LILO :
LILO loading zImage ....


--- 문제 해결 -----

[리눅스 설치시 CDROM 인식이 되지 않습니다]

CDROM을 인식하지 못하여 CDROM에서 설치가 되지 않는다면, rawrite를 이용하여 부팅디스켓을 만들어 설치하거나, 부팅시 F8키를 누르고 DOS ONLY로 부팅하여 리눅스 /dosutils의 autoboot.bat를 실행시킵니다.


[LILO를 MBR에 설치하였습니다. 방법이 없나요?]

만약 LILO를 MBR에 설치하셨다면, LILO가 먼저 실행이 된 후에 윈도우즈 2000의 부트 메니저가 작동할 것입니다. 다음과 같은 방법으로 해결이 가능합니다.

1] LILO가 MBR에 쓰여지면 BOOT.EXE는 이 것을 파일로 추출합니다.

boot /r /drive:0 mbr c:\bootsect.lin

--설명--

/DRIVE:0 : 시스템의 첫번째 논리적 드라이브와 일치.
MBR : BOOT.EXE로 하여금 첫번째 논리적 섹트를 읽도록 지시.
첫번째 논리적 섹터 : LILO라고 부르는 MBR을 포함.


2] MBR을 원래의 상태로 복구하기 위해 명령행에서 다음과 같은 명령을 내립니다.

fdisk /mbr


[MBR이 뭐죠?]

MASTER BOOT RECORD 섹터를 의미하는 것으로 부팅에 관계되는 장소입니다. 부팅할 때 가장 처음 이곳이 체크가 되기 때문에 윈도우즈의 부트 프로그램보다 이 LILO가 먼저 반응하게 됩니다.

[속성 변경이 되지 않는데 EDIT 말고 쉬운 방법은 없나요?]

속성을 변경하는 간단한 방법으로 다음과 같이 해주어도 됩니다.

1] 윈도우즈의 윈도우즈 탐색기를 엽니다.

2] 메뉴에서 보기의 폴더옵션을 엽니다.

3] 보기텝을 고릅니다.

4] 파일폴더 아래의 숨김 파일에서 모든 파일 표시를 골라줍니다.

5] 확인을 누릅니다.

6] 메모장으로 편집합니다.

[윈도우즈 98에서의 멀티 부팅도 가능한가요?]

윈도우즈 98의 멀티 부트 기능을 이용할 수도 있습니다. 그것은 시스템 파일을 수정하는 일련의 작업을 해야 하고 상당히 원시적인 방법이 될 수도 있습니다. 또한 리눅스, 2000(NT), 윈도우즈 9x의 멀티부팅 중에서 2000(NT)의 멀티부팅 방식이 가장 안정적입니다. 그러므로, 되도록 윈도우즈 2000에서 멀티부트를 하시고, 아니면 LILO를 이용하여 멀티부트하는 것이 좋습니다.

[NT 4.0인 경우의 윈도우즈 98과의 설치에 문제가 발생했습니다.]

NT 4.0인 경우에는 윈도우즈 98을 인식하지 못할 수 있습니다. 윈도우즈 98이 fat32일 경우 NT가 그 파티션을 인식하지 못하기 때문이죠. 또한 fat32인 경우에는 NT의 설치에도 문제가 발생할 수 있습니다. 그러므로, 파티션을 한 개 더 잡아서 C:에 100메가 가량의 도스 영역을 만들어 두던지 아니면, 윈도우즈 98을 fat16으로 잡아서 설치합니다. 참고로, 모두 fat16으로 잡아주었을 경우에는 두 운영체제를 하나의 파티션에 설치가 가능합니다.

[mcopy가 무엇인가요?]

리눅스에는 mtool이라는 프로그램이 있습니다. 이것은 도스에 익숙한 사용자들을 위해 도스 명령어를 사용할 수 있도록 한 툴입니다. 도스의 명령어 앞에 m을 붙여서 사용합니다.

[리눅스가 1024실린더를 넘었다며 멀티 부팅이 되지 않습니다.]

BIOS에서 LBA로 하드드라이브 형식을 잡는다면 웬만해서는 1024 실린더를 넘지 않습니다. 그러나, 10기가 이상의 하드웨어에서는 종종 이런 일이 발생하죠. 그런 경우의 해결책은 다음과 같습니다.

우선 도스 프라이머리를 잡습니다.

2GB Primary DOS (C:)

그 이후에 익스텐디드로 파티션을 잡으신 이후에 다음과 같이 논리 파티션을 잡아줍니다.

(C:) fat16 주 DOS 파티션
[2GB logical DOS drive in Extended DOS wrapper
(D:) 2GB logical DOS drive in Extended DOS wrapper
(E:) 2GB logical DOS drive in Extended DOS wrapper
(F:) 2GB logical DOS drive in Extended DOS wrapper
(G:) ]

그리고, 드루이드에서 첫 번째 논리 드라이브를 지우고 파티션을 프라이머리 파티션으로 다시 잡습니다.

[윈도우에서 리눅스 파티션을 인식하고 싶은데 방법이 있습니까?]

윈도우에서 리눅스 파티션을 인식하기 위해서는 특별한 툴을 써야 합니다. 그러나, 이 방법은 상당히 위험한 방법이므로, 리눅스가 릴로를 통해 부팅이 되지 않아 로드린을 써야만 할 때 등 꼭 필요한 경우에만 사용합니다. 다음은 리눅스 파티션을 읽어들어 vmlinuz를 가져오는 방법을 설명하고 있습니다.

1] 다음 URL로 가기 위해 어떤 윈도우즈 브라우저라도 사용합니다:

http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm

2] 그리고 Windows 9x 와 NT를 위한 가장 새로운 버젼의 "Explore2FS"을 다운로드합니다.

3] C:\ (root) 에서, Explore2FS라는 새로운 이름의 폴더를 만듭니다.

4] 그 새로운 폴더에 다운로드한 zip 파일의 압축을 풉니다.

5] Windows explorer를 사용하여, Explore2FS 폴더를 열어서 explore2fs.exe라는 파일을 더블 클릭합니다.

6] Linux explorer가 나타날 것입니다. 자 이제 안심하십시요. explorer가 리눅스 파티션을 읽고서 그 내용물들을 보이는 데는 얼마간의 시간이 걸릴 것입니다.(만약 내용물들이 2분 정도 안에 보이지 않는다면 리눅스 드라이브 아이콘 옆에 + 표시를 클릭해야만 할 수도 있습니다.)

7] 일단 리눅스 드라이브의 내용물들이 보이면, vmlinuz 파일을 찾습니다.(대체적으로 / 나 /boot에 위치합니다.)

8] Linux explorer 에서 vmlinuz 파일을 클릭하고 그것을 윈도우즈의 익스플로러로 드래그하여 C:\ 디랙토리에 떨어뜨립니다.

(DANGER : 윈도우 사이에서 파일을 드래깅하는 동안에 마우스 버튼을 놓지 마십시요.)

9] Linux explorer를 닫으십시요. (Linux explorer는 단지 긴급할 때만 사용합니다.)

[멀티부팅 시 NT가 부팅이 되지 않습니다.]

NT를 먼저 설치하고 리눅스를 설치할 때, LILO를 MBR에 설치하면 NT가 부팅이 되지 않는 현상이 있습니다. 이 때는 LILO를 MBR에서 삭제(fdisk /mbr)하면 NT가 부팅됩니다. 그러므로, 항상 리눅스를 먼저 설치하고 NT를 설치해야 합니다.

[2000(NT) 부팅과정을 알고 싶습니다]

2000(NT)의 부트 순서 (Boot Sequence)는 상당히 안정적인 프로그램으로 정평이 나 있습니다. 그러나 설치나 사용시 실수로 파일이 지워져 부팅에러가 나는 경우도 있습니다. 다음은 NT가 부팅되는 순서입니다. 부팅순서를 자세히 살펴보면, 에러 발생시에 어느 부분에서 문제가 생겼는지 파악하여 문제를 해결할 수 있습니다. 컴퓨터의 전원을 넣으면 다음의 순서로 부팅이 됩니다.

1) POST(Power on Self Test) 루틴이 실행됩니다.

2) 부트 디바이스가 있고, MBR(Master Boot Record)이 메모리에 로드되어 수행됩니다.

3) MBR 프로그램이 활성화된 파티션을 찾기 위해 PBR(Partition Boot Record)를 검색합니다.

4) 윈도우 NT에 관련된 부트 섹터가 로드되면, NTLDR을 찾아 수행합니다.

5) NTLDR이 32비트 플랫 메모리 모델로 전환합니다.

6) NTLDR이 해당 미니 파일 시스템을 시작합니다.

7) NTLDR이 BOOT.INI를 읽어 운영체제 메뉴를 보여줍니다. os loader가 나오면서 부팅 메뉴 중 선택을 하게 됩니다. 이 때 읽어들일 파일의 내용은 본문의 예제와 같습니다.

8) NTLDR이 사용자에 의해 선택된 운영체제를 로드합니다. 만일 사용자가 윈도우 NT를 선택하면 NTOSKRNL.EXE를, 그렇지 않으면 BOOTSECT.DOS를 로드합니다.

9) NTLDR이 NTDETECT.COM을 실행합니다.

10) NTOSKRNL.EXE가 NTDETECT.COM으로부터 하드웨어 정보를 받습니다.

11) 윈도우 NT가 로드 되어 실행됩니다.

[NT의 부트로더를 없에고 싶습니다.]

도스에서 sys c: 명령을 실행하면 됩니다. 윈도우즈의 x86 계열의 CPU를 가진 컴퓨터의 경우 부팅의 절차 중에 제일 먼저 일어나는 것이 부팅 디바이스(하드디스크)의 0사이드 0트랙 0섹터에서 정보를 가져오는 일입니다. 이 곳이 바로 바로 부팅을 하기 위한 정보를 담고 있는 곳, 즉 부트 섹터입니다. 일단 도스의 sys 명령을 사용하면 이 부트 섹터에 자신이 부팅하기 위한 정보(인터럽트 테이블 등)를 복사하는데, 2000(NT)의 경우도 마찬가지로 이곳을 제일 먼저 사용하게 됩니다. 도스나 Win9x가 깔려있는 상태에서 2000(NT)을 설치하면 이미 있던 부트 섹터의 정보를 파일로 만들어서 BootSect.dos 비슷한 이름으로, 파일의 형태로 만들어 루트디렉토리에 저장합니다. 그런 다음 boot.ini 파일의 멀티부팅에서 Win9x를 선택하면 이 파일을 열어서 실행시킵니다. 리눅스를 2000의 부트로더에서 읽어들이는 방식도 결국 같은 원리입니다. 리눅스 루트 파티션의 부트 섹터에 있는 LILO의 정보를 담은 bootsect.lnx를 루트디렉토리에 복사해 놓으면, 2000의 부트로더에서는 boot.ini의 정보를 읽어들여 그 파일을 열어서 실행하는 것이죠.

[FAT16, FAT32, NTFS, ext2 ?]

각 운영체제마다 자신의 고유한 디스크 포맷 방식을 가지고 있습니다. 포맷이라는 것은 하드 디스크에 기록하는 방식을 정하는 것입니다. 어느 부분(섹터)에 어떤 식으로 어떻게 정보를 넣겠다는 것을 미리 정해두는 것이 포맷이고 그 방식의 이름들이 바로 fat16 등의 이름입니다. 윈도우즈 9x의 경우 fat16에서 fat32로 발전하였고, 2000(NT)의 경우는 NTFS라는 고유의 포맷방식과 fat16을 쓸 수 있습니다. 리눅스의 경우에는 minix, ext, etx2에서 커널 2.4에서는 ext3 방식을 채택한다고 합니다.

[2000과 NT는 같은 것입니까?]

기본적으로 같다고 할 수 있습니다. 현재 많이 쓰이고 있는 NT 4.0이 배타버젼으로 5.0이 나왔고, 이것을 약간 수정하여 내 놓은 것이 윈도우즈 2000입니다. 이 윈도우즈 2000의 탄생은 마이크로소프트사에서 2000년대를 바라보면서 그들의 생산라인을 단일화하기 위한 방편으로 나온 것이며, 또한 2000년대가 네트웍 시대라는 점을 감안하여 개인이 집에서 간단하게 웹서버를 구동할 수 있도록 한다는 취지도 함께 가지고 있는 것입니다.

[LILO와 NT 부트 메니저 중 어떤 것을 쓰는 것이 좋겠습니까?]

그것은 여러분의 선택입니다. 운영체제를 떠나 조금더 안정적인 부팅을 원하신다면 NT 부트로더를 쓰시고, LILO를 제대로 활용해 보고 싶으신 분들은 LILO를 쓰면 됩니다.

[멀티부팅 시 OS2의 BOOT MANAGER도 사용이 가능하다고 하던데요?]

그렇습니다. 그리고, 이것으로 할 때 가장 안정적입니다. 그러나, 윈도우즈 2000(NT)과 윈도우즈 9x의 파티션을 각각 프라이머리로 하면, 각각의 운영체제에서 다른 운영제제의 파티션 공유를 할 수 없다는 것이 단점입니다.

[윈도우즈 2000 부트로더로 더 많은 리눅스를 멀티부트하고 싶습니다.]

가능합니다. 해당 리눅스 파티션에서 위의 bootsect.lnx와 다른 이름으로 opensetc.lnx 등으로 파일을 만들어 주고, 위와 같은 과정을 거치면 또 하나의 리눅스로 부팅이 가능합니다.

[리눅스가 1024 실린더 밖에 있습니다. 그런대, 부팅 디스켓 없이 윈도우98과 윈도우 2000, 리눅스를 함께 사용하고 싶습니다.]

가능합니다. loadlin이라는 프로그램을 사용하면, 부팅디스켓 없이 멀티부팅이 가능합니다. 단지 이 loadlin이라는 것은 윈도우 9x나 도스에서만 작동하므로, 2000부트로더 -> 윈도우 멀티 부트 메뉴 -> loadlin 으로 멀티부팅해야 합니다.



부록. 다른 멀티 부팅 방법과 파티션 도구들

[다른 멀티 부팅 방법들]

-- OS/2 부트 메니저로 멀티 부팅하기 --

OS/2 부트 메니저로 멀티 부팅을 하기 위해서는 하드디스크가 2개 이상 있어야 합니다. 부트메니저가 Extended파티션으로 DOS부트를 할 경우 부팅을 하다가 멈춰버리기 때문입니다. 첫번째 하드디스크 프라이머리 파티션을 DOS, Extended파티션들에 다른 OS들을 깔아야 합니다.

1] 하드디스크에 있던 모든 자료를 백업합니다.

2] 하드디스크 2개를 포맷합니다.

3] 용량이 크고 빠른 디스크를 프라이머리로 잡고 작은 것을 슬레이브로 잡습니다. 그리고, CD-ROM 드라이브를 세컨더리 마스터로 설치합니다.

4] OS/2용 설치디스크를 넣고 부팅합니다.

5] 부팅 후 설치메뉴에서 사용자설치(Advanced Menu)를 선택하고 OS/2용 FDISK로 들어갑니다.

6] 첫 번째 하드디스크의 첫 번째 파티션은 윈도우 9x, 두 번째는 OS/2용 부트 매니저 파티션으로, 세 번째 파티션에 리눅스로 파티션을 나눕니다. 그리고, 두 번째 하드디스크에서 첫 번째를 2000(NT)로 파티션을 잡습니다. 리눅스의 경우는 두 번째 하드디스크에 파티션을 잡아도 됩니다. 이미 다른 운영체제들이 설치되어 있는 상태라면, 부트 매니저를 실행시키고, os/2와 다른 운영체제를 위한 파티션을 나누어준 후, 이전의 것들은 메뉴에 추가하여 주면 됩니다. 물론 리눅스의 경우는 LILO를 리눅스 루트 파티션에 설치해야 합니다.

7] 2번째 하드디스크에 부트테이블이 작성되었나 확인합니다. 안되어 있다면 NDD 등의 도스 프로그램으로 작성해야 합니다. 물론, 하드 하나만 남겨두고 실행합니다.

(이 때 도스에 있어야 할 필요 파일들 : 시스템 파일, FDISK, FORMAT, NDD(NDD.EXE, NLIB200.RTL 등)

8] 재부팅하고 각각의 운영체제를 설치합니다. 단, LILO 설치시에는 리눅스 루트 파티션에 설치합니다. 윈도우즈 9x와 윈도우즈 2000(NT) 설치시에는 설치종료 후 액티브 파티션을 바꿔버리므로 FDISK로 액티브 파티션을 OS/2 부트 매니저 파티션으로 바꾸어야 합니다.

-- 시스템 커멘더

이 프로그램은 기본적으로 설치된 운영체제를 검색하여 멀티 부팅이 가능하도록 합니다. 그리고, OS-WIZZARD라는 내장된 기능을 통하여 파티션 및 OS 설치가 가능합니다. 이 OS-WIZZARD를 이용하여 FAT32를 FAT16으로 변환할 수도 있는데, 그것은 FAT32를 다른 운영체제가 잘 인식하지 못하기 때문입니다. FAT32의 경우 Window 2000 에서는 인식이 가능하지만, Window NT 4.0 버전에서는 전혀 인식하지 못했습니다. 시스템 커멘더 디럭스의 경우 Window NT 5.0까지 지원하는데, 사실상 이 NT 5.0이 2000의 전신이므로, 결국 Window 2000까지 지원하게 됩니다.

(Site : http://www.v-com.com/scd.html)

[설치]

시스템 커멘더는 윈도우즈 98에서는 setup 아이콘을 클릭하여 바로 설치가 가능합니다. 윈도우즈 95에서는 윈도우즈 95 설치후 95 부팅디스켓으로 부팅후 시스템 코멘더 디스켓을 넣고 install을 적고 엔터를 칩니다.(시스템 커멘더 4.0 디럭스의 경우)

2000의 경우는 윈도우즈 98 설치 후 설치하면, 시스템 커멘드에서 부트 메니저를 인식합니다. 물론, 98은 따로 인식하죠. 이 경우 boot.ini를 적절히 설정해 주면 불필요한 시간을 절약해 줍니다.

리눅스의 설치 위의 과정이 끝이 난 후 리눅스를 설치합니다. 리눅스 부팅 디스켓으로 부팅하여 리눅스를 설치합니다. 이 경우 주의할 점은 LILO를 리눅스 부트 파티션에 설치하여야 한다는 것입니다. 또한, 1024 실린더를 넘지 않도록 설정합니다. 설치 후에 'System Commander OS Selection menu'를 위한 셋업에서 Linux의 루트 파티션을 'yes'로 설정합니다. 리눅스까지 전부 설치 후, 시스템 커멘더를 설치해도 됩니다.

[설치시 주의점]

1. 기존의 설치 경로 및 이름을 지켜 주는 것이 이롭다는 것과 이 시스템 커멘더 설치시 MBR뿐만 아니라, 2000의 부트로더가 있는 부트 섹터까지 침범하므로, 항상 각 시스템의 부팅디스켓을 만들어 두어야 합니다. 그래야 시스템 커멘더를 언인스톨할 때 좋습니다. 특히, 2000의 경우는 부팅 디스켓이 없으면 아예 부팅이 안되는 경우도 발생합니다.

2. 언인스톨 후에 C:의 루트 부분이 상당히 지저분해 질 수 있으므로, 파일들을 잘 정리해 두시고, 전의 주요 시스템 파일들은 시스템 커멘더가 설치되면서 모두 백업이 되나, 이전에 백업을 확실히 해 두는 것이 좋습니다.

3. 윈도우즈 95의 도스인 MS-DOS 7.0 이상에서 인스톨하면 잘 되지만, MS-DOS 6.22

이전 버전에서는 인스톨이 되지 않는다고 합니다. 되도 윈도우가 부팅이 되지 않는 현상이 일어난다고 합니다.

[주요 기능들]

1. 내재되어 있는 OS-WIZZARD의 기능은 탁월하여, 각 운영체제의 설치가 용이합니다.

2. OS-WIZZARD의 파티션 기능도 좋아 무리없이 파티션을 잡고, 없에고 포맷하며, 파티션의 크기를 조절할 수 있습니다.

3. 시스템 커멘더의 설치시 다른 운영체제에 대한 자동 인식(인식 가능한 운영체제만도 100개가 넘습니다)도 가능해서 수동으로 멀티 부팅을 설정해 줄 필요가 없습니다.

4. 여러 윈도우즈 9x도 설치하여 사용할 수 있기 때문에 다른 언어의 윈도우를 사용할 때 시스템 커멘더를 사용하기도 합니다.

5. MBR이 다른 운영체제 설치시 침입당했을 때 그것을 자동으로 고쳐주는 기능도 함께 가지고 있습니다.

[문제점]

1. 윈도우즈 95의 OSR2에서는 FAT32만을 지원합니다.

2. 정식으로는 국내에서 구할 수 없습니다. 그러나, 인터넷에서는 구입이 가능합니다.

[지원 운영체제]

Windows 98, Windows 95, Windows 3.x, Windows 2000, Windows NT4.0, Windows NT3.51, Windows NT3.5, Windows NT3.1, MS-DOS/V 6.x, MS-DOS/V 5.x, MS-DOS 6.x, MS-DOS 5.x, MS-DOS 4.x, MS-DOS 3.x, PC-DOS 2000, PC-DOS/V 7.x, PC-DOS/V 6.x, PC-DOS 7.x, PC-DOS 6.x, PC-DOS 5.x, PC-DOS 4.x, PC-DOS 3.x, Novell-DOS 7.0, DR-DOS 6.0/v, OS/2 Warp V4, OS/2 Warp V3, OS/2 J2.x, OS/2 J1.x, NetWare 4.x, NetWare 3.x, NetWare 2.x, Solaris for X86, UnixWare, XENIX, NeXT Step, OpenStep, SCO UNIX System V, Linux, NetBSD, FreeBSD, 386BSD, BSD386, Minix, Panix, Coherent UNIX, Interactive UNIX, Lynx OS, THEOS, BeOS, CTOS, QNX, B-right/V, Btron 1B, CP/M, ......

[유용한 파티션 프로그램들]

---파티션 매직

파티션 매직은 파티션을 나눌 때 사용합니다. 이것은 현재의 파티션을 fdisk하지 않고서도 파티션을 할 수 있기 때문에 유명해졌죠. 현재 파티션 매직 4.0이 많이 쓰이고, 얼마전에 5.0 버전이 나오면서 이것도 함께 쓰이고 있습니다. 다음은 5.0 기준으로 설명합니다. 홈페이지에서 트라이얼 버전을 제공합니다.

(SITE : http://www.powerquest.com/partitionmagic/index.html)

[설치하여 사용 가능한 운영체제]

현재 이 프로그램은 DOS, Windows 3.x, Windows 95/98, Windows NT Workstation 4.0(파티션 매직 4.0, 5.0 동일) 등에서 실행할 수 있습니다. Windows NT Server와 Novell NetWare server 환경에서는 같은 회상의 ServerMagic이라는 프로그램을 써야 합니다(파티션 매직 4.0, 5.0 동일). 그리고, 아직까지 윈도우즈 2000을 지원하지 않는다는 것도 단점이군요.

[주요 기능]

1. FAT, FAT32, NTFS(NTFS5는 5.0 이후 지원, 이것은 2000에서 새롭게 등장한 새로운 NTFS 방식입니다.), HPFS, Linux ext2, fat16과 fat32을 모두 지원합니다.

2. 20 GB 이상의 하드 디스크를 나눌 수 있습니다.

[지원 운영체제에 따른 최소 시스템 사양]

PartitionMagic 버젼

최소 시스템 사양(파티션 매직 5.0 기준)

Windows 95/98

- 12 MB 의 하드 디스크 공간
- 16 MB RAM
- Windows 95a 이후 (FAT32를 위해서는 Windows 95b)
- VGA compatible
- Intel/486 DX 이상 (33 MHz)
- 4x CD-ROM
- 3.5" Floppy (high-density)

Windows NT(Workstation)

- 12 MB 의 하드 디스크 공간
- 16 MB RAM
참고 : Windows NT 3.51은 파티션 매직의 미국 버전에서는 지원되지 않습니다. 그러나, 이것은 DOS GUI (rescue disk)의 버전에서 지원이 됩니다.
- VGA compatible
- Intel/486 DX 이상 (33 MHz)
- 4x CD-ROM
- 3.5" Floppy (high-density)

DOS (rescue disks)

- 8 MB RAM (NTFS 또는 FAT32를 위해서는 16 MB)
- MS-DOS 5.0 (6.2 이상 권장)
- VGA compatible
- 486 DX 이상 (33 MHz)
- 3.5" floppy (high-density)


주의할 점 : boot.ini 파일이 새롭게 교체가 되므로, 이것을 설치하기 이전에 해당 파일을 백업해 둡니다.

-- 서버 매직 --

이 프로그램은 파티션 매직과 같은 회사에서 나온 파티션 도구입니다. 도스, 넷웨어나 NT 서버의 파티션을 나눌 때 쓰이는 것입니다. 파티션 매직 같은 경우 국내에 많이 알려져 있지만 이 서버매직은 그리 많이 알려져 있지 않습니다. 그러나, 파티션 매직이 넷웨어와 NT 서버를 지원하지 않는 것을 감안할 때 유용한 도구입니다. 트라이얼 버전으로 2.01을 홈페이지에서 제공하고 있습니다.

(Site : http://www.powerquest.com/servermagic/index.html)

[주요 기능]

1. 도스, NTFS, 넷웨어 서버의 하드웨어 파티션을 복사하고, 나누고, 크기를 재조정할 수 있습니다.

2. NTFS와 넷웨어의 숨김 파일을 포함하여 전체를 옮기거나 복사할 수 있습니다.

3. FAT, FAT32. HPFS 386, NetWare, NTFS 서버 파티션을 재조정하고, 복사하고, 파티션할 수 있습니다.

4. NetWare 3.12, NT 서버 4.0(서비스팩 4.0)과 그 이상을 지원합니다.

5. 하드 디스크의 속도를 개선할 수 있습니다.

-- FIPS 사용하기 --

이 FIPS라는 프로그램은 리눅서들에게 가장 많이 알려진 파티션용 프로그램입니다. 도스상에서 구동하며, 현재의 파티션을 FDISK하지 않고도 새롭게 파티션을 나누어줄 수 있습니다. 이 프로그램은 무료이므로 대부분의 리눅스 배포판에 포함되어 있다는 것도 특징라면 특징이죠. (원문 출처 : 천리안 리눅스 동호회)

[사용 조건]

하나의 드라이브(C:)에 파티션을 나누어 WIN9x와 리눅스를 사용하려고 할 때 사용합니다.

[사용 이유]

Dos나 Win9x를 하나의 드라이브에 설치하여 사용하고 있습니다. 그래서, 그곳에 리눅스를 설치하려고 할 때, 기존의 운영체제를 보존하면서 또 다른 리눅스 파티션을 형성하는 경우가 생깁니다. 경제적 여유가 있어 하드를 추가하여 리눅스를 설치하거나, 처음부터 모두 파일을 지우고 하나씩 다시 설치할 때는 문제가 없겠지만, 그렇지 못할 때에는 그것은 어려운 문제가 되죠.

[Fips를 사용한 리눅스 파티션 설정]

다음의 전과정에서 다음 과정으로 넘어갈 때는 엔터키를 그냥 나가고 싶을 때는 Esc 키를 누릅니다.

1. Dos만 사용하고 있을 때, C:\>에서 DEFRAG나 노턴의 SD(SPEED DISK)를 이용하여 디스크를 정리합니다.

2. Win98에서는 프로그램 -> 보조프로그램 -> 시스템도구 -> 디스크 조각모음을 실행합니다.

참고 : 노턴을 사용할 경우 Win9x에서는 Win9x전용 노턴을 사용해야 합니다. 그 하위 버전의 노턴을 사용하여 디스크정리를 하면 문제가 생깁니다. Win9x의 경우 화일명이 8+3 즉 8자의 화일명과 3자의 확장자가 아닌 256+3인 형식이기 때문입니다. 그러나 하위버전의 노턴은 8+3형식만 지원합니다.

2-1. 조각모음 실행중인 상태에서 '자세히(D)'를 선택합니다. 그러면 프로그램이 디스크의 빈 공간에 데이타를 정리하는 것이 보일 것입니다.

3. 시스템 디스켓을 준비합니다.

3-1. Dos일 때는 format a: /s 하면 됩니다. 그리고 포맷된 시스템 디스켓에 fdisk, fips, restorrb를 복사합니다. fdisk는 C:\DOS에 있으며 fips와 restorrb는 Linux CD의 DOSUTILS\ 안에 있습니다.

3-2. Win9x일때는 시작 -> 설정-> 제어판 -> 프로그램 추가/삭제 -> 시동디스크 작성을 선택하면 됩니다. 그리고 역시 fips 및 restorrb는 Linux CD로부터 복사해야 합니다.

4. 시스템 디스켓을 넣고 재부팅합니다.

5. A:\>에서 fips를 실행합니다. 그러면 간단한 소개와 아무키를 누르라는 메세지가 출력됩니다. 그 때, 엔터키를 누르면 다음과 같이 출력될 것입니다.

--- 화면 출력 ---

Partition table:

: : Start : : End : Start :Number of:

Part.:bootable:Head Cyl. Sector:System:Head Cyl. Sector: Sector :Sectors : MB

---+-------+---------+-------+-----------------+------+-------------+----

1 : yes : 1 0 1 : 06h : 254 260 63 : 63 : 4192902 : 2047

2 : no : 0 0 0 : 00h : 0 0 0 : 0 : 0 : 0

3 : no : 0 0 0 : 00h : 0 0 0 : 0 : 0 : 0

4 : no : 0 0 0 : 00h : 0 0 0 : 0 : 0 : 0

Checking root sector ....ok

Press any key.

참고 : 하드용량이 2.1GB일 때, 그것을 C:로 잡은 내용입니다. 그러므로, 출력되는 내용은 컴퓨터 사양에 따라 다를 수 있습니다.

6. 엔터를 칩니다. 그러면, 하드 드라이브의 정보를 검색하고 다음과 같은 메시지가 출력됩니다.

Do you want to make a backup copy of yuor root and boot sector before

proceeding (y/n)? _

이때, y를 입력합니다.

참고 : 현재의 하드정보를 백업할 것인가를 묻는 것입니다.

당연히 백업해야 되겠죠. 이상이 있어 하드를 복구하려면 필요하게 됩니다.

7. 다음과 같은 메시지가 출력이 되면 y를 입력하고 엔터를 칩니다.

Do you have a boottable floppy disk in drive A: as descrideb in the

documentation (y/n)? _

참고 : 백업정보를 저장할 디스켓을 넣으라는 메세지입니다. 디스켓을 바꾸어 넣어도 되나 굳이 바꿀 필요는 없습니다. 화일의 용량이 크지 않으므로 현재의 디스켓으로도 충분합니다.

8. 다음과 같은 메시지가 출력이 됩니다.

Writing file a:\rootboot.000 <= A:드라이브에 저장된 백업화일명

Enter start cylinder for new partition (144-260): <= 사용할수 있는 실린더

Use the cursor keys to choose the cylinder, to continue

old partition cylinder new partition

1113.9MB 144 917.8MB

------------- ----------- --------------

현재 사용량 실린더 번호 남아 있는 용량

참고 : 방향키로 가감을 조정합니다. 예를 들어 리눅스 설치 용량을 500MB로 할 경우 방향키를 누르면 실린더 번호 및 남아 있는 용량이 다음과 같이 변합니다.

old partition cylinder new partition

1545.3MB 197 502.0MB

9. 선택을 하였으면 엔터를 누릅니다. 그러면 다음과 같이 출력될 것입니다.

Checking root sector .....ok

Do you want to continue or reedit the partition table (c/r)? _

참고 : 계속 할려면 C를 누르고 수정 할려면 R를 누릅니다. => C를 눌러야겠죠?

10. 다음과 같은 메시지가 나왔을 때 Y를 눌러 줍니다. 설정을 기록하겠다는 메시지입니다.

Ready to write new partition scheme to disk

Do you want proceed (y/n)? _

11. 종료 메시지가 나옵니다.

Repartitioning complete

Bye !

A:\> _

참고 : 이로써 fips의 작업이 모두 끝났습니다. 그러나, 아직 할 일이 남아 있습니다. 지금 만들어진 파티션은 리눅스용이 아닌 Dos용 파티션일 뿐입니다. 그러므로 새로 형성한 파티션에 리눅스를 설치하려면 몇가지 작업이 필요합니다. 그리고 이상이 있어 하드를 복구 하려면 RESTORRB.EXE사용법을 알아야 합니다.

12. 컴퓨터를 재부팅합니다. 재부팅을 하지 않으면 새로 형성한 파티션은 인식이 되지 않습니다.

13. A:>에서 fdisk를 실행합니다. 그러면 다음과 같이 출력됩니다.

참고 : 다음은 영문으로 출력될 것입니다.

FDISK 옵션

현재 하드 디스크 드라이브: 1

다음중 하나를 선택하십시오:

1. 분할영역 또는 논리 DOS 드라이브 지정

2. 실행영역 지정

3. 분할영역 또는 논리 DOS 드라이브 삭제

4. 분할영역 정보 표시

선택항목을 입력하시요: [1]

Esc를 누르면 DOS로 돌아갑니다.


13-1. 4번 "분할영역 정보 표시"를 선택하여 하드의 정보를 봅니다.

분할영역 정보를 보여줍니다.

현재 하드 디스크 드라이브: 1

분할영역 상태 종류 디스크 이름 MB 시스템 사용률

C: 1 A PRI DOS 1545 FAT16 75%

D: 2 PRI DOS 502 UNKNOWN 25%

전체 디스크 용량: 2047 MB (1MB = 1048576 바이트)

계속하려면 Esc를 누르십시오



13-2. 출력된 내용중 2번의 D:드라이브가 새로 형성된 드라이브입니다.

Esc를 눌러 초기화면으로 돌아갑니다.

FDISK 옵션

현재 하드 디스크 드라이브: 1

다음중 하나를 선택하십시오:

1. 분할영역 또는 논리 DOS 드라이브 지정

2. 실행영역 지정

3. 분할영역 또는 논리 DOS 드라이브 삭제

4. 분할영역 정보 표시

선택항목을 입력하시요: [1]

Esc를 누르면 DOS로 돌아갑니다.



13-3. 초기화면에서 3.번 "분할영역 또는 논리 DOS 드라이브 삭제"를 선택합니다.

DOS 분할영역 또는 논리 DOS 드라이브 삭제

현재 하드 디스크 드라이브: 1

다음중 하나를 선택하십시오:

1. 기본 DOS 분할영역 삭제

2. 확장 DOS 분할영역 삭제

3. 확장 DOS 분할영역에서 논리 DOS 드라이브 삭제

4. 비 DOS 분할영역 삭제

선택항목을 입력하시요: [_]

Esc를 누르면 FDISK 기본메뉴로 돌아갑니다.


13-4. 드라이브 삭제화면에서 1번 "기본 DOS 분할영역 삭제"를 선택합니다.

기본 DOS 분할영역 삭제

현재 하드 디스크 드라이브: 1

분할영역 상태 종류 디스크 이름 MB 시스템 사용률

C: 1 A PRI DOS 1545 FAT16 75%

D: 2 PRI DOS 502 UNKNOWN 25%

전체 디스크 용량: 2047 MB (1MB = 1048576 바이트)

주의! DOS 기본 분할영역에 있는 데이타를 잃게 됩니다.

삭제할 기본 분할영역을 선택하십시요...? [1]

Esc를 누르면 FDISK 기본메뉴로 돌아갑니다.


13-5. 2번을 선택합니다.

13-6. 디스크 이름을 입력하십시오..........? [ ] =>

13-7. 맞습니까 (Y/N).....................? [N] => Y를 입력합니다.

기본 DOS 분할영역 삭제

현재 하드 디스크 드라이브: 1

분할영역 상태 종류 디스크 이름 MB 시스템 사용률

C: 1 A PRI DOS 1545 FAT16 75%

전체 디스크 용량: 2047 MB (1MB = 1048576 바이트)

기본 DOS 분할영역을 삭제했습니다.

계속 하려면 Esc를 누르십시오


13-8. Esc를 누릅니다.

13-9. Esc를 누릅니다.

13-10. 재부팅합니다. 그리고 리눅스를 설치합니다.