grub1의 경우, 현재에는 안쓰이거나, 특수한 상황(grub4dos)의 경우에나 사용됩니다.
grub1의 대부분의 기능은 grub2에서 사용하거나, 대체 가능하고, 추가 기능들도 많기 때문이죠.
사실 부트매니져는 운영체제를 선택하거나, 부팅옵션을 지정하는 용도로 사용하기에,
운영체제 보다 먼저 호출되어 사용되고, 운영체제에 덜 종속적입니다.
예를들어, 윈도우즈 부트매니져는 윈도우즈로 부팅하기 위한 제반기능들만을 포함하고 있지만,
grub4dos의 체인로딩으로 리눅스로 진입할 수 있듯, 방법을 찾아보면 운영체제에 독립적으로 다른 운영체제를 로드할 수 있는 방법이 존재합니다.
깊이 들어가 보자면 grub2에서 윈도우즈를 찾지 못한다면, 곰곰히 생각해보세요.
내가 GRUB2라면 윈도우즈가 설치되었는지 어떻게 체크하고 확인할 수 있겠습니까?
/Windows디렉토리가 존재하면 윈도우즈가 설치된 것일까요?
기본적으로 GRUB2에서는 /bootmgr, /ntldr, /io.sys등을 찾아보고,
해당 파일이 존재하면 윈도우즈 Vista이상, NT이상, DOS호환으로 분류하게 됩니다.
이렇게 판단하기 위해서는 디렉토리및 파일을 검색하고, 확인하는 절차가 필요하기에,
파일시스템을 해석할 기능이 필요합니다.
GRUB2는 기본적으로 이러한 기능을 제공하지만, 윈도우즈에서 NTFS가 아닌 다른 파일시스템으로 포맷되어 있거나(예를 들어 시스템 예약파티션이나 Bitlocker암호화 파티션),
GRUB2가 제대로 해석하지 못할 경우, 윈도우즈를 인식하지 못하거나, 설치되지 않았다고 판단하게 됩니다.
/boot/grub/custom.cfg파일을 다음과 같은 내용으로 만드시고, 리부팅 해보세요.
[code:ciov6c72]
menuentry "Find Windows Vista/7" {
insmod ntfs
insmod ntldr
search -s -f /bootmgr
ntldr /bootmgr
}
menuentry "Find Windows XP/2000/NT" {
insmod ntfs
insmod ntldr
search -s -f /ntldr
ntldr /ntldr
}
[/code:ciov6c72]
리부팅이나 부팅시 부트메뉴의 제일 밑 부분에 Find Windows xxxxxxx 항목이 나올 것입니다.
이것은 /etc/grub.d/41_custom에서 /boot/grub/custom.cfg를 읽게끔 되어 있기에, 다른 것들보다 우선순위가 낮아
맨 나중에 나오게 됩니다.
원하시면 번호를 10_linux보다 빠르게 09등으로 바뀌시고, sudo update-grub 명령을 하시면,
리눅스보다 Find Widnows xxxxxx 항목이 먼저 나오게 될 것입니다.
리눅스는 보통의 경우, 사용자가 원하는 데로 설정할 수 있게 해줍니다.
위의 예도 그러한 배려이지요.