명령형 도구로서의 고스트와 -clone 스위치

고스트는 그래픽 인터페이스를 통해 작업을 진행할 수도 있지만, 이러한 그래픽 인터페이스의 도움 없이 오직 명령만으로도 모든 작업을 진행할 수 있는 명령형 도구이기도 합니다. 그 중에서도 여러 가지 스위치(매개 변수)를 통해 작업의 종류와 개체, 옵션 등을 지정하는 스위치형 프로그램이죠. 이러한 고스트의 명령 구조를 보자면 아래와 같습니다.

Ghost32.exe -스위치 -스위치 -스위치...


아주 전형적인 스위치 방식의 명령 구조를 가지고 있죠. 고스트를 명령형 모드로 사용하려는 경우 스위치를 통해 모든 것을 컨트롤하기 때문에 고스트가 가지고 있는 스위치들에 대해서 알고 있어야만 합니다. 이것은 천천히 배우게 될 것이고요. 오늘은 그 중에서도 모든 고스트 스위치들 중에 가장 핵심이 되는 -Clone 스위치에 대해서 배워보도록 하겠습니다.


일단 시작하기에 앞서 고스트에는 수없이 많은 스위치가 존재하고 있지만, 제가 감히 그 종류를 나눠본다면 딱 두 가지로 나누도록 하겠습니다.

첫 째, -clone 스위치
둘 째, 그 외 나머지 스위치


이 정도면 고스트에서 -Clone 스위치가 가지는 중요도를 아실 수 있겠죠? 실제로 고스트 작업의 90% 는 -Clone 스위치가 담당한다고 할 수 있죠. 나머지 10% 는 자잘한 옵션들을 의미하는 기타 스위치들을 -Clone 스위치에 곁들여 추가해주는 것 뿐입니다. 그럼 본격적으로 이렇게 중요한 -Clone 스위치에 대해서 알아보도록 하죠.




-clone 스위치의 이해를 위해 먼저 알아두어야 할 개념

일단 저는 일반적인 고스트 가이드와는 달리 제 나름의 방식으로 -Clone 스위치를 설명해 보도록 하겠습니다. 이를 위해서는 -Clone 스위치를 이야기 하기 전에 앞서, 먼저 아래의 글을 읽어보실 필요가 있습니다. 혹시나 안 읽고 오셨다면 먼저 읽고 오시길 바랍니다.



해당 글을 요약하자면 GHO 백업 이미지 파일 하나가 하나의 디스크를 의미한다고 것입니다.

GHO 백업 이미지 파일 = 하나의 디스크


저는 이러한 개념을 기본 바탕으로 깔고 이번 -Clone 스위치에 대해서 이야기를 해 보도록 하겠습니다.




-clone 스위치의 구조

일단 고스트의 스위치들은 대체적으로 하나의 스위치가 하나의 옵션을 의미하는 것이 보통이지만, -Clone 스위치는 이와는 다르게 총 네 가지의 요소들이 하나로 구성된 복합 스위치입니다. 일단 기본적인 -Clone 스위치의 구조는 아래와 같습니다.

-clone,mode=작업,src=원본,dst=대상[,sze...]

이 중에서 sze 요소는 반드시 필요한 부분이 아닌 옵션이며, 이는 나중에 알아 볼 -sze 스위치와 100% 동일하기 때문에 그 때 한 번에 알아보도록 하고, 이번 -Clone 스위치 설명에서는 빼도록 하겠습니다.


그래서 sze 를 제외한 -Clone 스위치에서 반드시 필요한 세 가지 요소만을 따로 빼내어 그 구조를 다시 살펴보면 아래와 같습니다.

-clone,mode=작업,src=원본,dst=대상

일단 -Clone 스위치의 구조를 보면 -Clone 스위치의 시작을 알리고 이후 작업, 원본, 대상을 차례로 지정하는 방식으로 이루어집니다. 이 때 각 요소의 구분은 ,(콤마) 를 통해 구별을 해주죠. 스위치의 구조는 의외로 간단하죠?


아무튼 이를 다시 정리해보면 아래와 같습니다.

