이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

이 글은 고스트 자동 복원 시스템이 어떻게 구축이 되는지 그 과정을 설명함과 동시에 사용자가 직접 파일을 수정하여 자신만의 자동 복원 시스템을 구축하기 위한 용도로 포스팅이 되는 글 입니다. 구축하여 별 불만없이 사용하는 사용자, 관심이 없는 사용자 분들은 패스하셔도 좋습니다. ^^a;;


고스트 자동 복원 시스템 구축의 핵심은 하드 디스크가 하나든 두 개든 일단 윈도우 파티션과 함께 백업 이미지 파일을 저장할 데이터 파티션이 존재해야 한다는 것 입니다. 즉, 하드 디스크가 하나라면 최소 파티션이 두 개로 나누어져 있어야 하고 하드 디스크가 두 개라면 아무런 문제 없이 고스트 자동 복원 시스템을 사용하는게 가능합니다.   다만 먼저 포스팅 된 고스트 자동 복원 시스템 구축은 일반적인 상황을 염두해 두고 만들었기 때문에 하드 디스크가 하나인 상황에서 파티션이 두 개 이상일 때를 기준으로 제작이 되었습니다. 그럼 하드 디스크가 두 개 이상인데 백업 이미지 파일은 두 번째나 세 번째 하드 디스크에 저장하고 싶으면 그럴 땐 고스트 자동 복원 시스템 구축을 사용하지 못하는 것이냐? 라고 물으시면 지금 이 글을 보시고 직접 편집하여 사용하셔야 합니다~! 라고 대답해 드리겠습니다.

이 글의 목적이 바로 그것이니까요. ^^ 그럼 파티션 이야기는 이쯤하고 본격적으로 고스트 자동 복원 시스템의 구축 과정에 대해서 알아보도록 하겠습니다. 고스트 자동 복원 시스템 구축의 핵심은 바로 멀티 부팅을 담당하는 Grub4dos 와 고스트 백업 및 복원을 담당하는 Ima 이미지 파일의 Autoexec.bat 입니다. 자동 설치 파일인 Install.cmd 파일은 설명드리고자 했는데 이건 도저히 그 범위를 잡을 수가 없었습니다. 그래서 그냥 대충 파일 뜯어보시길 바라며 넘깁니다. -_-; 그럼 설명을 시작하도록 하죠. ^^

※ 실질적으로 자동 백업, 복원되는 부분을 자신에게 맞게 수정하여 사용하실 분들은 Autoexec.bat 파일 부분으로 바로 가시면 됩니다. 나머지는 순수하게 제작 과정과 원리입니다.








Grub4dos 와 멀티 부팅 그리고 Grub4dos 의 수정

고스트 자동 복원 시스템에서 멀티 부팅을 담당하는 프로그램은 Grub4dos 라는 프로그램입니다. 리눅스의 부트 매니져인 Grub 을 사용하기 편하게 만든 프로그램입니다. 이 Grub4dos 가 사용하기도 쉽고 기능도 굉장히 강력하기 때문에 많은 자료에서 다용도로 사용되고 있습니다. 이번 자료에서 사용된 Grub4dos 의 버전은 현재 최신 버전인 0.4.4 버전입니다.

Grub4dos 다운로드 페이지 - http://download.gna.org/grub4dos/





올려드린 파일은 다운로드 페이지에서 가장 최신인 0.4.4 버전을 올려드린 겁니다. 이 파일의 압축을 풀면 다양한 파일이 나오는데 실제적으로 윈도우의 부트 매니져에서 연결하여 사용하는 파일은 grldr.mbr, grldr, menu.lst 세 개 입니다. 다른 파일들은 고스트 자동 복원 시스템에선 필요가 없으니 모두 지워버리고 아래의 세 파일만 남겨두시면 됩니다.




이 세 파일이 윈도우의 부트 매니저에 등록되어 작동되는 과정은 실상 단순합니다. 아래의 과정을 보시죠.

① 윈도우의 부트 매니저에 멀티 부팅으로 Grldr.mbr 을 등록합니다.

② 등록한 멀티 부팅 메뉴를 선택하면 윈도우 부트 매니저에서는 Grldr.mbr 파일을 읽습니다.

③ 로드된 Grldr.mbr 은 곧바로 시스템의 모든 드라이브에서 Grldr 파일을 찾은 후 로드 합니다.

④ 로드된 Grldr 은 윈도우 부트 매니저로부터 부팅의 제어권을 넘겨받습니다. 그리곤 곧바로 다시 시스템의 모든 드라이브에서 부트 목록 파일인 Menu.lst 파일을 찾습니다.

⑤ Grldr 은 Menu.lst 에 기록된 부트 목록을 화면에 표시해 줍니다. 만약 Grldr 이 Menu.lst 파일을 찾지 못했다면 사용자가 직접 부트 명령을 내릴 수 있게 커맨드 입력 모드를 띄워줍니다.

