지난 편까지는 GRUB4DOS의 Command-Line 모드를 사용하는 방법과 이론적인 부분을 살펴보았는데요, 이번 포스팅부터는 드디어 GRUB4DOS의 핵심인 Menu 모드를 사용하기 위한 menu.lst, 즉 GRUB4DOS의 메뉴를 작성하는 법을 알아보려고 합니다.

4편에서 말씀드렸듯이 GRUB4DOS는 총 2가지 UI를 가지고 있는데요, 수동으로 명령어를 입력해서 사용하는 Command-Line 모드와 그 명령어들을 하나의 '메뉴'로 작성하여 미리 작성된 메뉴 파일을 읽어들여 사용하는 Menu 모드가 있다고 했습니다.

사실 대부분의 경우 Menu 모드를 사용하고 Command-Line 모드는 거의 사용하지 않는데요, 그럼에도 불구하고 Menu 모드를 배우기 전에 Command-Line 모드를 미리 살펴본 이유는 Menu 모드가 Command-Line 모드의 자동화 격이기 때문입니다.


GRUB4DOS의 메뉴 파일의 구조


timeout 30

title Windows NT/2K/XP
find --set-root /ntldr
chainloader /ntldr

title Windows VISTA/7/8
find --set-root /bootmgr
chainloader /bootmgr

title Parted Magic ISO
find --set-root /pmagic.iso
map /pmagic.iso (0xff) || map --mem /pmagic.iso (0xff)
map --hook
chainloader (0xff)

title Commandline
commandline

title Halt
halt


간단한 GRUB4DOS 메뉴 파일입니다. 4편에서 배운 Find 명령어와 Chainloader 명령어가 보이는데요, 몇몇 모르는 명령어들도 보이지만 여러  명령어들을 나열해 놓은 것이라는 것을 알 수 있습니다.



위의 메뉴를 메모장에 붙여넣기 한뒤 지난번에 GRUB4DOS를 설치한 USB에 저장한뒤 부팅해보겠습니다.



이런식으로 화면에 출력되는 것을 보실수 있으실텐데요, 아까 위의 메뉴파일에서 "title ..." 부분이 출력되는 것이 보입니다.

위 메뉴를 구조도로 나타내면 이렇습니다. 이런식으로 메뉴별로 각각의 제목(title)이 있고 메뉴 선택창에서 해당 메뉴를 선택하면 해당 부분의 명령어들이 순차적으로 실행됩니다. 그래서 맨위의 "Windows NT/2K/XP" 메뉴를 선택하면 그 메뉴에 속한 find 명령어와 chainloader 명령어가 실행되며 루트경로의 윈도우 XP의 2차 부트로더인 ntldr 파일을 찾아 부팅하게 되는것이지요.


GRUB4DOS 메뉴 작성하기


그럼 이제 간단한 GRUB4DOS 메뉴를 작성해보겠는데요, 메뉴를 작성하는 프로그램은 Ultraedit이나 Editplus 같은 프로그램을 사용해도 되고 GRUB4DOS 전용 프로그램을 사용해도 되지만, 저는 그냥 메모장을 사용하도록 하겠습니다.



메뉴 작성법은 간단합니다. 먼저 메뉴의 제목을 정해주는데요, title 명령어를 사용합니다.


Title '원하는 메뉴 제목'


그리고 title 명령어 뒤에 해당 메뉴를 선택했을때 실행할 명령어들을 순서대로 적어주시면 됩니다.



윈도우 7의 bootmgr 부트로더를 찾은뒤 부팅하는 메뉴입니다. 이렇게 만드시면 부팅했을 때 'Windows 7'라는 메뉴 하나가 출력됩니다. 그럼 메뉴를 여러개 만드려면 어떻게 해야 될까요? 간단합니다. 그냥 저 뒤에 다시 title 명령어를 적어주시고 그 제목을 선택했을때 실행할 명령어들을 적어주시면 됩니다.



이런식으로 작성해주시면 됩니다 ^^



메뉴를 다 작성하셨으면 이제 GRUB4DOS가 불러올 수 있게 저장해주어야 하는데요, 기본적으로 GRUB4DOS는 자신이 설치된 드라이브의 루트경로의 menu.lst 파일을 로드합니다. 따라서 3편에서 GRUB4DOS를 설치한 USB의 루트경로에 menu.lst라는 이름으로 저장해주시면 됩니다. 이 때 메모장으로 저장하시면 파일 형식을 꼭 '모든 파일 (*.*)'로 해주셔야 합니다.



작성한 메뉴 파일로 부팅해보았습니다. 이런식으로 GRUB4DOS 메뉴를 작성하시면 됩니다.


이상으로 이번 편을 마치겠습니다. 다음 편부터는 윈도우 7 설치 DVD, 윈도우 PE, 리눅스 등 GRUB4DOS를 이용해 여러 운영체제들을 하나의 USB에 넣는 방법을 알아보도록 하겠습니다 ^^




저작자 표시 비영리 변경 금지
신고
 