mode 고스트를 통해 수행할 작업 - Job
src mode 를 통해 지정된 작업에서의 원본을 지정 - Source
dst mode 를 통해 지정된 작업에서의 대상을 지정 - Destination
 * 고스트의 모든 작업을 원본과 대상간의 데이터 복사라는 관점으로 놓고 생각해보자면?

   - 원본(src) -> 데이터를 어디에서 가져올 것인가? (데이터의 소스는 어디인가?)
   - 대상(dst) -> 가져온 데이터가 어디로 갈 것인가? (데이터가 복사될 목적지는 어디인가?)





-clone 스위치의 요소 : mode 작업 요소의 이해

고스트의 작업은 크게 아래와 같이 나눠집니다.

복사 원본을 대상으로 복사 - Copy
백업 원본으로부터 GHO 이미지 파일을 생성 - Create Image
복원 GHO 이미지 파일로부터 대상을 복원 - Restore Image


그리고 작업의 개체(Target)에는 크게 두 가지가 있죠.

디스크 디스크 - Disk
파티션 파티션 - Partition (볼륨 또한 파티션으로 취급)


그래서 이를 정리하면 고스트를 통해서 수행하게 되는 작업은 아래와 같은 총 여섯 가지가 나오게 됩니다.

mode=copy 디스크 -> 디스크 복사 작업 (Disk to Disk)
mode=create 디스크 -> 이미지 백업 작업 (Disk to Image)
mode=restore 이미지 -> 디스크 복원 작업 (Image to Disk)
mode=pcopy 파티션 -> 파티션 복사 작업 (Partition to Partition)
mode=pcreate 파티션 -> 이미지 백업 작업 (Partition to Image)
mode=prestore 이미지 -> 파티션 복원 작업 (Image to Partition)


mdoe 요소에 대한 것은 모두 살펴 보았습니다. 그리 어렵지 않죠? src 를 시작하기 전 아래의 박스를 먼저 읽어 보세요.

* 고스트의 모든 작업은 복사다

고스트로 할 수 있는 작업은 크게 복사, 백업, 복원이라는 세 가지가 있죠? 그런데 이걸 복사라는 하나의 개념으로 보고, 데이터 흐름의 방향만 보는 겁니다. 이러한 개념의 이해가 가능한 것은 앞서 말한 GHO 이미지 파일도 하나의 디스크이다. 라는 전제 조건이 있기 때문입니다. 아무튼 고스트의 모든 작업을 이렇게 복사로 놓고 보면, 다음 단락의 src 와 dst 요소를 이해하기가 좀 더 수월해집니다.

> 디스크 = 디스크

디스크 복사 = 디스크(로컬 디스크) -> 디스크(로컬 디스크) 로의 데이터 복사 작업
디스크 백업 = 디스크(로컬 디스크) -> 디스크(GHO 디스크) 로의 데이터 복사 작업
디스크 복원 = 디스크(GHO 디스크) -> 디스크(로컬 디스크) 로의 데이터 복사 작업

> 파티션 = 디스크:파티션

파티션 복사 = 파티션(로컬 파티션) -> 파티션(로컬 파티션) 으로의 데이터 복사 작업
파티션 백업 = 파티션(로컬 파티션) -> 파티션(GHO 파티션) 으로의 데이터 복사 작업
파티션 복원 = 파티션(GHO 파티션) -> 파티션(로컬 파티션) 으로의 데이터 복사 작업





-clone 스위치의 요소 : src 원본과 dst 대상 요소의 이해

1. 개념 정리

원본을 의미하는 src 와 대상을 의미하는 dst 는 작업에 따라서 그 개체를 달리 적용해야 합니다. 그런데 제가 위에서 모든 작업을 디스크 또는 파티션에 대한 복사 작업으로 놓고 데이터의 흐름만 어떠한지 보면 이해하기가 훨씬 쉬워진다고 했죠. 저는 그러한 개념을 기반으로 설명을 하도록 하겠습니다.


고스트의 모든 작업을 하나의 개념으로 정리하면 아래와 같습니다.

개체 -> 개체로의 데이터 복사 작업

