· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Linux+NT-Loader

NT OS Loader + Linux mini-HOWTO

NT OS Loader + Linux mini-HOWTO

Bernd Reichert, <reichert@dial.eunet.ch>

v1.11, 97년 9월 2일
이 문서는 리눅스를 기동하기 위해 윈도우즈 NT의 부트 로더(boot loader)를 사용하는 방법을 설명하고 있다. 테스트는 윈도우즈 NT 4.0 워크스테이션과 리눅스 2.0에서 행해졌다.

1. NT OS Loader는 어떻게 작동하는가

NT OS Loader는 다른 운영체계 시스템의 부트 섹터를 파일 처럼 다루려고 하며, 이러한 파일들 즉, 부트섹터를 읽어서 선택된 운영체계를 기동한다. 이것은 다른 모드의 윈도우즈 NT(역자주: VGA 모드와 같은 모드)나 기타 다른 운영체계나 마찬가지이다.

2. 윈도우즈 NT와 리눅스를 같은 시스템에 인스톨하는 방법에 관한 팁

2.1 윈도우즈 NT의 인스톨

윈도우즈 NT를 먼저 설치하라. 당신이 윈도우즈 NT 파티션을 NTFS 로 사용하고 싶다면 현재에 사용되는 버전의 리눅스에서는 NTFS 파티션을 인식할 수 없다는 사실을 인지해야 한다. NTFS 파티션을 읽을 수 있는 알파버전의 드라이버가 http://www.informatic.hu-berlin.de/~loewis/ntfs에 있기는 하다. 데이터의 교환을 위해서는 도스 FAT 파티션을 따로 만들어 두거나, 도스포맷된 플로피 디스크를 사용해야 할 것이다.

2.2 파티션 하기

다른 미니 하우투에서는 윈도우즈 NT의 "디스크 관리자"로 리눅스의 스왑 파티션이나 루트 파티션을 만들지 말라고 조언한다. 나역시도 그냥 빈공간으로 남겨두었다가 나중에 리눅스의 fdisk를 사용하여 리눅스 파티션을 만들 것을 권한다.

2.3 리눅스 인스톨

이제 플로키 디스크로 리눅스를 부팅해서 리눅스 스왑 파티션과 루트 파티션을 만들자. 아마도 리눅스의 fdisk는 NTFS 파티션을 OS/2의 HPFS 파티션으로 여길 것이다. 이것은 정상이다. 다시 시스템을 플로피 디스크로 부팅 시킨 후 원하는 리눅스(역자주: 원하는 배포본이나 자신이 만든)를 인스톨하라.

2.4 Lilo

인스톨을 하다가 Lilo를 선택해야하는 상황이 오면, 리눅스 루트 파티션을 부트 디바이스로 설정하라. 이미 윈도우즈 NT가 마스터 부트섹터(MBR)를 사용하고 있기 때문에 그렇게 해야한다. 이 것은 /etc/lilo.conf 파일에 루트 목록(root entry)와 부트 목록(boot entry)가 똑같게 설정되는 것을 의미한다. 당신이 IDE 타입의 하드 디스크를 가지고 있으며, 두번째 파티션에 리눅스 파티션을 잡았다면, /etc/lilo.conf에 있는 부트 목록이 다음과 같이 설정되어 있을 것이다.

boot=/dev/hda2

또, 두개의 하드 디스크를 가지고 있고 리눅스가 두번째 하드 디스크의 첫번째 파티션에 있다면, /etc/lilo.conf에 있는 부트목록은 다음과 같이 설정되어 있을 것이다.

boot=/dev/hdb1

커널 설정을 하도록 lilo 를 실행시켜라. 확실하지 않다면 먼저 플로피 디스크를 가지고서 부팅을 해보아, 커널을 체크해 본다.

만약 윈도우즈 NT가 부팅되지 않는다면 뭔가 문제가 있는 것이다. 최근에 만든 복구 디스크가 있기를 바랄뿐이다.

3. Bootpart

G. Vollant 가 만든 Bootpart라는 윈도우즈 NT 프로그램이 있는데, 다음에 올 두가지 일을 해주는 프로그램이다. 이 프로그램이 어떤 일을 하는 지를 알고 싶으면 5번, 6번항에 기술된 과정을 활용하라.

Bootpart는 http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm에서 구할 수 있다.

4. 리눅스 쪽에서의 작업

윈도우즈 NT에서의 작업이 완전할 때까지는 플로피 디스크로 리눅스를 부팅해야 한다.

