| 제목 | 운영체제 멀티부팅방법 | |||||
|---|---|---|---|---|---|---|
| 등록자 | 관리자 | 등록일 | 2005.08.05 09:35:55 | 접속 | 89979 | |
| 멀티부팅에 관한 질문이 많길래... 관련문서들을 정리 해봤습니다. 세가지 방법(NT부트로더, GRUB, LILO)을 이용하여 멀티부팅하는 방법입니다. 도움이 되셨으면 합니다(실제 다 성공했습니다) [[ Windows 2000 Boot Loader를 이용한 Linux 멀티부팅 ]] --------------------------------------------------- 1. Windows 2000 설치 partition를 나눌때 Windows 2000을 설치할 partition만 만들고 나머지 영역은 그대로 놔둔다 (분할하지 않은 상태로). Windows 2000 설치를 한다. 2. Linux 설치 2.1. Partition 분할 설치디스크로 Linux 설치시, fdisk를 이용하여 partition를 나눈다. fdisk로 partition 분할시, 하나의 물리디스크에 primary partition은 오직 4개만 가능하며, 이미 Windows 2000 설치에 하나의 primary partition를 사용했으므로 나머지 partition은 3개의 primary partition을 이용하며 할당하여야 한다. 나눌 partition이 3개를 초과한다면, 한개의 primary partition을 extended partition으로 지정시, 지정된 extended partition은 다시 63개의 Logical partition으로 나눌 수 있다는 사실을 이용하여 partition을 분할한다. 하지만 일반적으로 한개의 물리적 디스크를 12개 이상의 partition으로 나누는 것은 좋지 않다고 한다. 2.2. LILO 설정 인스톨을 하다가 LILO를 선택해야하는 상황이 오면, /boot partition을 따로 설정했다면 /boot partition을 부트 디바이스로 설정하고, 따로 설정치 않았다면 루트(/) 파티션을 부트 디바이스로 설정하라. 이미 Windows 2000이 마스터 부트섹터(MBR)를 사용하고 있기 때문에 그렇게 해야한다. 이것은 /etc/lilo.conf 파일에 루트 목록(root entry)와 부트 목록(boot entry)가 똑같게 설정되는 것을 의미한다(루트 partition을 부트 디바이스로 설정했다면). 당신이 IDE 타입의 하드 디스크를 가지고 있으며, 두번째 파티션에 리눅스 파티션을 잡았다면, /etc/lilo.conf 에 있는 부트 목록이 다음과 같이 설정되어 있을 것이다. boot=/dev/hda2 또, 두개의 하드 디스크를 가지고 있고 리눅스가 두번째 하드 디스크의 첫번째 파티션에 있다면, /etc/lilo.conf 에 있는 부트목록은 다음과 같이 설정되어 있을 것이다. boot=/dev/hdb1 커널 설정을 하도록 lilo 를 실행시켜라. 확실하지 않다면 먼저 플로피 디스크를 가지고서 부팅을 해보아, 커널을 체크해 본다. 만약 Windows 2000 이 부팅되지 않는다면 뭔가 문제가 있는 것이다. 3.3. boot disk 만들기 Linux 설치완료 직전 boot disk를 만드는 과정이 나오는데, 당분간 Linux 부팅을 위해서는 boot disk가 꼭 필요하므로 반드시 만든다. 4. Linux에서의 작업 Windows 2000에서의 작업이 완전할 때까지는 boot disk로 Linux를 부팅해야 한다. 이제 리눅스의 부트 파티션에서 부트 섹터를 복사해야 한다. /etc/lilo.conf 내의 boot 설정 내용을 확인한다. 만약, boot=/dev/hda2 라고 되어있다면, 다음과 같이 dd 명령어를 쓴다. # dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1 bootsect.lnx 파일이 512 바이트를 넘을 경우에는 무언가 잘못 된것이다. Windows 2000 partition을 NTFS로 잡았다면, bootsect.lnx 을 도스 포맷된 플로피 디스크에 copy한다. 다음과 같은 명령어들을 쓸 수 있을 것이다 # mcopy /bootsect.lnx a: 혹은 # mount -t msdos /dev/fd0 /mnt # cp /bootsect.lnx /mnt # umount /mnt 5. Windows 2000에서의 작업 플로피 디스크에 있는 파일을 C:bootsect.lnx 로 복사한다. lilo.conf 파일이 Linux에서 하는 일을 Windows 2000 에서는 C:boot.ini가 맡아서 한다. 참고적으로 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="Microsoft Windows 2000 Professional" /fastdetect c:BOOTSECT.LNX="WOWLINUX 7.1 PARAN" ==================================== 위의 예에선 마지막 라인만을 추가 했다. boot.ini 파일을 저장하고 속성을 읽기 전용속성으로 복구해 준다. 이제 시스템을 셧다운 시키고, 다시 전원을 켜면 다음과 같은 메시지를 볼 수 있을 것이다. 시작할 운영 체제를 선택하십시오: Microsoft Windows 2000 Professional WOWLINUX 7.1 PARAN ↑와 ↓를 사용하여 시작하려는 운영 체제를 밝게 표시하십시오. ENTER키를 누르면 선택됩니다. WOWLINUX 7.1 PARAN을 선택하면 다음과 화면을 볼 수 있다. WOWLINUX - LILO BOOT MENU ========================= Linux DOS 6. 다시 반복 Linux 파티션의 부트섹터가 변경되면 매번 새로운 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 인스톨이 깨어졌을 경우 복구 디스켓으로 사용할 수 있도록 잘 보관해둔다. [[ GRUB를 이용한 Windows 2000, Linux 멀티부팅 ]] --------------------------------------------- 1. 먼저 파티션을 나누어 Windows 2000설치한다. 2. Linux(RedHat 7.2) 설치시 GRUB을 부트로더로 하여 MBR(Master Boot Record)에 설치한다. 3. 설치완료후 Rebooting을 하면 Linux로 부팅되는데, 4. Linux 부팅후 /boot/grub/grub.conf에 다음을 추가한다. title Windows 2000 root (hd0,0) makeactive chainloader +1 5. root (hd0,0) --> 첫번째 HardDisk의 첫번째 Partition을 의미한다(root다음 띄어쓰기 주의!!). 6. Rebooting하면 완료... [[ LILO를 이용한 Windows 2000, Linux 멀티부팅 ]] --------------------------------------------- 1. 먼저 파티션을 나누어 Windows 2000 설치한다. 2. Linux(RedHat 7.2) 설치시 LILO를 부트로더로 하여 MBR(Master Boot Record)에 설치한다. 3. 설치완료후 Rebooting을 하면 Linux로 부팅되는데, 4. Linux 부팅후 /etc/lilo.conf에 다음을 추가한다. other=/dev/hda1 label=Windows 2000 table=/dev/hda 5. 저장한 후에 쉘 상에서 /sbin/lilo을 실행하면 완료... [[ 참고 ]] 윈도우즈 9x, 윈도우즈 2000(NT 4.0), 리눅스 멀티 부팅 - 강기봉 (freekgb at kldp.org, freekgb at netian.com) Multiboot with GRUB Mini-HOWTO -Ivan Kanis, 황정언 기타 kldp관련 문서들... ==================================================================== [ Windows 2000 Boot Loader를 이용한 Linux 멀티부팅 ] 에서 lilo를 사용하는 방법이 소개되어 있는데, grub을 사용하는 방법도 있습니다. 방법은 거의 동일합니다. lilo때와 같이 mbr 대신 /boot나 /에 grub을 인스톨하고, dd로 bootsect.lnx 파일을 만듭니다.(사실 이 파일명은 어떠한 것도 됩니다.) grub이냐 lilo냐 이 두가지 만 차이가 있지, 100%동일하다고 보시면됩니다. 단 차이점은 grub쪽이 사용이 약간 편리하다는 점이 있지요. lilo를 쓰는 방식은 커널이나 부팅에 관련된 내용이 변동이 되면, 매번 dd로 이미지(bootsect.lnx)를 갱신해주어야 하는데, grub은 그렇지 않다는 점입니다. 커널 컴파일을 자주 하시는 분들은 grub을 권장해드리고 싶네요. 그리고 밑에 글에 첨가해서, 파티션분 부분인데, 가능하면, 파티션을 나눌때 윈도우98이나, 95의 fdisk를 사용하세요. 2000은 새로운 파티션 방식을 사용합니다. 2.4.1x 대의 새로운 커널에서 지원하기 시작했는데, 배포본 인스톨에 사용되는 커널이나 fdisk는 이를 지원하지 못합니다. 그나마 운이 약간 안좋으면, 리눅스가 부팅이 안되는 걸로 끝나지만, 아주 운이 없으면, 2000 자체가 부팅은 되는데, 로그인이 되지 않는 불사상가 생깁니다. 그리고 2000은 파티션에 관련한 별도의 서비스가 백그라운드로 돌아갑니다. 따라서, 파티션이 많아지면, (특히 2000이 모르는 파티션들이 많으면), 부팅이 느려지는 현상이 발생하기도 합니다. 따라서 2000과 linux를 한집살림하시는 분은 가능하면, 파티션 수를 줄여 쓰세요. /tmp /var /home / /usr/local /boot swap 이 정도를 나누어 쓰는 경우가 있느데, 서버용 단독으로 리눅스를 돌릴 때는 바람직하지만, 개인용으로 쓰시는 분들은 가능하면, 그냥 /(루트)하고 swap정도만으로(혹은 /boot까지만) 리눅스를 운영하시는 것이 낳을 것 같습니다. 그리고 또 한가지 추가로 말씀을 드리면, 2000 부트섹터가 날아가 버리는 분들은, 다음과 같은 방법으로 복구할 수 있습니다. 방법1. 95/98용 fdisk로 mbr 명령을 날린다. a:fdisk /mbr ( C:(=/dev/hda1)가 fat일 경우 sys a: c:를 하시는 분들이 계시는 데 절대로 하시면 안됍니다.) 방법2. 다른 2000에서 디스크를 한장 그냥 포멧한다.(2000은 부팅티스크 옵션이 없다) 리눅스로 부팅하여, dd if=/dev/fd0 of=/dev/hda bs=512 count=1 1방법으로 해결이 안돼면, 2방법을 시도해 보세요... 2000이 부팅될 때 꼭 필요한 파일은 부트이미지(위의 방식으로 얻을 수 있습니다.) ntldr ntdetect.com boot.ini(설정이 필요함) 이 네가지 입니다. 참고가 되시길 바랍니다. - 출처 : 한국의리눅스포털 linux.co.kr - |
||||||
| ... 자료없음 ... | ||||||