이 때 데이터를 제공하는 좌변의 개체를 Source(원본)이라고 하고 줄여서 src, 데이터를 제공받는 우변의 개체를 Destination(대상) 줄여서 dst 라고 하는 겁니다. src 와 dst 에 대한 정의는 이해를 하시겠죠?

이제 개체를 정의하겠습니다. 고스트에서 개체는 크게 디스크파티션 요렇게 간단하게 두 가지로만 정의를 할 수도 있습니다. 그래서 src 와 dst 에는 작업에 알맞게 디스크 또는 파티션만 지정해주면 끝난다 이렇게 이해를 해도 되죠. 간단하죠?


이제 다음을 보도록 하겠습니다.

  1. 고스트는 디스크를 순서대로 번호로 지정하여 구별합니다. [번호는 1 번부터 시작합니다.]
  2. 고스트는 파티션을 해당 디스크에 포함된 순서대로 번호로 지정하여 구별합니다. 이 때 확장 파티션은 번호에 포함되지 않으며, 주 파티션과 논리 드라이브만 번호를 부여 받습니다. [번호는 1 번부터 시작합니다.]


추가적으로 파티션은 해당 파티션이 어떤 디스크에 포함된 파티션인지를 표현하기 위해 디스크를 함께 지정해주며, 이 때 디스크와 파티션의 구별은 :(콜론) 을 통해 하게 됩니다. [디스크:파티션]

이를 토대로 고스트에서 디스크와 파티션을 표현하는 것을 정리하면 아래와 같습니다.

  1. 1 은 시스템에서 첫 번째 디스크를 의미합니다.
  2. 2 는 시스템에서 두 번째 디스크를 의미합니다.
  3. 1:1 은 시스템 첫 번째 디스크의 첫 번째 파티션을 의미합니다.
  4. 1:2 는 시스템 첫 번째 디스크의 두 번째 디스크를 의미합니다.
  5. 2:1 은 시스템 두 번째 디스크의 첫 번째 파티션을 의미합니다.


최종적으로 처음에도 말했고, 다른 글에서도 말했고, 계속 말한 다음을 기억합니다.

  1. GHO 백업 이미지 파일은 그 자체로 하나의 디스크이다. 그 안에 파티션도 가지고 있다.


이제 이러한 내용을 그대로 작업에 맞춰 src 와 dst 요소에 대입하면 끝나는 겁니다. 그럼 실제로 보죠.



2. 디스크에 대한 작업

-clone,mode=copy,src=1,dst=2
* mode=copy   디스크(로컬 디스크) -> 디스크(로컬 디스크) 로의 복사 작업
* src=1   시스템 첫 번째 디스크
* dst=2   시스템 두 번째 디스크

∴ 시스템 첫 번째 디스크의 모든 내용을 시스템의 두 번째 디스크로 복사하는 작업

이게 디스크 작업의 기본형인 디스크 복사입니다. 간단하죠?


이제 위와 같은 기본형인 복사 작업을 디스크 백업 작업에 대입해 보도록 하겠습니다. GHO 백업 이미지 파일은 하나의 디스크라고 했죠. 그래서 대상(dst)의 디스크에 그대로 백업 이미지 파일만 지정해주면 되는 겁니다.

-clone,mode=create,src=1,dst=D:\Backup.gho
* mode=create   디스크(로컬 디스크) -> 디스크(GHO 디스크) 로의 복사 작업
* src=1   시스템 첫 번째 디스크
* dst=D:\Backup.gho  D:\Backup.gho 디스크

∴ 시스템 첫 번째 디스크의 모든 내용을 D:\Backup.gho 로 복사(백업)하는 작업


이번엔 디스크 복원 작업에 대입해 보도록 하겠습니다. 마찬가지로 GHO 백업 이미지 파일은 하나의 디스크이고, 원본(src)에 그대로 백업 이미지 파일을 지정해주면 됩니다.

-clone,mode=restore,src=D:\Backup.gho,dst=2
* mode=restore   디스크(GHO 디스크) -> 디스크(로컬 디스크) 로의 복사 작업
* src=D:\Backup.gho   D:\Backup.gho 디스크
* dst=2  시스템 두 번째 디스크

