관심은 많으나 아는 지식이 부족하여 다시금 여러분들에게 여쭤봅니다.
우선 저의 주OS는 윈도우7입니다.
저의 시스템에는 HDD 1T 1개와 80G 1개 <– 이렇게 2개가 장착되어 있습니다.
1T 하드에는 윈도우7을, 80G에는 기존 파일자료 등을 모두 삭제하고 우분투 9.10 설치시 전적으로 80G 전부를 우분투에 할당했더랬습니다.
결과적으로 부트로더가 각 하드디스크에 설치된 듯합니다.
종료 후 새로이 부팅하면 어떤 OS로 부팅을 할 것이냐 묻지도 따지지도 않고,
제가 CMOS에서 우선 순위를 정하는 하드디스크의 OS로 부팅이 됩니다.
이걸 어찌 해결하면 될까요?
제가 너무 지식이 없어 쓸데 없는 질문을 했나봅니다.
아무도 답변을 안해주시는거 보니…ㅠㅠ
2번 하드로 먼저 부팅을 하도록 cmos를 설정하니 되더라구요…
부트로더인지 먼지 그게…2번하드에 설치되어서 그런가보네요…
멀티부팅 관련해서 그림을 몇장 그려서 초보자분들이 그나마 쉽게 이해 할 수 있으시도록 해 보겠다고,
두달 전부터 생각만 하고 그림은 못그리고 있습니다.
여러가지 방법이 있습니다만, 한가지만 설명을 드리겠습니다.
(사실 제일 적절하고 간단한 방법인 윈7 부트로더(bootmgr) 에 항목을 추가하는 방법은
제가 지금 윈7이 없는 상황인 관계로 설명이 불가능해서 대안을 적어 드립니다.)
먼저 한가지 설명을 하자면 윈7의 부트로더인 bootmgr 의 부팅항목과 관련된 설정파일은 대부분 c:\boot\BCD 입니다.
이 파일은 직접 수정이 불가하고 bcdedit 라는 윈됴 기본 프로그램을 이용해서 수정합니다.
윈xp 의 부트로더인 ntldr 의 부팅항목과 관련된 설정파일은 대부분 c:\boot.ini 입니다.
boot.ini 파일의 형식은 대략 아래와 같은 모양인데
[quote:1ylryshh]
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="win XP" /Execute /fastdetect
[/quote:1ylryshh]
요렇게 할 수 도 있습니다.
[quote:1ylryshh]
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="win XP" /Execute /fastdetect
[b:1ylryshh]c:\bootsect.bin="linux"[/b:1ylryshh]
[/quote:1ylryshh]
여기에서 마지막줄은 512바이트인 MBR 의 정보를 파일로 뜬 것을 활용한 것 입니다.
이번방법의 핵심이라면 핵심인 설명입니다. ntldr(xp 부트로더) 의 설정파일인 boot.ini
파일을 bootmgr 이 자동으로 읽어서 마지막줄과 같은 항목만 바로 보여줍니다.
(bootmgr 의 설정파일인 BCD 파일에 넣어주지는 않습니다.)
(간혹 bootmgr 의 항목이 많은경우 스크롤을 해야 보이는 경우가 있습니다.)
원래는 간단한 과정을 먼저적고 자세한 설명을 뒤에 적는게 맞지 않을까
생각했었습니다만. 대략적인 설명을 적는다는게 전체적인 설명이 되어 버렸습니다.
<<<< 여기서부터 간단한 설명이 시작 됩니다 >>>>
-
우선 리눅스로 부팅합니다.
-
터미널 하나를 열고 grub 가 설치된 경로에서 MBR 을 추출 합니다.
[b:1ylryshh] $ sudo dd if=/dev/sda of=/root/bootsect.bin bs=512 count=1 [/b:1ylryshh]
-
e-mail 을 이용하건 웹하드를 이용하건 usb 메모리를 이용하건 ntfs 나 fat 을
직접 마운트 해서 쓰기를 하건 저 파일을 윈도우즈의 c:\ 로 옮깁니다.
-
윈도우즈로 부팅한 후 cmd 창을 열고 c:\boot.ini 파일을 만들면서 내용을 적어줍니다.
(사실 어디를 얼마나 빼도 되는지 몰라서 일단 다~ 적어봅니다.)
[b:1ylryshh] echo [boot loader] >> c:\boot.ini [/b:1ylryshh]
[b:1ylryshh] echo timeout=30 >> c:\boot.ini [/b:1ylryshh]
[b:1ylryshh] echo default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS >> c:\boot.ini [/b:1ylryshh]
[b:1ylryshh] echo [operating systems] >> c:\boot.ini [/b:1ylryshh]
[b:1ylryshh] echo multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="win XP" /Execute /fastdetect >> c:\boot.ini [/b:1ylryshh]
[b:1ylryshh] echo c:\bootsect.bin="linux" >> c:\boot.ini [/b:1ylryshh]
[b:1ylryshh] type c:\boot.ini [/b:1ylryshh](type 명령으로 확인을 해 보시고)
-
재부팅을 해 보십니다. 이상입니다.
ps. 아마도 이렇게 하면 부팅이 될것으로 예상이 되긴 하는데,
grub.conf 파일에서 파티션을 UUID 로 지정하지 않고 root (hd0,1) 이런 식으로
지정을 해놓은 상황이라면 grub 만 뜨고 grub 항목 선택시 문제가 생길 수 도 있을것
같습니다. ( root (hd1,1) 이라면 문제가 없을것도 같네요. )