Grub2, BIOS(바이오스) 하드 순서 바꿔치기 불가?

9.10 으로 갈아타니 조금씩 삐거덕 거리게 되는군요.

바이오스 하드 순서로 sda 에는 윈도우, sdb는 데이터, sdc 에 우분투를 설치해 사용 중입니다. grub은 sdc 에 설치돼 있습니다.

바이오스에서 sdc 를 우선 부팅하는 걸로 순서를 바꿔서 사용했고, grub 예전 판에서는 menu.lst 에서 윈도우 설치 하드를 바꿔치기 해서 무리없이 부팅이 됐었는데요.

grub2 에선 이게 안된다고 하는 것 같네요.
구글을 잠깐 찾아보니까 아직 해결되지 않은 문제라고 하는데요.

혹 해결책은 없을까요?

고맙습니다!

그럼 grub을 까시면…

어떤 글을 읽으셨는지는 모르겠습니다만, grub2 에서도 하드순서 바꾸기는 되는걸로 알고 있습니다만.

ntldr 의 경우 자신이 첫번째 하드에 있지 않는한 부팅이 안되기 때문에 (grub4dos 로 바로 읽는건 아직 모르겠습니다만)
순서 바꾸기가 되고 있는게 아닌가 십습니다. (저는 부팅을 하고 있다는 말이 되겠습니다.)

drivemap -s (hd0) (hd2)
root (hd0,1) 혹은 root (hd2,1)
또는 root (hd0) 혹은 root (hd2)
chainloader +1
boot

정도가 될거 같습니다.

하드 스왑하고 이전의 것을 적어주는지 이후의 것을 적어주는지는 저도 아직 헛갈리네요.

autowiz 님 고맙습니다.
그런데… 적어주신 내용을 제가 이해하지는 못하겠습니다.
그 부분을 /etc/default/grub 에 넣어야 하나요?
grub2 에 전혀 지식이 없다보니 도무지 뭘 해야할지 모르겠군요.

제가 본 글은 이것입니다.

http://forums.debian.net/viewtopic.php?f=10&t=45379

크게 불편한 것은 없습니다. 윈도우로 부팅하려면 부팅 전에 F12(제 보드에 있는 기능)을 눌러서 부팅을 원하는 하드디스크를 선택하면 되니까요.
하지만… grub 에서는 잘 되던것이 grub2에서 잘 안되니까 살짝 짜증이 나네요~

좀 더 쉽게 풀어주실 수는 없으실까요? :D

덧글이 달렸는지 모르고 있었네요…

제 grub.cfg 파일의 설정 입니다.

[quote:290vcpj2]

BEGIN /etc/grub.d/30_os-prober

menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
# 여기 set root 는 첫번째 하드로 부팅해서 작업한거라서 저렇기는 한데
# 어짜피 바로 밑에 있는 search 에서 hd2,1 로 재 지정 되기에 필요없습니다.
search --no-floppy --fs-uuid --set 2088409688406bfa
drivemap -s (hd0) ${root}
chainloader +1
}

END /etc/grub.d/30_os-prober

[/quote:290vcpj2]

어짜피 uuid 도 다르고 하니깐…

[quote:290vcpj2]
menuentry "WinXP" {
search -s -f /ntldr
drivemap -s (hd0) ${root}
#root (hd2,1)
#위의 search 에서 root 를 잡아줌으로 생략
chainloader +1
}
[/quote:290vcpj2]
혹은

[quote:290vcpj2]
menuentry "WinXP" {
drivemap -s (hd0) (hd2)
root (hd2,1)
chainloader +1
}
[/quote:290vcpj2]

이런식으로 하시면 되지 않을까 싶습니다.
(root 지정은 drivemap 지정이랑은 관계없이 grub 가 읽어온 하드를 기준으로 지정해 주는것 이더군요.
따라서 drivemap 이랑 root 의 순서는 상관이 없을 것 입니다.)

추가설명…

잘 안되시면 grub 화면에서 c 키 를 눌러서 grub 콘솔로 빠진다음
set [i:290vcpj2][enter] (현재 set 변수들을 확인)[/i:290vcpj2]
drivemap -s (hd0) (hd2) [i:290vcpj2][enter] (하드 바꿔치기)[/i:290vcpj2]
drivemap -l [i:290vcpj2][enter] (바꿔치기한 목록 확인)[/i:290vcpj2]
root (hd2, [i:290vcpj2][tab] ( hd2,? 파티션들이 부팅할려는 파티션인지 확인 )[/i:290vcpj2]
root (hd2,1) [i:290vcpj2][enter] (루트 파티션 혹은 하드 지정)[/i:290vcpj2]
chainloader +1 [i:290vcpj2][enter] (체인로더 지정)[/i:290vcpj2]
boot [i:290vcpj2][enter] (부팅~)[/i:290vcpj2]
위 명령어를 따라 하시면서 어디가 문제인지 살펴보시는 방법이 있겠습니다.