오늘은 GRUB4DOS를 활용하여 멀티부팅 DVD를 만들어보겠습니다.

예전부터 DVD 안에 윈도우 XP와 윈도우 7을 한꺼번에 넣는 방법에 대해 질문을 종종 받았는데요, 저는 그때마다 BCDW를 활용한 방법을 안내해 드렸습니다. 그런데 아주 가끔 BCDW와 호환이 되지 않는 시스템이 있더군요. 그래서 이번에는 GRUB4DOS를 사용해 윈도우 XP와 윈도우 7을 멀티부팅으로 설치할 수 있는 DVD를 만들어 보겠습니다. 물론 GRUB4DOS 역시 시스템에 따라 호환되지 않을 수 있습니다. 어떤 프로그램이든 100% 호환되는 경우는 잘 없겠지요.

사실 저는 이 GRUB4DOS를 평소에 거의 사용하지 않기 때문에 이 가이드를 작성하기 위해 고생을 좀 했습니다. 하드에서의 멀티부팅 구축과 달리 CD/DVD 안에서는 GRUB4DOS가 조금 까탈스럽더군요. UltraISO로 진행하면 조금 수월하긴 하던데, UltraISO는 등록판이 아닌 경우 300MB 이상을 편집하지 못하기 때문에 부득이 mkisof 파일을 가지고 진행하게 되었습니다.

일단 따라하기 수준의 초보자 분들을 위해 준비물을 올려드립니다. 준비물에 포함된 grldr 파일의 경우 제가 약간 수정을 했습니다. 이 방법으로 만든 ISO 파일에서 grldr이 menu.lst 파일을 인식하기 위해서는 내부적으로 대문자로 수정을 해야 하더군요. 그리고 menu.lst 샘플 파일도 같이 넣어두었습니다. 초보자 분들은 그냥 시키는대로만 하시면 바로 멀티부팅 DVD를 만들 수 있습니다. 중수 이상인 분들은 각자 응용해서 편집하시면 되겠습니다.


위 준비물 파일을 압축푼 다음 적당한 (작업을 위한 여유공간이 있는) 위치에 두세요. 저는 E 드라이브에 준비물 폴더를 두겠습니다. 그런 다음 test 폴더 안에 윈도우 원본 소스를 넣어주면 되는데요, 이때 test 폴더의 이름은 변경하지 마세요. 제가 ISO 파일도 자동으로 만들 수 있도록 파일을 넣어두었는데, 그 기준이 test 폴더이기 때문에 test 폴더는 이름 그대로 사용하시기 바랍니다.

윈도우 XP 원본의 경우 I386 폴더와 BOOTFONT.BIN 그리고 WIN51로 시작하는 몇개의 태그파일만 넣어주시면 됩니다. 물론 다 넣어도 상관은 없는데 나머지 폴더들은 DVD부팅에서 필요하지 않습니다.


위 그림은 순수 윈도우 기준인데, 만약 트윅 버전이라면 $OEM$ 폴더나 OEM 폴더가 들어있을 수 있습니다. 그 경우 해당 폴더들도 같이 복사를 해주어야 정상적으로 설치가 될 것입니다. 멀티부팅 로더를 사용한 WOW 버전인 경우 XP CD의 구조 자체가 전혀 다를 것인데, 이 부분에 관해서는 설명하지 않겠습니다. 저는 정품 윈도우 사용을 권장합니다.



윈도우 7 원본의 경우 BOOT, SOURCES 폴더와 BOOTMGR 파일만 복사해주시면 됩니다. 나머지 폴더들은 DVD 부팅에서 필요하지 않습니다.




이렇게 test 폴더 안에 윈도우 XP와 7의 원본을 복사하면 아래 그림처럼 되겠지요?




이게 끝입니다. 너무 간단하죠? 초보자 분들을 위해 제가 작업을 최소화 시켰습니다. 이제 준비물 폴더 안에 들어있는 ISO 만들기 파일을 실행해주세요. 윈도우 XP 사용자는 그냥 더블클릭 하시면 되고, 윈도우 비스타나 세븐 사용자는 혹시 모르니 우클릭 해서 관리자 권한으로 실행하시길 권장합니다. 그러면 검은색 창이 뜨고 작업이 끝나면 test.iso 파일이 생성됩니다.




이대로 test.iso 파일을 DVD에 구으시면 됩니다. 혹시 초보 분들 ISO 파일을 이미지 레코딩 하는 방법을 모르신다면 아래 글을 참조하시구요.

윈도우 ISO 파일 CD 굽기

이렇게 구은 DVD로 부팅을 하면 제가 처음에 올려드린 스샷처럼 메뉴가 뜹니다. 부팅 선택시간은 10초이고 기본값은 하드로 부팅입니다.



여기까지는 완전 초보 분들을 위한 따라하기 강좌였고, 중수 이상인 분들은 menu.lst 파일을 편집해서 멀티부팅 메뉴에 다양한 기능을 넣어봅시다. 여기서는 Hiren's BootCD와 Acronis TrueImage 그리고 PE 파일을 한번 넣어보겠습니다. GRUB4DOS를 몇번 접해보신 분들은 아시겠지만 별로 어렵지 않습니다.

일단 보기 좋게 test 폴더 안에 ISO 폴더를 하나 만들고 그 안에 추가할 ISO 파일들을 넣겠습니다.



그런 다음 test 폴더 안에 들어있는 menu.lst 파일을 아래 예제처럼 편집하면 되겠지요? 매우 단순한 구조이니 원리는 금방 이해되시리라 생각합니다. 초반에 말씀드렸듯이 ISO 경로를 적으실 때 대문자로 적어만 주시면 아무런 문제가 없을 것입니다.

timeout 10
default 0


title Boot from HDD
chainloader (hd0)+1
rootnoverify (hd0)


title Setup Windows XP
chainloader /I386/SETUPLDR.BIN


title Setup Windows 7
chainloader /BOOTMGR


title Hiren's BootCD 10.6
map /ISO/HIRENS.ISO (0xff) || map --mem /ISO/HIRENS.ISO (0xff)
map --hook
chainloader (0xff)


title Acronis True Image Home 2010
map /ISO/ACRONIS.ISO (0xff) || map --mem /ISO/ACRONIS.ISO (0xff)
map --hook
chainloader (0xff)


title MAN 7 PE
map /ISO/MAN7PE.ISO (0xff) || map --mem /ISO/MAN7PE.ISO (0xff)
map --hook
chainloader (0xff)




위 예제로 만든 파일을 가지고 부팅해보니 아래 그림처럼 나왔고, 추가된 세가지 메뉴 모두 정상적으로 부팅됨을 확인할 수 있었습니다.




이 강좌는 이쯤에서 마치도록 하겠습니다. 여기서 한걸음 더 나아가려면 GRUB4DOS를 연구하시면 됩니다. 멀티부팅 화면에 배경을 넣을 수도 있고, 메뉴를 한글화 할 수도 있습니다. 저는 이정도만 소개해드리니, 채우지 못한 욕구는 검색을 통해 해결하시기 바랍니다. ^^



※ 이 글은 CD/DVD에 굽는 것을 기준으로 작성되었습니다. USB나 외장하드에 넣으시려면 ISO로 만들 필요가 없습니다. 그냥 grldr 파일과 menu.lst 파일을 USB/외장하드에 넣고 MBR만 업데이트 해주시면 됩니다. 이번에 klein님이 관련 내용을 자세하게 설명해주셨기 때문에 링크로 대체합니다.

http://powerwindows.co.kr/26216