⑥ 사용자가 표시된 멀티 부팅 목록에서 원하는 운영체제를(또는 장치) 선택합니다.

⑦ 해당 운영체제로(또는 장치) 부팅을 시작합니다.


이 중에서 중요한 과정은 제가 굵게 표시한 해 놨습니다. 중요 과정을 간단하게 요약하자면 아래와 같습니다.

윈도우 부트 매니저 -> Grldr.mbr 로드 -> Grldr 로드 -> menu.lst 로드 -> 부팅 목록 표시


간단하죠? 다른 거 다 집어치우고 이거만 기억하시면 됩니다. Grldr.mbr 은 Grldr 을 찾고 Grldr 은 Menu.lst 를 찾는다. 정상적으로 다 찾으면 부팅 목록이 표시된다~! 이렇게 말이죠. 훨씬 단순하죠? 이 부분 기억해 두세요.(실상 Grldr.mbr 이 하는 일은 Grldr 을 찾는 일 뿐입니다. 그래서 Grldr.mbr 대신 Grldr 을 직접 읽게 해도 Grub4dos 가 정상적으로 작동하긴 합니다.)

이제 이 세 개의 파일을 아무 드라이브의 루트에 놓고 윈도우 부트 매니저에서 Grldr.mbr 파일을 읽게만 하면 Grub4dos 를 통한 멀티 부팅을 사용할 수 있습니다. 하지만 관리의 편의를 위해서 보통 윈도우가 설치된 C: 에 많이 놓는 것 입니다.


근데 Grub4dos 를 고스트 자동 복원 시스템의 멀티 부팅 툴로써 사용하는데에는 한 가지 문제가 있습니다. 바로 Grub4dos 가 워낙에 자주 사용되는 프로그램이다 보니 여기저기서 다 Grub4dos 를 사용한다는 것 입니다.

가장 큰 문제는 어둠의 비스타나 윈도우 7 을 사용하는 사용자들 입니다. 이러한 어두운 윈도우들이 가장 많이 사용하는 인증 방식이 바로 Slic 을 통한 가상 OEM 인증 방식입니다. 문제는 이 가상 OEM 인증이 지금까지 설명한 Grldr 을 사용한다는 점 입니다.

그래서 가상 OEM 인증 방식을 사용한 비스타나 윈도우 7 에서 Grub4dos 를 통해 멀티 부팅을 꾸미게 되면 서로의 Grldr 이 충돌을 일으켜서 윈도우도 병신되고 자동 복원 시스템도 병신되는 그야말로 지랄맞은 상황이 펼쳐지게 됩니다.

이런 개같은!!




그래서 이러한 어둠의 사용자를 위해 위해 어쩔 수 없이 서로의 Grldr 이 충돌을 일으키지 않게 하기 위하여 고스트 자동 복원 시스템용 Grub4dos 파일들을 수정해 줄 수 밖에 없습니다. 수정의 원리는 과거에 포스팅했던 윈도우 XP N in 1 WOW CD 제작하기에서 XP 부팅 CD 의 부트 파일들을 수정할 때 사용한 방식과 동일합니다.

즉, 충돌을 피하기 위해 Grub4dos 부팅용 파일들의 이름을 모두 바꿔주고 각각의 파일들을 헥스 에디터를 통해 바꿔준 이름들로 인식을 하도록 수정을 해 주는 것이죠. 간단한 겁니다. 자 그럼 아까 제가 뭐라고 그랬죠?

Grldr.mbr 은 Grldr 을 찾고 Grldr 은 Menu.lst 를 찾는다. 정상적으로 다 찾으면 부팅 목록이 표시된다~!

라고 했습니다. 그럼 충돌을 피하기 위해 Grldr.mbr 은 Garbt.mbr 로 이름을 바꿔주고 마찬가지로 나머지 파일들도 Garbt 와 Garb.lst 로 파일의 이름을 바꿔 줍니다. 그런 후 헥스 에디터로 바꾼 이름에 맞춰 파일의 내용을 수정해주는 것 입니다.

즉, 바꾼 이름에 맞춰 Garbt.mbr 은 Garbt 를 찾게 하고 Garbt 는 Garb.lst 파일을 찾게 수정해 주는 것이죠.

바꿀 파일의 이름은 자기의 취향대로 맘대로 바꿔도 되지만 한 가지 바꿀 파일의 이름은 원래 이름과 글자의 개수가 반드시 동일해야 합니다. 이유는그 글자 수에 맞춰서 파일들이 제작이 되어 있기 때문에 글자 개수가 다르게 되면 프로그램 자체가 변형이되어 버리기 때문입니다. 이점은 꼭 유의하세요.