이제 리눅스의 부트 파티션에서 부트 섹터를 복사해야 한다. 리눅스 파티션이 /dev/hda2라고 가정하면, 다음과 같이 dd 명령어를 쓴다.

# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

bootsect.lnx 파일이 512 바이트를 넘을 경우에는 무언가 잘못 된것이다.

윈도우즈 NT 파티션을 NTFS로 잡았다면, bootsect.lnx 을 도스 포맷된 플로피 디스크에 폭사한다.

다음과 같은 명령어들을 쓸 수 있을 것이다

# mcopy /bootsect.lnx a:

혹은

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

5. 원도우즈 NT 쪽에서의 작업

플로피 디스크에 있는 파일을 C:\bootsect.lnx 로 복사한다. 복사하는 방법은 가르쳐주지 않겠다. (역자주: 이 부분에선 웃어주어야 합니다.)

lilo.conf 파일이 리눅스에서 하는 일을 윈도우즈 NT에서는 C:\boot.ini가 맡아서 한다. boot.ini 파일의 시스템 파일, 읽기만 하는 파일 속성을 다음의 방법으로 제거한다.

C:\attrib -s -r c:\boot.ini 

이제 노트패드와 같은 편집기로 boot.ini 파일을 변경한다. 예를들면 다음과 같이 할 수 있다.

[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="한글 윈도우즈 NT 워크 ... 
multi(0)disk(0)rdisk(0)partition(1)\WINNT="한글 윈도우즈 NT 워크 ...
C:\BOOTSECT.LNX="Linux"

위의 예에선 마지막 라인만을 추가 했다. boot.ini 파일을 저장하고 속성을 다음과 같이 복구해 준다.

C:\attrib +s +r c:\boot.ini 

이제 시스템을 셧다운 시키고, 다시 전원을 켜면 다음과 같은 메시지를 볼 수 있을 것이다.

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

  Windows NT Workstation Version 4.0
  Windows NT Workstation Version 4.0 [VGA mode]
  Linux

리눅스를 선택하면 다음과 화면을 볼 수 있다.

  LILO loading zImage ....

6. 다시 반복

리눅스 파티션의 부트섹터가 변경되면 매번 새로운 bootsect.lnx 파일을 C:\bootsect.lnx로 옮겨줘야 한다. 예를들어 새로운 커널과 lilo를 인스톨했다던지 할때마다 옮겨줘야 한다는 뜻이다. 새로운 실험적인 커널을 시스템에 설치한다던지 알때 그리 좋은 환경이 아님을 알 것이다.

7. 문제 해결

원하는대로 작동하지 않을 경우에는 플로피 디스크로 부팅할 수 있는지부터 체크해봐라. /dev/hdb1 리눅스 파티션이 있으면, /etc/lilo.conf 파일은 다음과 같은 설정한다.

root=/dev/hdb1
boot=/dev/fd0

플로크 디스크를 드라이브에 넣고 lilo를 실행시킨다. 이제 플로피 디스크로 부팅을 시도한다. /dev/hdb1에 있는 리눅스가 실행되지 않는다면, NT OS Loader도 역시 실행 시키는데 실패할 것이다."01 01 01 01..." 화면에 가득히 나오면 루트 디스크를 인식하지 못하는 것이다. 그러면 롬바이오스가 가지고 있는 모든 디스크를 인식하고 있는지 체크해봐라.

플로피 디스크가 리눅스 파티션을 부팅시킨다면, NT OS loader 가 인식할 수 있도록 하기 위해서 부트 섹터를 다음처럼 복사해 놓는다.

# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1

이 디스켓은 윈도우즈 NT 인스톨이 깨어졌을 경우 복구 디스켓으로 사용할 수 있도록 잘 보관해둔다.

8. 참고 문헌

  • The Linux+WindowsNT mini-HOWTO
  • The FAQ for FreeBSD 2.X

9. 감사의 글

  • 첫번째 디스크가 아닌 다른 디스크로 작업할 때의 팁을 가르쳐준데 대해 Xiaoming Yi <z3c20@ttacs.ttu.edu>에게 고마움을 표한다.
  • 플로피 디스크를 사용하는 트릭을 가르쳐준 Frank Dennler <Frank.Dennler@zkb.ch>에게도 역시 고마움을 표한다.

10. Feedback

어떠한 문의사항이나 충고도 환영한다.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0355 sec