지난 3편에서는 USB에 GRUB4DOS를 설치했었습니다. 이번 편에서는 GRUB4DOS의 사용법과 핵심 명령어들을 알아보도록 하겠습니다.


GRUB4DOS, Command-Line 모드로 사용하기



3편의 모든 과정을 제대로 따라오셨으면 지금 GRUB4DOS가 설치된 USB를 부팅시키면 이런 화면이 나타납니다. 바로 이것이 GRUB4DOS의 Command-Line 모드인데요, DOS와 매우 비슷하다는 것을 한눈에 확인할 수 있습니다. 

GRUB4DOS는 두 가지의 모드가 있습니다. 바로 Menu 모드Command-Line 모드인데요, GRUB4DOS가 처음 로드되면 해당 디스크의 menu.lst 파일을 찾아서 그 안의 메뉴 설정들을 읽어들여 띄워주게 됩니다.



Menu 모드의 모습입니다. 제 만능 USB의 menu.lst를 로드한 모습인데요, 키보드 방향키로 원하는 메뉴를 선택한 뒤, 엔터키를 입력해주면 선택된 메뉴의 명령어들을 순차적으로 실행하게 됩니다.


title Windows 7 PE
find --set-root /bootmgr
chainloader /bootmgr


위의 명령어들은 제 만능 USB에서 윈도우 7 PE 메뉴를 선택하면 순차적으로 실행되는 명령어들인데요, 저번에 2편에서 잠깐 언급했던 '체인 로딩' 명령어입니다. '체인 로딩' 명령어는 GRUB4DOS의 가장 기본적인 명령어 중 하나로, 위의 경우 윈도우 7의 BOOTMGR 2차 부트로더를 찾은 뒤 로드하고 부팅하는 명령을 수행하게 됩니다.

이렇게 GRUB4DOS는 기본적으로 설치된 디스크의 menu.lst를 로드한뒤 Menu 모드로 들어가게 되는데요, 그렇다면 왜 우리가 만든 USB는 Command-Line 모드로 들어가지는 걸까요?

GRUB4DOS에서 자동으로 Commnad-Line 모드로 진입되는 이유는 'menu.lst 파일이 존재하지 않기 떄문' 입니다. 지난 편에서 만든 USB에는 menu.lst 파일이 없으므로 자동으로 Commnad-Line 모드로 들어가지게 되는 것인데요, 이외에도 Menu 모드에서 'c' 키를 눌러 수동으로 들어가는 방법도 있습니다.


이제 GRUB4DOS의 명령어들을 알아볼텐데요, 모든 명령어들을 다 설명하기는 그렇고 앞으로 자주 사용할 필수적인 명령어들 몇 개만 설명한뒤 나중에 필요할 때 하나씩 더 설명하도록 하겠습니다. 스크롤이 길지만 잘 읽어주세요 ^^


GRUB4DOS 명령어 - 1. {TAB} (자동완성)


TAB키는 명령어라고 하기는 그렇지만 GRUB4DOS의 Command-Line 모드에서 가장 자주 사용되는 기능 중 하나입니다. Command-Line에서 TAB키를 입력하면 남는 부분을 자동완성 해주는데요, Menu 모드에서는 전혀 쓸 수 없는 명령어지만 Command-Line 모드에서 TAB키는 매우 유용한 기능 중 하나입니다.



Command-Line 모드에서 TAB키를 입력했을때의 동작은 두 가지가 있는데요, 명령어 부분 (첫번째 단어) 에서 입력되었을때와 그 외의 부분에서 입력되었을 때의 동작이 달라집니다.


chainloader   /bootmgr

                     명령어 부분 - 입력 가능한 모든 명령어 출력   /  구문 부분 - 해당 경로의 모든 드라이브/파일 출력


먼저 첫번째로 명령어 부분에서 TAB키를 눌렀을때 입니다. 이 때 GRUB4DOS는 입력된 알파벳으로 시작하는 모든 명령어들을 출력해주게 됩니다. 당연히 아무것도 입력되지 않은 상태에서 TAB키를 누르시면 모든 명령어가 출력되겠죠?



그렇다면 명령어가 아닌 부분에서 TAB키를 누르면 어떻게 될까요? 이 때는 해당 알파벳으로 시작하는 현재 경로의 모든 드라이브/파일을 출력 해줍니다.