지금부터 할 작업엔 헥스 에디터가 필요합니다. 저는 주로 Ultra Editor 를 통해 작업을 합니다. Ultra Editor 를 제가 직접 제공해 드리기엔 뭐하고 외국 자료실의 다운로드 링크를 걸어드리죠.

Ultra Editor 11 한글 버전 다운로드 : http://www.mediafire.com/?wlmmzmmmzdz


Ultra Editor 의 설치법은 패스하고 바로 작업을 시작하도록 하겠습니다. Ultra Editor 를 설치하신 후 가장 먼저 Garbt.mbr 파일을 수정하도록 하겠습니다. Garbt.mbr 을 마우스 오른쪽 버튼으로 클릭하신 후 UltraEdit 항목을 선택하여 파일을 열어줍니다.




메뉴 -> 검색 -> 바꾸기로 들어갑니다.




찾는 말에 원래 파일 이름인 grldr 을 바꿀 내용에 바뀐 파일 이름인 garbt 를 입력합니다. 체크 박스 중 ASCII 찾기 항목을 반드시 선택합니다. 그런 후 모두 바꾸기 버튼을 클릭합니다.




제공해 드린 0.4.4 버전의 파일을 기준으로 총 6 항목이 바뀝니다. 예 버튼을 클릭합니다.




메뉴 -> 파일 -> 저장 항목을 선택하여 변경된 파일을 저장합니다. 간단하죠?






마찬가지의 방법으로 Garbt 파일도 Ultra Editor 로 열어주신 후 바꾸기 메뉴로 들어갑니다.




찾는 말엔 원래 파일 이름인 menu.lst 를 바꿀 내용엔 바뀐 파일 이름인 garb.lst 를 입력한 후 ASCII 찾기를 체크 하시고 모두 바꾸기 버튼을 클릭합니다.




제공해 드린 0.4.4 버전의 파일을 기준으로 총 16 항목이 바뀝니다. 예 버튼을 클릭한 후 변경된 내용을 저장하시면 됩니다.






어떻습니까? 간단하죠? 이로써 Grub4dos 를 자신만의 파일 이름으로 작동하도록 모두 수정하였습니다. 이제 이렇게 수정된 Grub4dos 를 사용하게 되면 어둠의 윈도우 사용자들도 가상 OEM 인증에 사용되는 Grub4dos 와의 충돌을 피하고 정상적으로 고스트 자동 복원 시스템을 구축할 수 있게 되는 것 입니다.








Grub4dos 의 메뉴 구성

이제 Grub4dos 의 파일 수정을 모두 마쳤으니 메뉴 파일을 적절하게 편집해 주어야 합니다. 우리는 앞의 작업에서 메뉴 파일을 Garb.lst 로 이름을 바꿔주었었죠? 이 Garb.lst 파일을 메모장으로 열어준 후 고스트 자동 복원 시스템용 플로피 이미지 파일을 읽도록 메뉴를 꾸며주어야 합니다. 메모장으로 열어보시면 아시겠지만 기본 옵션과 예제가 쭈욱 기록이 되어 있습니다. 필요없으니 깨끗하게 지우시고 제가 꾸민 내용을 일단 그대로 적어 주시면 됩니다.

[code]splashimage (hd0,0)/splash.xpm
timeout 3
default 0
title Start Ghost Automated Recovery
  find --set-root --ignore-floppies /gar.ima
  map --mem /gar.ima (fd0)
  map --hook
  chainloader (fd0)+1
  rootnoverify (fd0)[/code]


이제 하나하나 아는 부분까지 설명을 드리겠습니다.




[code]splashimage (hd0,0)/splash.xpm[/code]

Grub4dos 의 목록을 표시할 때 배경 화면으로 사용할 이미지 파일을 지정해 주는 것 입니다. 제 고스트 자동 복원 시스템으로 들어가 보신 분은 아시겠지만 전구 다마 한 녀석이 위험한 짓(?)을 하고 있죠.




바로 이 이미지 파일을 지정해 주는 것 입니다. 파일의 규격은 반드시 640 x 480 해상도에 16 색 XPM 이미지 파일을 사용하셔야 합니다. JPG 나 GIF, BMP 와 같은 규격은 사용할 수 없습니다.

이 때 파일의 경로는 (hd0,0)/ 입니다. Grub 에서는 드라이브 문자가 아닌 (하드 디스크 번호.파티션 번호) 를 사용합니다. 하드 디스크나 파티션 번호는 0 부터 시작합니다.(고스트는 1 부터 시작하죠 ^^) 그래서 (hd0.0) 이란 첫 번째 하드 디스크의 첫 번째 파티션, 통상 C: 가 되는 것이죠.

뭐 그리 중요한 부분은 아니니 넘어가도록 하죠. 자신만의 배경화면을 원하시는 분들은 규격에 맞는 이미지 파일을 만드셔서 교체하시면 됩니다.