∴ D:\Backup.gho 디스크의 모든 내용을 시스템 두 번째 디스크로 복사(복원)하는 작업




3. 파티션에 대한 작업

-clone,mode=pcopy,src=1:1,dst=2:1
* mode=pcopy   파티션(로컬 파티션) -> 파티션(로컬 파티션) 으로의 복사 작업
* src=1:1   시스템 첫 번째 디스크의 첫 번째 파티션
* dst=2:1   시스템 두 번째 디스크의 첫 번째 파티션

∴ 시스템 첫 번재 디스크 첫 번째 파티션의 모든 내용을 시스템의 두 번째 디스크 첫 번째 파티션으로 복사하는 작업

이게 파티션 작업의 기본형인 파티션 복사입니다. 역시 어렵지 않죠?


이제 이러한 기본형인 복사 작업을 파티션 백업 작업에 대입해 보도록 하겠습니다. 여기에서 한 가지 주의할 점이라면 파티션 백업 작업에선 GHO 디스크에 파티션을 지정하지 않는다는 것입니다. 그것은 고스트가 자동으로 하며 사용자가 지정해선 안 됩니다. 이것만 기억하세요.

-clone,mode=pcreate,src=1:1,dst=D:\Backup.gho
* mode=pcreate   파티션(로컬 파티션) -> 파티션(GHO 파티션) 으로의 복사 작업
* src=1:1   시스템 첫 번째 디스크의 첫 번째 파티션
* dst=D:\Backup.gho   D:\Backup.gho 디스크에 파티션은 고스트가 자동으로 생성

∴ 시스템 첫 번재 디스크 첫 번째 파티션의 모든 내용을 D:\Backup.gho(파티션 자동 생성) 으로 복사(백업)하는 작업


마지막으로 기본형인 복사 작업을 파티션 복원 작업에 대입해 보도록 하겠습니다. 복원 작업에선 원래 기본형에 맞게 GHO 디스크 안에서 몇 번째 파티션이 원본인지를 지정해주어야 합니다.

-clone,mode=prestore,src=D:\Backup.gho:1,dst=2:1
* mode=prestore   파티션(GHO 파티션) -> 파티션(로컬 파티션) 으로의 복사 작업
* src=D:\Backup.gho:1   D:\Backup.gho 디스크의 첫 번째 파티션
* dst=2:1   시스템 두 번째 디스크의 첫 번째 파티션

∴ D:\Backup.gho 디스크 첫 번째 파티션의 모든 내용을 시스템 두 번째 디스크 첫 번째 파티션으로 복사(복원)하는 작업


간단하죠? 백업 작업에서만 고스트가 GHO 이미지 파일 안에 파티션을 알아서 자동으로 생성하는 것만 기억하면 될 듯 합니다. 그 외에는 모두 기본형과 동일하죠.



4. 백업 이미지 파일이 대상(dst)일 때

고스트는 백업 이미지 파일을 무조건 새로 생성합니다. 즉, dst 에 지정한 D:\Backup.gho 백업 이미지 파일이 이미 존재하고 있다면 해당 파일을 지워버리고 새로 만드는 겁니다. 주의하세요.



5. 고스트와 드라이브 문자, 고스트 경로, 볼륨 경로

마이크로소프트사의 모든 운영체제는 드라이브 문자라는 경로 형식을 기본으로 사용합니다. 즉, C:, D: 이런 걸 말하는 겁니다. 이러한 C:, D: 등은 간단하게 이야기하면 특정 파티션에 지정된 특수한 경로라고 생각하셔도 됩니다. 즉, 드라이브 문자를 통해 해당 경로로 이동을 하면 실제론 해당 파티션으로 이동을 하는 것이죠.

C: = 첫 번째 디스크의 첫 번째 파티션 [* 모두가 이런 게 아니라 그냥 예제임]
D: = 첫 번째 디스크의 두 번째 파티션 [* 모두가 이런 게 아니라 그냥 예제임]