이렇게 TAB키를 통한 자동완성 기능은 Command-Line 모드를 좀 더 편하게 쓰게 해줍니다.


GRUB4DOS 명령어 - 2. FIND (검색)


이 Find 명령어 역시 유용하게 사용될 수 있는 명령어인데요, TAB키와는 다르게 Find 명령어는 메뉴 작성시 유용하게 사용됩니다. 기본적인 사용법은 이렇습니다.


find --set-root /bootmgr


이런 식으로 사용하시면 되는데요, 이 명령어를 실행하면 이렇습니다.



보신 뒤 눈치채신 분들도 있겠지만 find 명령어는 현재 컴퓨터의 디스크들 중 루트 경로에 bootmgr이 존재하는 디스크를 출력해줍니다. 이 때 --set-root 를 뒤에 붙이시면 현재 경로를 루트 경로로 지정해줍니다.

보통 멀티부팅 USB를 만드시면 여러 컴퓨터에서 사용하실텐데요, 이 경우 컴퓨터마다 장착된 디스크의 수, 디스크 번호가 다를수도 있기때문에 메뉴를 작성했을때 내 컴퓨터에서는 부팅이 되지만 다른 컴퓨터에서는 부팅이 안될 수 있습니다.

그래서 메뉴를 작성할 때는 항상 find 명령어를 사용해서 로드할 파일이 어느 디스크에 있는지 확인하고 해당 디스크를 루트경로로 지정해 주는 습관을 들이시면 좋습니다.


GRUB4DOS 명령어 - 3. CHAINLOADER (체인로딩)


Chainloader 명령어는 GRUB4DOS의 전부라고해도 무방할 정도로 GRUB4DOS의 가장 핵심 명령어이며, 가장 많이 사용되는 명령어입니다. 아까 앞에서도 얘기했었죠? GRUB4DOS는 Chainloader 명령을 통해 다른 운영체제의 2차 부트로더를 로드하고 부팅하게 됩니다.


chainloader /bootmgr


사용법은 그냥 Chainloader 명령어 뒤에 로드할 2차 부트로더의 경로를 적어주시면 됩니다.



이렇게 실행하시면 이 명령어는 첫번째 하드디스크의 첫번째 파티션의 루트경로에서 윈도우의 2차 부트로더인 bootmgr을 찾아서 로드하게 됩니다. (Command-Line 모드라서 그냥 바로 하드디스크를 지정해 주었는데요, 메뉴를 작성하실때는 find --set-root /bootmgr 명령을 먼저 실행해주시는 것이 좋습니다.) 이제 2차 부트로더를 로드했으니 부팅을 해야겠죠? boot 명령어를 입력해주시면 윈도우로 부팅됩니다.


이렇게 가장 핵심적인 GRUB4DOS 명령어들을 알아보았습니다. 다음 편에서는 GRUB4DOS의 '파일 경로'에 대해서 알아보도록 하겠습니다.




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




encuker 2013.02.24 12:34 신고 URL EDIT REPLY
저 command line까지는 성공적으로 되는데
그다음 find /bootmgr 거기거 파일을 찾을수없다고 나오는데
왜그러는지 아시나요?
크럭스 RUX | 2013.02.24 13:51 신고 URL EDIT
find /bootmgr 명령어는 루트 경로에 bootmgr 파일이 존재하는 드라이브를 찾는 명령어입니다. 해당 드라이브의 루트경로에 bootmgr 파일이 존재하고 (윈도우 VISTA/7/8을 쓰시면 윈도우가 설치된 드라이브에 존재합니다.), GRUB4DOS에서 정상적으로 인식되는지 확인해보세요.

GRUB4DOS의 Command Line 모드에서 find 명령어만 입력하시면 (아무것도 안적으시고) 인식된 모든 드라이브가 출력됩니다.
encuker 2013.02.24 21:38 신고 URL EDIT REPLY
제가윈7 64비트를 쓰는데 bootmgr 이 없는데요?
Command Line모드에서 find 만 입력하면 hd0,0 하고 cd만 뜨던데
윈도우 재설치말고는 방법이 없는건가요
크럭스 RUX | 2013.02.24 23:17 신고 URL EDIT
혹시 VM에서 실행하고 계시는건 아닌가요..? (MobaLiveCD 등...)