[code]timeout 3
default 0[/code]

부팅 목록 표시 시간과 기본으로 사용할 부팅 목록 번호를 지정해 주는 겁니다.

앞에서 말씀드렸던 것과 같이 Grub4dos 도 부트 매니저입니다. 당연히 멀티 부팅을 꾸밀 수 있죠. 그러니 멀티 부팅의 목록을 표시해줄 시간과 기본 부팅 항목을 설정해 주는 것 입니다. 메뉴에 윈도우를 집어 넣으면 윈도우로 부팅도 가능합니다. (윈도우에선 기본 부트를 Grub4dos 로 Grub4dos 에선 기본 부트를 윈도우로 동시에 설정하게 되면?)

timeout 3 과 default 0 의 의미는 3 초간 부팅 목록을 표시해 주고 3초간 아무런 입력이나 선택이 없으면 첫 번째 부팅 목록으로 부팅을 하라는 의미입니다.(Grub 은 순서를 0 부터 시작합니다.)

이 3 초를 넣은 이유는 배경 화면으로 사용한 이미지를 보시면 아시겠지만 3초 동안이라도 제 블로그 홍보할려고 넣어둔 겁니다. -_-; 이건 간단하니 이쯤에서 설명을 마치겠습니다.




[code]title Start Ghost Automated Recovery[/code]

부팅 목록의 제목입니다. 만약 멀티 부팅 환경을 꾸미면 각각의 목록 마다 이렇게 제목을 붙여주셔야 합니다.




[code]find --set-root --ignore-floppies /gar.ima
map --mem /gar.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)[/code]

가장 중요한 플로피 이미지 파일을 읽어들여서 부팅하는 부분입니다. Grub4dos 의 기본 Menu.lst 파일에서 나온 예제 중 플로피 이미지 파일을 읽어 부팅하는 부분을 그대로 차용했습니다.대충 제 지식 선에서 설명을 드리겠습니다.

모든 장치에서(플로피, CD, 하드 디스크의 모든 파티션) /gar.ima 즉, 루트 폴더의 gar.ima 파일을 find 찾은 후 찾은  경로를 -root 루트로 --set 설정합니다. 이 때 -floppies 플로피 드라이브는 찾는 경로에서 --ignore 무시합니다. 즉, 플로피 드라이브를 제외한 모든 곳의 루트 폴더에서 gar.ima 파일을 찾으라는 의미입니다. 반드시 루트 폴더일 필요는 없습니다. /boot/gar.ima 라면 boot 폴더의 gar.ima 파일을 찾으라는 의미가 되니까요.

그런 후 map --mem 간접 매핑 방식으로 앞 줄에서 찾은 경로의 /gar.ima 이미지 파일을 (fd0) 가상의 플로피 드라이브로 사용합니다. 즉, 지정한 플로피 이미지 파일을 가상 플로피 드라이브로 변환(대응)시키는 겁니다. 실제 플로피 드라이브가 없지만 이미지 파일을 플로피 드라이브처럼 가상으로 사용하는 것이죠.

이 때 매핑 방식은 map 의 Direct 방식과 map --mem 의 Indirect 방식이 있는데 --mem 은 memdrive 생성을 의미합니다. 즉, 램 드라이브를 생성하여 이를 가상의 (fd0) 장치로 사용하겠다는 것이죠. 그러니 충분한 메모리 용량이 필요합니다. 근데 플로피가 아무리 커봤자 2.88 MB 이니 크게 의미는 없습니다. 다만 하드 디스크 이미지 파일이나 CD 이미지 파일 같이 큰 파일을 Indirect 방식으로 매핑할 땐 의미가 있겠죠. -_-a

Direct 방식 램 드라이브 따위 생성 안 하고 그냥 이미지 파일 자체를 사용한다는 의미입니다.

map --hook 은 앞에서 매핑한 장치의 사용을 시작하겠다는 의미입니다. 즉, 이 시점부터 매핑한 가상 플로피 드라이브의 사용이 가능해지는 겁니다.

이제 이미지 파일을 가상 플로피 드라이브로 만들고 사용도 시작했으니 chainloader 이 장치로 부트의 제어권을 넘기겠다는 의미입니다. 어디로? (fd0) 으로, 이 때 +1 첫 번째 섹터를 읽습니다.


마지막으로 rootnoverify (fd0) 루트가 바뀌지 않게 지정해 주는 것 입니다만... 설명이 정확하지 않고 자료를 찾아봐도 마땅한 자료가 없어 확실하게는 모르겠습니다. 아무튼 map 으로 매핑을 한 경우 필수적으로 해당 장치를 rootnoverify 로 지정해 주어야 정상적으로 부팅하여 사용이 가능합니다. 아무튼 필수 구문이니 그대로 사용하시면 되겠습니다.