이런 식이란 것이죠. 물론 C: 가 몇 번째 디스크의 몇 번째 파티션일 지는 윈도우나 사용자가 지정한 파티션에 따라서 모두 다릅니다. 즉, 디스크 관리 등을 통해 사용자가 "내가 두 번째 디스크의 첫 번째 파티션을 F: 로 사용하기로 했어!" 라고 설정해주면 앞으로 F: 는 두 번째 디스크의 첫 번째 파티션을 의미하는 게 되는 겁니다.



자 그럼 가장 먼저 이런 생각을 할 수 있어요.


"D: 가 첫 번째 디스크의 두 번째 파티션? 그건 고스트에서 1:2 라고 표현하잖아? 그럼 D: 를 1:2 로 써도 되는 거야?"


라고 말이죠. 이건 맞는 말이에요. 그래서 위에서 예제로 들었던 아래는

-clone,mode=create,src=1,dst=D:\Backup.gho


아래와 같이 쓸 수도 있다는 것이죠.

-clone,mode=create,src=1,dst=1:2\Backup.gho


그래서 고스트 작업에서 백업 이미지 파일을 지정할 땐 드라이브 경로로 사용해도 되고, 고스트의 디스크 파티션 경로로 사용해도 됩니다. 실제로 고스트 작업에선 윈도우의 드라이브 경로보다 고스트의 디스크 파티션 경로를 좀 더 선호하는 편입니다. 특히나 저는 거의 디스크 파티션 경로로만 사용하죠

왜냐? 드라이브 문자는 변화 무쌍합니다. 지금 얘가 D: 더라도 내가 어느날 갑자기 꼴리면 내일 E: 로 바꿔 버릴 수도 있는 겁니다. 그리고 아직도 고스트 작업에서 많이 애용되는 환경인 도스라는 운영체제는 NTFS 로 포맷된 파티션에 드라이브 문자를 할당하지 못하는 슬픈 한계가 있죠. 드라이브 문자로 지정하고 싶어도 지정하지 못하는 경우가 생겨버립니다.

하지만 첫 번째 디스크의 두 번째 파티션이라는 경로는 디스크의 순서가 바뀌어버리지 않는 한 바뀌지 않죠. 그리고 도스에서도 첫 번째 디스크의 두 번째 파티션은 첫 번째 디스크의 두 번째 파티션입니다. 이게 어디 가는 건 아니잖아요? 그래서 드라이브 문자보다 경로가 좀 더 안정적이고 유연하다고 할 수 있습니다. 그래서 선호하는 겁니다.



자 이제 다음으로 이런 생각을 또 할 수가 있어요.


"1:2 가 D: 면 1:2 를 모두 D: 로 바꿔도 되는 거야?"


이건 틀린 말인데 완전히 아니라고 하기에도 뭐한 좀... 흠...... 그냥 외우세요. 아래가 일단 기본이죠.

-clone,mode=pcopy,src=1:1,dst=2:1


위를 아래와 같이 바꾸는 것은 절대 안 됩니다. src 든 dst 든 드라이브 문자 자체로는 파티션을 인식하지 못합니다.

-clone,mode=pcopy,src=C:,dst=D: [안 됨]


대신 고스트는 드라이브 문자를 곧바로 사용하는 게 아닌 현재 드라이브 문자를 기반으로 하는 고스트 볼륨 경로(이하 볼륨 경로)라는 것을 사용합니다. 근데 이러한 볼륨 경로로 지정하는 건 됩니다. 아래와 같이 말이죠.

-clone,mode=pcopy,src=@OS:C:,dst=@OS:D: [됨, 근데 가끔 윈도우에서 프리징 걸림]


근데 여기에서 주의해야 할 게 윈도우 PE 에선 그런 경우를 못 겪었는데, 윈도우에선 dst 를 볼륨 경로로 지정하면 고스트가 다운이 되는 경우가 종종 발생합니다. 근데 이게 어떤 경우엔 다운이 되고, 어떤 경우엔 정상적으로 작업이 진행되는지 그걸 아직도 모르겠어요. 그래서 아래와 같은 식으로 dst 는 그냥 디스크 파티션 경로로 지정하는 걸 추천합니다.

-clone,mode=pcopy,src=@OS:C:,dst=2:1 [추천]