VM이 아닌데 (hd0,0)과 (cd)만 출력된다는 것은 GRUB4DOS에서 하드 디스크를 인식하지 못하는 것입니다. 윈도우를 재설치하셔도 마찬가지입니다. ^^;;
encuker 2013.02.25 10:14 신고 URL EDIT REPLY
제컴은 안되는데 다른컴은 되네요//
제컴이 문제였던것 같습니다..
감사합니다
young 2013.03.01 15:47 신고 URL EDIT REPLY
안녕하세요
만능usb 게시물을 보고 관심이 있어서 어제부터 따라하고 있습니다.
결과물을 바로보기 위해서 첨부해주신 가상머신(MobaLiveCD)을 사용하고 있는데요 find명령어를 사용하여
bootmgr찾으면 파일을 찾을수 없다고 나옵니다. 원래 그렇게 보여지는게 맞는건가요? 제 실제 컴퓨터에서 usb로 부팅해보니 (hd2)이런식으로 나옵니다. 제가 이해를 못하고 있습니다. ^^;

OS: WIN7 ultimate 64bit 사용환경입니다.
크럭스 RUX | 2013.03.02 14:51 신고 URL EDIT
넵 ^^;; MobaLiveCD에서 실행하시면 bootmgr을 찾을 수 없다고 나오는 것이 정상입니다. MobaLiveCD는 일종의 가상 컴퓨터라고 보시면 되는데요, 윈도우가 설치되어있지 않기때문에 당연히 bootmgr을 찾을 수 없다고 나옵니다.

실제 컴퓨터에서 USB를 부팅하신뒤 find /bootmgr 명령어를 사용하시면 현재 컴퓨터에 장착된 드라이브들 중 bootmgr 파일이 루트경로에 있는 드라이브를 검색한뒤 출력해줍니다. 따라서 (hd2) 같이 드라이브 경로가 출력되는 것이 정상입니다 ^^
Bong 2013.09.03 16:26 신고 URL EDIT REPLY
정리잘된 글 감사히 잘 보고 있습니다.
다름이 아니라 피시방 컴퓨터 한대가 전원켠뒤 화면상에 grub> 요 표시만 되어있어
위에 글처럼 순서대로 한후 boot 를 하면 윈도우7 화면으로 전환이 되긴 하는데
다시 전원을 끈후 켜면 다시 grub> 요 표시 화면이 또 나옵니다.
이럴땐 어떻게 해야될지 모르겠네요....ㅜ.ㅠ;;
크럭스 RUX | 2013.09.05 19:33 신고 URL EDIT
MBR이 잘못되어 발생하는 현상입니다. Bootice로 해당 드라이브의 MBR을 윈도우 NT 6.x MBR로 바꾸어주시면 아마 해결될것 같습니다.
ilovehack 2013.12.09 22:05 신고 URL EDIT REPLY
정말 최고의 grub4dos 기술 문서입니다 ㅎㅎ
여기에 있는 것만 그대로 따라해도 usb 멀티부팅의 초보딱지는 뗄 것 같습니다. 감사합니다
살찐엘프 2014.01.13 11:07 신고 URL EDIT REPLY
크럭스님 Grub4dos 명령어 중 exe확장자를 바로 실행시킬 수 있는 명령어가 있을까요?
궁극적으로 메뉴선택시 바로 Ghost실행을 하려고 합니다.
*PE를 넣기엔 고스트 넣기도 usb용량이 딸려서요 ^^

-dos라도 넣고해야하는지요? 혹시 그러면 방법좀,,
지나가던개 | 2014.02.25 01:32 신고 URL EDIT
도스용 Ghost를 말하시는거죠.
그럼 도스가 실행되게 하면 되는거죠.
MS dos를 사용하던 PC dos를 사용하던 상관없이
dos.img dos.ima dos.iso(이름은대충) 등 파일을 실행하게 하고
그다음에 Ghost를 실행하면 됩니댜.
한줄로 줄이면, 윈도우용은 윈도우환경에서 도스용은 도스환경에서 입니다.
거기에 Net드라이버를 잡아주면 원격백업복구도 가능하고요.

Name
Password
Homepage
Secret
굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드