어떻습니까? 대충 이해하시겠나요? 간결하게 정리한다고 했는데 어떨 지 모르겠네요. 근데 사실 위의 구문 중 find --set-root --ignore-floppies /gar.ima 부분이 필요없이 바로 gar.ima 의 위치를 지정해 줄 수도 있습니다. 아래와 같이 말이죠.

[code]map --mem (hd0,0)/gar.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)[/code]

와 같이 말이죠. 사실 이게 가장 확실한 방법이죠. 하지만 일반적으로 배포를 위해 제작한 메뉴 리스트에선 고스트 자동 복원 시스템 구축에서 보던 것과 같이 공통 환경과 시스템 예약 파티션 포함 Seven 전용 환경과 같이 반드시 동일한 위치에 이미지 파일이 존재하다는 보장이 없으므로 find 명령을 통해 모든 장치에서 필요한 이미지 파일을 찾도록 만드는 것 입니다. ^^ 메뉴에 관한 설명은 이쯤에서 마치도록 하겠습니다. 자세한 내용은 나중에 Grub4dos 를 한 번 쭈욱 정리하도록 하죠. ㅎㅎ








윈도우의 부트 매니저에 Grub4dos 멀티 부팅 추가

일단 앞에서 수정한 Grub4dos 의 파일들을 모두 C: 의 루트에 복사합니다. 굳이 C: 가 아니어도 상관은 없지만 어쨌든 전 C: 에 복사해 두는 걸 좋아합니다. ^^; 아무튼 이걸 기준으로 이야기를 하도록 하겠습니다.



XP 의 경우 굉장히 단순하니 간단하게 설명드리도록 하겠습니다. XP 에서 부팅 메뉴에 Grub4dos 를 추가하는 방법은 boot.ini 파일에 grldr.mbr 파일의 위치만 한 줄 추가해 주시면 됩니다. 글에선 garbt.mbr 로 파일의 이름을 바꿨으니 garbt.mbr 로 해줘야 겠죠? 그리고 부팅 목록의 이름을 적어주시고 Timeout 의 시간을 적절히 수정해 주시면 됩니다.

[code]c:\garbt.mbr="고스트 자동 복원"[/code]

아래와 같은 식으로 말이죠.





Vista 와 Seven 은 이보다는 살짝 복잡합니다. 다만 그리 어렵진 않으니 충분히 따라하실 수 있으실 겁니다.

Vista 와 Seven 은 명령 프롬프트를 실행하여 bcdedit 명령을 통해 Grub4dos 를 부팅 목록으로 추가해 주어야 합니다. 단! 이 때 명령 프롬프트는 반드시 관리자 권한으로 실행을 하셔야 합니다.




이렇게 관리자 권한으로 명령 프롬프트를 띄운 후 일단 다음의 명령을 내려줍니다.

bcdedit /create /d "고스트 자동 복원" /application bootsector


그럼 {아이디} 항목을 만들었습니다. 라고 표시가 되게 됩니다. 이 때 아이디는 시스템에 따라 모두 다릅니다. 그렇기 때문에 필히 잘 확인하세요. 아이디를 확인하셨으면 아래의 명령을 차례대로 내려줍니다.

bcdedit /set {위에서 확인한 ID} device partition=C:
bcdedit /set {위에서 확인한 ID} path \garbt.mbr
bcdedit /displayorder {위에서 확인한 ID} /addlast
bcdedit /timeout 3





이렇게해서 Grub4dos 를 위한 멀티 부팅 메뉴를 모두 생성하였습니다. 정상적으로 멀티 부팅 메뉴가 생성되었는지 확인하기 위해 bcdedit 명령을 내려줍니다.




그럼 위와 같이 리얼 모드 부팅 섹터라고 하여 고스트 자동 복원 항목이 정상적으로 생성된 것을 확인할 수 있습니다. 그럼 각 명령 항목을 간단하게 설명드리도록 하겠습니다.




bcdedit /create /d "고스트 자동 복원" /application bootsector

"고스트 자동 복원" 이라는 새로운 메뉴 항목을 생성합니다. 이 때 application 응용 프로그램의 유형은 bootsector 부팅 섹터 유형입니다. Grub4dos 는 부팅 섹터 유형의 응용 프로그램입니다. ^^ 이 명령을 내리면 화면에 {ID} 를 표시해 주기 때문에 다음의 명령을 위해 화면을 지우지 마시고 잘 기억해 두셔야 합니다.

만약 {ID} 가 너무 길어서 외우기거나 보고 치기가 힘드시다면 bcdedit /create /d "고스트 자동 복원" /application bootsector > id.txt 와 같이 리다이렉션을 통해 화면이 아니라 텍스트 파일로 저장하셔서 확인하시는 것도 좋은 방법입니다.




bcdedit /set {ID} device partition=C:

