Linuxdoc Sgml/Linux+NT-Loader
<!doctype linuxdoc system> <!-- 번역 : 김지인 <jiinny@netian.com> 1998년 8월 9일 sgml 소스 작업 : 엄기성 <jurist@sarang.net> 1998년 9월 30일 마침 test : sgml-tools 1.0.7 at Debian 2.0 (hamm) --> <article> <title>NT OS Loader + Linux mini-HOWTO</title> <author>Bernd Reichert, <reichert@dial.eunet.ch></author> <date>v1.11, 97년 9월 2일 <abstract> 이 문서는 리눅스를 기동하기 위해 윈도우즈 NT의 부트 로더(boot loader)를 사용하는 방법을 설명하고 있다. 테스트는 윈도우즈 NT 4.0 워크스테이션과 리눅스 2.0에서 행해졌다. </abstract> <sect>NT OS Loader는 어떻게 작동하는가 <p> NT OS Loader는 다른 운영체계 시스템의 부트 섹터를 파일 처럼 다루려고 하며, 이러한 파일들 즉, 부트섹터를 읽어서 선택된 운영체계를 기동한다. 이것은 다른 모드의 윈도우즈 NT(역자주: VGA 모드와 같은 모드)나 기타 다른 운영체계나 마찬가지이다. <sect>윈도우즈 NT와 리눅스를 같은 시스템에 인스톨하는 방법에 관한 팁 <sect1>윈도우즈 NT의 인스톨 <p> 윈도우즈 NT를 먼저 설치하라. 당신이 윈도우즈 NT 파티션을 NTFS 로 사용하고 싶다면 현재에 사용되는 버전의 리눅스에서는 NTFS 파티션을 인식할 수 없다는 사실을 인지해야 한다. NTFS 파티션을 읽을 수 있는 알파버전의 드라이버가 <tt><url url="http://www.informatic.hu-berlin.de/˜loewis/ntfs"></tt>에 있기는 하다. 데이터의 교환을 위해서는 도스 FAT 파티션을 따로 만들어 두거나, 도스포맷된 플로피 디스크를 사용해야 할 것이다. <sect1>파티션 하기 <p> 다른 미니 하우투에서는 윈도우즈 NT의 "디스크 관리자"로 리눅스의 스왑 파티션이나 루트 파티션을 만들지 말라고 조언한다. 나역시도 그냥 빈공간으로 남겨두었다가 나중에 리눅스의 fdisk를 사용하여 리눅스 파티션을 만들 것을 권한다. <sect1>리눅스 인스톨 <p> 이제 플로키 디스크로 리눅스를 부팅해서 리눅스 스왑 파티션과 루트 파티션을 만들자. 아마도 리눅스의 fdisk는 NTFS 파티션을 OS/2의 HPFS 파티션으로 여길 것이다. 이것은 정상이다. 다시 시스템을 플로피 디스크로 부팅 시킨 후 원하는 리눅스(역자주: 원하는 배포본이나 자신이 만든)를 인스톨하라. <sect1>Lilo <p> 인스톨을 하다가 Lilo를 선택해야하는 상황이 오면, 리눅스 루트 파티션을 부트 디바이스로 설정하라. 이미 윈도우즈 NT가 마스터 부트섹터(MBR)를 사용하고 있기 때문에 그렇게 해야한다. 이 것은 <tt>/etc/lilo.conf</tt> 파일에 루트 목록(root entry)와 부트 목록(boot entry)가 똑같게 설정되는 것을 의미한다. 당신이 IDE 타입의 하드 디스크를 가지고 있으며, 두번째 파티션에 리눅스 파티션을 잡았다면, <tt>/etc/lilo.conf</tt>에 있는 부트 목록이 다음과 같이 설정되어 있을 것이다. <tscreen><verb> boot=/dev/hda2 </verb></tscreen> 또, 두개의 하드 디스크를 가지고 있고 리눅스가 두번째 하드 디스크의 첫번째 파티션에 있다면, <tt>/etc/lilo.conf</tt>에 있는 부트목록은 다음과 같이 설정되어 있을 것이다. <tscreen><verb> boot=/dev/hdb1 </verb></tscreen> 커널 설정을 하도록 lilo 를 실행시켜라. 확실하지 않다면 먼저 플로피 디스크를 가지고서 부팅을 해보아, 커널을 체크해 본다. <p> 만약 윈도우즈 NT가 부팅되지 않는다면 뭔가 문제가 있는 것이다. 최근에 만든 복구 디스크가 있기를 바랄뿐이다. <sect>Bootpart <p> G. Vollant 가 만든 Bootpart라는 윈도우즈 NT 프로그램이 있는데, 다음에 올 두가지 일을 해주는 프로그램이다. 이 프로그램이 어떤 일을 하는 지를 알고 싶으면 5번, 6번항에 기술된 과정을 활용하라. Bootpart는 <tt><url url="http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm"></tt>에서 구할 수 있다. <sect>리눅스 쪽에서의 작업 <p> 윈도우즈 NT에서의 작업이 완전할 때까지는 플로피 디스크로 리눅스를 부팅해야 한다. <p> 이제 리눅스의 부트 파티션에서 부트 섹터를 복사해야 한다. 리눅스 파티션이 /dev/hda2라고 가정하면, 다음과 같이 dd 명령어를 쓴다. <tscreen><verb> # dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1 </verb></tscreen> bootsect.lnx 파일이 512 바이트를 넘을 경우에는 무언가 잘못 된것이다. 윈도우즈 NT 파티션을 NTFS로 잡았다면, bootsect.lnx 을 도스 포맷된 플로피 디스크에 폭사한다. 다음과 같은 명령어들을 쓸 수 있을 것이다 <tscreen><verb> # mcopy /bootsect.lnx a: </verb></tscreen> 혹은 <tscreen><verb> # mount -t msdos /dev/fd0 /mnt # copy /bootsect.lnx /mnt # umount /mnt </verb></tscreen> <sect>원도우즈 NT 쪽에서의 작업 <p> 플로피 디스크에 있는 파일을 <tt>C:\bootsect.lnx</tt> 로 복사한다. 복사하는 방법은 가르쳐주지 않겠다. (역자주: 이 부분에선 웃어주어야 합니다.) lilo.conf 파일이 리눅스에서 하는 일을 윈도우즈 NT에서는 C:\boot.ini가 맡아서 한다. <tt>boot.ini</tt> 파일의 시스템 파일, 읽기만 하는 파일 속성을 다음의 방법으로 제거한다. <tscreen><verb> C:\attrib -s -r c:\boot.ini </verb></tscreen> 이제 노트패드와 같은 편집기로 boot.ini 파일을 변경한다. 예를들면 다음과 같이 할 수 있다. <tscreen><verb> [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" </verb></tscreen> 위의 예에선 마지막 라인만을 추가 했다. boot.ini 파일을 저장하고 속성을 다음과 같이 복구해 준다. <tscreen><verb> C:\attrib +s +r c:\boot.ini </verb></tscreen> 이제 시스템을 셧다운 시키고, 다시 전원을 켜면 다음과 같은 메시지를 볼 수 있을 것이다. <tscreen><verb> 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 .... </verb></tscreen> <sect>다시 반복 <p> 리눅스 파티션의 부트섹터가 변경되면 매번 새로운 bootsect.lnx 파일을 <tt>C:\bootsect.lnx</tt>로 옮겨줘야 한다. 예를들어 새로운 커널과 lilo를 인스톨했다던지 할때마다 옮겨줘야 한다는 뜻이다. 새로운 실험적인 커널을 시스템에 설치한다던지 알때 그리 좋은 환경이 아님을 알 것이다. <sect>문제 해결 <p> 원하는대로 작동하지 않을 경우에는 플로피 디스크로 부팅할 수 있는지부터 체크해봐라. <tt>/dev/hdb1</tt> 리눅스 파티션이 있으면, <tt>/etc/lilo.conf</tt> 파일은 다음과 같은 설정한다. <tscreen><verb> root=/dev/hdb1 boot=/dev/fd0 </verb></tscreen> 플로크 디스크를 드라이브에 넣고 lilo를 실행시킨다. 이제 플로피 디스크로 부팅을 시도한다. <tt>/dev/hdb1</tt>에 있는 리눅스가 실행되지 않는다면, NT OS Loader도 역시 실행 시키는데 실패할 것이다.<tt>"01 01 01 01..."</tt> 화면에 가득히 나오면 루트 디스크를 인식하지 못하는 것이다. 그러면 롬바이오스가 가지고 있는 모든 디스크를 인식하고 있는지 체크해봐라. <p> 플로피 디스크가 리눅스 파티션을 부팅시킨다면, NT OS loader 가 인식할 수 있도록 하기 위해서 부트 섹터를 다음처럼 복사해 놓는다. <tscreen><verb> # dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1 </verb></tscreen> <p> 이 디스켓은 윈도우즈 NT 인스톨이 깨어졌을 경우 복구 디스켓으로 사용할 수 있도록 잘 보관해둔다. <sect>참고 문헌 <p> <itemize> <item>The Linux+WindowsNT mini-HOWTO <item>The FAQ for FreeBSD 2.X </itemize> <sect>감사의 글 <p> <itemize> <item>첫번째 디스크가 아닌 다른 디스크로 작업할 때의 팁을 가르쳐준데 대해 Xiaoming Yi <z3c20@ttacs.ttu.edu>에게 고마움을 표한다. <item>플로피 디스크를 사용하는 트릭을 가르쳐준 Frank Dennler <Frank.Dennler@zkb.ch>에게도 역시 고마움을 표한다. </itemize> <sect>Feedback <p> 어떠한 문의사항이나 충고도 환영한다. </article> |
You have no real enemies. |











