[시스템][데스트탑] window2000 과 리눅스의 멀티 부팅
멀티부팅에 관한 질문이 많길래… 관련문서들을 정리 해봤습니다.
세가지 방법(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관련 문서들…