{ID} 항목에 대한 세팅을 합니다. 해당 응용 프로그램이 상주해 있는(존재하는) device 장치는 partition=C: 파티션 중 C: 입니다. 즉, Grub4dos 파일들이 있는 파티션의 드라이브를 지정해 주면 됩니다.

이 때 만약 Grub4dos 파일들이 있는 위치가 시스템 파티션이라면(윈도우의 기본 부트 관리자가 위치하는 파티션) device 를 boot 로 설정해 주셔도 됩니다.

bcdedit /set {ID} device boot

와 같이 말이죠. 제 자료에선 이걸 사용하고 있죠. ^^; Grub4dos 튜토리얼에서도 이걸 사용하구요.

하지만 시스템 예약 파티션을 포함하여 설치된 윈도우 7 의 경우 윈도우의 기본 부트 관리자가 위치하는 파티션이 C: 가 아니라 시스템 예약 파티션 입니다. 이러한 상태에서 만약 device 를 boot 로 놓고 사용하고자 한다면 Grub4dos 파일들을 C: 가 아닌 시스템 예약 파티션으로 복사해야 정상적으로 부팅이 됩니다.

근데 시스템 예약 파티션엔 드라이브 문자가 없죠. 그래서 드라이브 문자를 추가해주고 다시 파일 복사하고 드라이브 문자 제거하고 이짓을 하기가 참... 더군다나 자동화시키기엔 거참... 그래서 Seven2 버전의 경우 device 를 partition=C: 로 사용하고 있는 겁니다. boot 로 하기엔 심란하고 어차피 device 를 boot 로 놓으나 partition 으로 놓으나 위치만 정확히 지정해주면 되기 때문이죠. ㅎㅎㅎ




bcdedit /set {ID} path \garbt.mbr

{ID} 항목에 대한 세팅을 합니다. 해당 응용 프로그램의 경로는 루트의 garbt.mbr 이라는 파일입니다. 즉, 위에서 지정한 장치에서(드라이브에서) Grub4dos 파일과 경로를 입력해 주는 것 입니다. 루트에 garbt.mbr 파일로 있으니 \garbt.mbr 이 되는 것이죠.




bcdedit /displayorder {ID} /addlast

목록 표시 위치에서 {ID} 항목을 addlast 가장 마지막에 위치시킵니다. 즉, 멀티 부팅 메뉴 표시 화면에서 Grub4dos 를 가장 마지막에(아래에) 표시하게 해주는 명령입니다. 가장 첫 번째로 올리려면 /addfirst 로 해 주시면 됩니다. ^^




bcdedit /timeout 3

멀티 부팅 목록의 표시 시간을 3 초로 세팅합니다. 기본값은 30 초이죠. 너무 깁니다. 그래서 3~5 초 정도의 시간으로 줄여주는 것 입니다. 저는 3 초가 평상시에 인식하지 못할 정도로 휙 지나가서 가장 적당하더군요. 휙 지나가니 복원이 필요할 때면 부팅 될 때 키보드의 위 아래 방향키를 연타합니다. ㅎㅎㅎ 근데 2 초 정도로 해 놓으면 가끔 이것도 놓치더군요.;;;



이상으로 Vista 와 Seven 에서 Grub4dos 를 부팅 항목에 추가하여 멀티 부팅을 꾸미는 것에 대한 설명을 모두 하였습니다. 복잡해 보이지만 한 번 외워두면 사실 그렇게 복잡한건 아닙니다. ^^; 단지 귀찮을 뿐이죠... 전 윈도우 기본 기능으로 할 수 있는 작업은 윈도우 기본 기능으로 하자는 주의라서 -_-;








플로피 이미지 파일의 수정 - 배치 파일의 수정

고스트 자동 복원 시스템의 핵심이라고 할 수 있는 플로피 이미지 파일입니다. 플로피 이미지 파일의 제작 및 수정에는 가장 많이 사용되는게 VirtualFDD 와 WinImage 입니다. 저는 주로 WinImage 를 사용합니다. WinImage 에 대한 설명은 아래의 함께하면 좋은 글 링크를 참고하시면 될 겁니다.

근데... 플로피 이미지 파일을 제작하는 것에 대해서 이야기하려면 이게... 사실 끝도 없습니다. -_-; 그래도 대충이라도 좀 설명해 볼려고 작성해 보다가 도저히 어디서부터 어떻게 설명을 해야할 지 답이 안 나오길레 취소했습니다.


그래서 그냥 간단하게 제가 미리 만들어 둔 gar.ima 파일을 수정하는 것에 대해서 이야기 하도록 하겠습니다. 응급 복원 CD 도 내용이 거의 비슷하기 때문에 ISO 이미지 파일에서 추출하거나 아니면 뼈대 파일에서 ima 파일을 직접 수정하여 ISO 이미지 파일을 만드셔도 됩니다.