마지막으로 볼륨 경로가 드라이브 문자 경로를 기반으로 한다고 하여 드라이브 문자 경로를 볼륨 경로로 대체하는 건 안 됩니다.

-clone,mode=create,src=1,dst=D:\Backup.gho

-clone,mode=create,src=1,dst=@OS:D:\Backup.gho [안 됨]


이건 그냥 외우는 방법 밖에는 없습니다.




mode 작업 요소의 예전 형태

그러니까 고스트를 아주 예전부터 사용하시던 분들은 Create 대신 Dump 를, Restore 대신 Load 를 사용하는 경우도 많습니다. 또는 예전에 작성된 자료에 보면 Dump 나 Load 가 사용되는 것을 쉽게 볼 수 있죠. 이건 과거에 고스트에서 백업이 Dump 였고, 복원이 Load 였다가, 나중에 Dump -> Create, Load -> Restore 로 바뀌었기 때문에 그렇습니다.

예전 명령 현재 명령
mode=copy mode=copy
mode=dump mode=create
mode=load mode=restore
mode=pcopy mode=pcopy
mode=pdump mode=pcreate
mode=pload mode=prestore


물론 지금도 예전형인 Dump 나 Load 를 사용해도 됩니다. 어찌보자면 개인의 취향 문제인데요. 제 블로그에선 새로운 기본형인 Create 와 Restore 만 사용하도록 하겠습니다. 이건 참고로 알아두시면 될 듯 하네요. 이번 글은 여기까지 입니다. ^^

p.s 기초가 조금은 어렵게 나왔네요... ㅜ_ㅜ




 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
Tags : , ,
  1. trevis 2012.09.23 02:25 신고  댓글주소  수정/삭제  댓글쓰기
    설명이 굉장히 자세하네요. 고스트관련 책으로 나와도 될듯합니다.

    개인적으로 고스트와 토렌트 제작자는 노벨상을 줘야하지 않나 생각합니다.
  2. 병운 2012.09.24 09:38 신고  댓글주소  수정/삭제  댓글쓰기
    @OS 옵션은 처음 알았습니다.
    가지고 있는 메뉴얼이 8.0 메뉴얼이라서 그때 나왔던 옵션만 알고 있었는데...
    진짜 님 좀 짱인듯!
    ^^b
    • BlogIcon CApple 2012.09.24 16:20 신고  댓글주소  수정/삭제
      스위치 정리 마지막이나 처음에 메뉴얼을 올려드리도록 하겠습니다. ^^ 사실 지금 정리가 끝났는데요. 지금 공개하기가 순서가 많이 애매하더라고요. ㅎㅎㅎ
  3. 돌산 2012.10.16 13:01 신고  댓글주소  수정/삭제  댓글쓰기
    고스트에서 볼륨 경로라는 것도 쓸 수 있다는 새로운 사실을 알게 되었네요.예전 고스트 강좌에 비해 내용도 더욱 풍성하고 또한 글의 전체적인 구성도 굉장히 잘 짜여져 있군요.글을 단순히 작성하는 것도 힘드는 작업일텐데 구성까지 염두에 두면서 쓰려면(그리고 구성도 더이상 흠잡을데 없을 정도로 잘 짜려면) 얼마나 힘이 들었을까~ 하는 생각이 이 글을 읽는 내내 들었습니다.
  4. ZiNee 2013.05.09 20:13 신고  댓글주소  수정/삭제  댓글쓰기
    마지막으로 기본형인 복사 작업을 파티션 복원 작업에 대입해 보도록 하겠습니다. 복원 작업에선 원래 기본형에 맞게 GHO 디스크 안에서 몇 번째 파티션이 원본인지를 지정해주어야 합니다.

    -clone,mode=pcreate,src=D:\Backup.gho:1,dst=2:1
    * mode=prestore 파티션(GHO 파티션) -> 파티션(로컬 파티션) 으로의 복사 작업

    ---------------------------------
    위의 내용에서요,
    -clone,mode=pcreate... 에서요
    -clone,mode=prestore... 라고 해야 할 듯 해서요.
    한 번 검토해주세요~

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com