제로원(ZoreOne) 2013.01.17 17:36 신고 URL EDIT REPLY
자료찾다가 오늘 복권맞은 기분입니더~~ㅎ 빨랑 7편이 나왔으면 좋겠네요... 빨랑빨랑~~~ 좋은 자료 잘 보고갑니다..7편이후를 기대하면서 매일매일 방문해야겠네요....감쏴~~~꾸빠닥^^
크럭스 RUX | 2013.01.17 17:41 신고 URL EDIT
도움이 되셨다니 기쁘네요. 감사합니다 ^^
대박 2013.02.20 11:13 신고 URL EDIT REPLY
grub4dos 사용법 찾아 헤매다 드뎌 드뎌 드뎌 찾았습니다.
알기 쉽게 설명해 주시니 눈물이 날 지경입니다.
완전 감사합니다.
정말감사합니다!! 2013.04.28 14:16 신고 URL EDIT REPLY
정말감사!
궁금해요 ㅠㅠ 2013.04.29 11:22 신고 URL EDIT REPLY
안녕하세요 저는 컴초보인데요

학원을 다니고 있습니다.

거기서 dvd로 구워주신 cd를 이용하면 위 목록같은게 뜨더라구요.,

그런데 dvd안에 내용을 울트라iso를 이용해서 iso파일 만들고 usb에 이미지 기록하니 목록은 안뜨고

에러창 뜨거나 바로 윈도우7설치 화면으로 가더라구요 usb는 또 다르게 해야 하나요

만들때 ntfs로 포멧하고 만들었구요. 위 grub4dos도 한번 깔앗는데 초보라 이해가 안되요 ㅠㅠ

제가 멀 해야 목록이 뜰까요
머징? 2013.06.02 23:11 신고 URL EDIT REPLY
순서는 맞는 것 같은데 모가 몬지 알 수가 없음..도통;;;
하는 순서를 알아야 하는데 그냥 번호만 매긴것 같아서 잘 모르겠음 --;;
ADKIM 2013.06.05 09:19 신고 URL EDIT REPLY
안녕하세요. 덕분에 많은것을 배우고 있습니다.
그런데 -0-;;; 왜 저는 메뉴파일을 똑같이 만들어서 제부팅을 하면 만든 메뉴타이틀은 안나오고
처음 GRUB4DOS생성하고 GRLDR 파일 옮긴후 테스트 할때 부팅화면과 동일한 화면만 나오는 걸까요?
=-= 헤메고 있습니다. 도와 주세요.
탱이 2013.08.07 16:30 신고 URL EDIT REPLY
저도 ADKIM님과 마찬가네요.

이거저거 많이 해보던 중에,,,

BOOTICE실행해서 유틸리티-> 메뉴편집기 로 glrdr 불러보니

pxe detect
configfile
default 0
timeout 1

title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
errorcheck off
configfile /menu.lst
configfile /boot/grub/menu.lst
configfile /grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
errorcheck on
commandline

title commandline
commandline

title reboot
reboot

title halt
halt

이렇게 되있더군요.

요거를 commandline으로 하나씩 실행해보니..

configfile /menu.lst 에서

Errot 17: Cannot mount selected partition
이런 에러메세지가 나오네요....

도와주세요..ㅜㅜ
탱이 2013.08.07 16:32 신고 URL EDIT REPLY
차선책으로 BOOTICE의 메뉴편집 기능을 통해서

grldr 화일을 이렇게 바꿨더니

pxe detect
configfile
timeot 30

title Windows NT/2K/XP
find --set-root /ntldr
chainloader /ntldr

title Windows VISTA/7/8
find --set-root /instmgr
chainloader /instmgr

title Parted Magic ISO
find --set-root /pmagic.iso
map/pmagic.iso (0xff) || map--mem /pmagic.iso (0xff)
map --hook
chainloader(0xff)

title Commandline
commandline

title Halt
halt

문제없이 메뉴화면이 뜨네요.


근데 다른 문제가 생겼습니다.

find --set-root /instmgr 요부분에서

Error 15 : File not found 라고 에러가 발생되서 win7 설치가 진행되지 않습니다.

도와주세요... ㅜㅜㅜ
지나가는 나그네 | 2013.12.22 03:43 신고 URL EDIT
instmgr은 기존 윈도우7 부트매니저인 bootmgr을 이름만 바꿔서 넣은걸로 보여지네요
부트매니저를 구분할필요가 있을때 이런식으로 사용하는걸 본거같네요
(여기서봤나...)
아무튼 윈도7 설치파일 뒤져보면 bootmgr있는데 해당파일을 찾아서 이름변경해서 루트에 복사해놓으시면 해결될듯하네요
wisdomit 2014.01.18 14:04 신고 URL EDIT REPLY
menu.lst 예시파일에 windows7 chainmanager가 boodloader로 오타가 나있네요;;
밤샘 노가다족 2014.12.10 00:55 신고 URL EDIT REPLY
하나 여쭙을께요. 우분투 설치 iso를 바로 가상으로 올리도록 해놨더니 안되서 압축을 풀어서 해보려고 합니다.
근데 이거 아무리 봐도 지정할 두번째 부트로더 파일이 어딨는지 모르겠네요.. boot에 grub.cfg를 해봐도 오류가 뜨네요. 혹시 아시나요?
헥스 2015.04.22 19:25 신고 URL EDIT REPLY
대단합니다.. 최고예요~ 많은 도움 되었습니다.
BJ 2016.02.26 12:35 신고 URL EDIT REPLY
안녕하세요 저도 이 포스팅을 보고 가상으로 부팅을해서 따라했는데 6편의 timeout 30을 치면 Unrecognized command가 나옵니다. 그래서 t치고 tap을 눌러봐도 timeout, title 이런 명령어가 안 올라옵니다.
만능 usb만들고 싶은데 도와주시면 감사하겠습니다.
Name
Password
Homepage
Secret
굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드