※ 고스트 자동 복원 시스템을 이미 구축하신 후 수정하시는 거라면 gar.ima 파일이 C: 의 루트에 숨김 파일로 숨겨져 있습니다. 폴더 옵션에서 숨김 파일 보기와 시스템 파일 보기로 설정하신 후 gar.ima 파일의 속성으로 들어가셔서 읽기 전용 옵션의 체크를 해제해 주신 후 작업을 하셔야 정상적으로 수정 & 저장 됩니다.



먼저 gar.ima 파일을 VirtualFDD 나 WinImage 로 여신 다음 Autoexec.bat 파일을 추출합니다.(간단하니 과정은 생략합니다.) 그런 후 Autoexec.bat 파일을 메모장으로 열어보시면 꽤 장문의 내용이 나오는데요 다른 부분 다 필요 없고 아래의 부분만 수정하셔서 본인에게 맞게 사용하시면 됩니다.

[code]:Backup
hanme.exe /u
cls
ghost -clone,mode=pcreate,src=1:1,dst=1:2\backup.gho -sure -auto -z3 -rb -noide -nousb -fnf
goto EXIT

:Restore
hanme.exe /u
cls
ghost -clone,mode=prestore,src=1:2\backup.gho:1,dst=1:1 -sure -rb -noide -nousb -fnf
goto EXIT[/code]




보시면 ghost 로 시작하는 부분이 핵심입니다. 먼저 백업 부분을 보시면 명령이 아래와 같죠.

[code]ghost -clone,mode=pcreate,src=1:1,dst=1:2\backup.gho -sure -auto -z3 -rb -noide -nousb -fnf[/code]

여기서 src=1:1 은 백업할 파티션입니다. 1:1 = 첫 번째 디스크의 첫 번째 파티션 즉, 통상적인 C: 를 백업하라는 의미입니다. 이 부분은 뭐 크게 바뀌는 일은 없을 겁니다. 만약 윈도우가 1:1 파티션이 아닌 경우에는 바꿔주셔야겠죠? 대표적인 예로 시스템 예약 파티션이 포함된 상태로 설치된 윈도우 7 의 경우 C: 가 1:1 이 아닌 1:2 가 됩니다. 그래서 이 부분을 수정하여 Seven2 버전을 따로 배포한 것 입니다.

다음으로 dst=1:2\backup.gho 가 바로 백업 이미지 파일을 저장할 곳 입니다. 저장할 경로를 1:2 가 아닌 1:3 과 같은 다른 파티션 또는 여러 개의 하드 디스크를 사용하실 때에는 2:1 이나 3:2 와 같이 다른 하드 디스크의 다른 파티션으로 옮기셔도 됩니다.

단 루트 폴더가 아닌 특정 폴더 안에 백업 이미지 파일을 저장하고자 하는 경우에는 반드시 미리 해당 폴더가 생성이 되어 있어야 합니다. 안 그럼 고스트 백업을 시작하지 못합니다. 그래서 보통 배포본에서는 그냥 루트에 저장하는 겁니다.



다음은 복원 부분에 대한 설명입니다. 명령은 아래와 같죠.

[code]ghost -clone,mode=prestore,src=1:2\backup.gho:1,dst=1:1 -sure -rb -noide -nousb -fnf[/code]

여기에서 src=1:2\backup.gho:1 이 복원에 사용할 백업 이미지 파일입니다. 만약 백업 명령에서 백업 이미지 파일의 저장 경로를 1:3 이나 2:1 과 같이 다른 곳으로 바꾸었다면 여기에서도 같은 위치로 수정을 해 주어야겠죠? 꼭 그래야 합니다. ㅎㅎㅎ

backup.gho 의 뒤에 붙는 :1 은 백업 이미지 파일 안에서 복원에 사용할 파티션을 지정하는 것 입니다. 고스트에 대해 잘 모르시는 분들은 도스용 고스트 포스팅을 보시면서 배워야 이해가 되실테니 그냥 복원에는 붙이는구나 하고 생각하시고 지우지만 마시길 바랍니다.

다음으로 dst=1:1 이 바로 복원할 파티션을 지정해주는 부분입니다. 만약 백업에서 벡업하는 파티션의 위치가 바뀌었다면 마찬가지로 백업과 동일하게 복원의 이 부분도 수정을 해 주셔야 합니다.



이렇게 자신이 원하는대로 Autoexec.bat 파일의 수정을 모두 마치셨다면 저장하신 후 다시 gar.ima 파일로 삽입하셔서 수정된 Autoexec.bat 파일로 교체하신 후 gar.ima 파일을 저장하시면 자신만의 고스트 자동 복원 시스템의 구축이 끝나는 겁니다. 간단하죠?



그럼 수정에 관한 예문을 하나 보여드리고 간단하게 설명한 뒤 내용을 마치도록 하겠습니다. 고스트 자동 복원 시스템 구축 종합 - 자동 설치 글에 kal 님께서 댓글로 올라신 질문에 대한 답인데요. 먼저 질문은 아래와 같았습니다.

저는 XP,7 멀티부팅으로 사용중입니다.
한개의 하드디스크에 총 4개의 파티션이 있는데,
첫번째 파티션에 XP, 두번째는 제조사시스템복구, 세번째는 데이타, 네번째는 7이 설치되었습니다.

위에서 설명하신 방법대로 하면 XP, 7 하나씩 고스트이미지를 만들 수 있을까요?
위의 툴을 설치하면, 부팅메뉴에 기존의 XP,7 이외에 고스트복원 메뉴가 하나 더 생성되는 것인가요?
이미 멀티부팅중이고, 또 고스트이미지를 담을곳이 두번째 파티션이 아니라 세번째 또는 네번째가 되야하기 때문에 조금 복잡한 상황인듯 합니다


자 질문을 종합해 보면 백업해야 할 파티션은 윈도우 XP 가 설치된 첫 번째 파티션과 윈도우 7 이 설치된 네 번째 파티션이고 백업 이미지 파일이 저장되어야 할 곳은 세 번째 파티션이네요. 하드 디스크는 하나이시구요. 그럼 아래와 같이 명령 부분을 바꿔 주시면 됩니다.

[code]:Backup
hanme.exe /u
cls
ghost -clone,mode=pcreate,src=1:1,dst=1:3\xp.gho -sure -auto -z3 -fx -noide -nousb -fnf
ghost -clone,mode=pcreate,src=1:4,dst=1:3\seven.gho -sure -auto -z3 -rb -noide -nousb -fnf
goto EXIT

:Restore
hanme.exe /u
cls
ghost -clone,mode=prestore,src=1:3\xp.gho:1,dst=1:1 -sure -fx -noide -nousb -fnf
ghost -clone,mode=prestore,src=1:3\seven.gho:1,dst=1:4 -sure -rb -noide -nousb -fnf
goto EXIT[/code]


잘 보시면 XP 의 백업과 복원 명령들은 -rb 스위치가 -fx 스위치로 바뀌었죠? -rb 스위치는 작업을 마치면 시스템을 재시작하라는 의미이고 -fx 스위치는 작업을 마치면 도스로 돌아가라는 의미입니다. XP 의 백업 or 복원 작업을 마친 후 또 다시 7 의 백업 or 복원 작업을 해야하니 -rb 대신 -fx 가 들어가 있는 겁니다.

메뉴를 다시 짜면 백업은 한 번에 복원은 XP 따로, 7 따로, XP 와 7 동시에 복원이 메뉴를 추가할 수도 있는데 이건 여기서 설명드리기가 조금 복잡하네요. 일단은 그냥 기본 그대로 쓰시길 바랍니다.








함께하면 좋은 글

Ghost-DOS : 도스 계열의 기초
Ghost-DOS : 명령줄 모드의 기본과 조작법
Ghost-DOS : 고스트 명령줄 스위치 정리 표
Ghost-DOS : 고스트의 시작 -Clone 스위치
Ghost-DOS : 명령줄 모드에서 백업하기
Ghost-DOS : 명령줄 모드에서 복원하기
Ghost-DOS : -Zx 스위치의 압축률 비교
Ghost-DOS : 디스크 복원 및 복사시 흔적(Finger Print) 남기지 않기
Ghost-DOS : S-ATA ODD 사용시 고스트 오류 해결 및 속도 개선 (-noide)


WinImage 8.x : 플로피 이미지 편집 프로그램의 강자 - 설치 및 패치
WinImage 8.x : 이미지 파일의 편집


Grub4dos tutorial

도스 계열 고스트에 관한 포스팅 중 이 글과 중요하거나 직접적으로 연관이 있는 글들은 위와 같지만 도스용 고스트에 대해서 관심이 있으신 분들은 이 외의 다른 글들도 참고하시면 좋습니다. ^^





아무 쓰잘때기 없는...




새끼 새를 매의 공격으로 부터 지키기 위한 어미 딱새의(또는 아빠 딱새의) 분노의 콕! 콕! 콕!
기자는 어미 딱새라고 하는데 그건 잡아서 아랫도리 까 보기 전까지는 엄마인지 아빠인지 모르는거 아녀?

혹시 몰라.
저 새가 아빠 딱새고 자기 새끼가 아닌데(?) 아무튼 새끼를 지키기 위해 목숨 걸고 콕! 콕! 콕! 질을 하고 있는지...
언제나 그렇듯 진실은 어미 새와 유전자만이... -_-a

흐음...
내가 왜 이러지???
-_-;;;;;;;


: