백업과 복원, 복제/GSS - Ghost 11.5.1

[GSS - Ghost] 윈도우에서 고스트를 실행하는 방법과 비트 버전의 깔맞춤이 필요한 이유

CApple 2012. 9. 22. 12:40
윈도우에서 고스트를 실행하는 방법

1. 먼저 알아 둘 내용

윈도우

1. 32비트 윈도우에서는 Ghost32.exe 만 사용할 수 있습니다.
2. 64비트 윈도우에서는 Ghost32.exe, Ghost64.exe 를 모두 사용할 수 있습니다.


윈도우 PE

1. 32비트 윈도우 PE 에서는 Ghost32.exe 만 사용할 수 있습니다.
2. 64비트 윈도우 PE 에서는 Ghost64.exe 만 사용할 수 있습니다.


윈도우 공통

1. 윈도우와 윈도우 PE 에서는 16비트 버전의 Ghost.exe 를 사용할 수 없습니다.




2. 윈도우에서 고스트를 실행하는 방법

첫 번째 방법

01. 사용 중인 윈도우의 비트 버전에 맞춰, 현재 윈도우에서 사용할 수 있는 적절한 비트 버전의 고스트 실행 파일을 작업과 상관이 없는 드라이브에 준비합니다. 준비한 고스트 실행 파일을 더블 클릭하여 실행합니다.



02. 즐거운 고스트 작업을 시작합니다.




두 번째 방법

01. 사용 중인 윈도우의 비트 버전에 맞춰, 현재 윈도우에서 사용할 수 있는 적절한 비트 버전의 고스트 실행 파일을 작업과 상관이 없는 드라이브의 적절한 경로에 준비합니다.



02. 명령 프롬프트를 실행하여 해당 경로로 이동한 후 적절한 고스트 명령을 내려줍니다.



03. 즐거운 고스트 작업이 시작됩니다.






윈도우와 고스트의 비트 버전을 맞춰줄 필요성

위의 단락은 너무 어이가 없을 정도의 정리였죠. 이번 단락을 시작하기 전 참고로 말씀드리죠. 이번에 새롭게 시작된 고스트 정리의 특징은 널뛰기입니다. 글의 난이도가 한 편의 글 안에서도 멋대로 왔다 갔다 한다는 것이죠. 그렇게 알아두시고 앞으로도 글을 읽으시다가 이런 상황이 발생해도 그냥 그러려니 해주시길 바랍니다. 또한 글 중간의 링크들은 아직 작성되지 않았거나 공개되지 않은 경우일 수 있습니다. 순서에 맞춰 공개하기로 하였으니까요. 앞으로 진행될 다른 글에서는 이런 이야기는 하지 않도록 하겠습니다. 그럼 시작합니다.


간단하게 이야기하겠습니다. 64비트 윈도우에서는 32비트용 고스트와 64비트용 고스트를 모두 사용할 수 있습니다. 하지만 가급적이면 64비트 윈도우에서는 64비트용 고스트를 사용하는 것이 좋습니다. 왜 그러냐면 볼륨 스냅샷(Volume Snapshot, 볼륨 섀도 복사본) 때문에 그렇습니다.


현재 자신이 64비트 윈도우를 사용 중이고, 윈도우에서 현재 윈도우 파티션을 곧바로 백업하는 작업을 생각해보도록 하겠습니다. 현재 부팅하여 사용 중인 윈도우 파티션을 곧바로 윈도우에서 작업의 원본으로(Source) 삼는 것이기 때문에 [GSS - Ghost] 사용 중인 디스크, 파티션, 볼륨이 작업의 대상일 때 고스트는 어떻게 작업하는가? 에서 설명하는 것과 같이 고스트는 볼륨 스냅샷 기능을 통해 원본 파티션의 현재 상태를 스냅샷 상태로 만든 후 작업을 진행하게 됩니다.

그럼 실제로 작업을 해보죠. 아래는 64비트 윈도우에서 위와 같은 작업을 각각 32비트 버전의 고스트와 64비트 버전의 고스트로 진행해본 모습입니다. [참고로 따로 -forcevolumesnapshot 스위치를 지정하지 않아도, 명령줄 모드로 작업을 진행하면 자동으로 먼저 Locked 를 시도하고 이어서 Volume Snapshot 을 시도합니다. 둘 모두 실패하면 실패하는 거죠.]


먼저 아래는 64비트용 고스트로 작업을 진행한 모습입니다. 작업이 정상적으로 이루어지는 것을 확인할 수 있죠.

ghost64 -clone,mode=pcreate,src=1:1,dst=1:2\Backup.gho -sure -z2 -fx




하지만 32비트용 고스트로 동일한 대상에 동일한 작업을 진행하였지만, 작업은 실패하는 것을 확인할 수 있습니다.

ghost32 -clone,mode=pcreate,src=1:1,dst=1:2\Backup.gho -sure -z2 -fx




먼저 해당 파티션을 잠궈(Locked)보고, 잠글 수 없기에 이이서 볼륨 스냅샷을 만들어 보려 시도했지만, 마찬가지로 실패한 모습입니다. 현재 사용 중인 원본(Source)에 대한 두 가지 가능한 시도를 모두 실패하였기에 최종적으로 고스트 작업은 실패하게 된 것이죠.


이게 정확한 판단인 줄은 모르겠지만, 이것은 아마 볼륨 스냅샷 즉, VSS(Volume Shadow Copy) 서비스와 관련이 있지 않을까 생각합니다.

VSS(Volume Shadow Copy) 서비스


VSS 서비스 즉, vssvc.exe 도 윈도우 버전에 맞게 64비트 버전일테죠. 그래서 32비트인 고스트가 64비트인 vssvc.exe 에 접근하지 못해 해당 서비스를 실행하지 못한 것이고, 결국 볼륨 스냅샷을 사용하지 못한 고스트의 작업이 실패하게 된 것이 아닐까 생각합니다.


이렇게 생각하는 이유가 제가 VB .NET 으로 bcdedit.exe 를 활용하는 작업을 포함하는 간단한 32비트 프로그램을 만들어봤었는데, 이게 64비트용 bcdedit.exe 는 인식을 못하더라고요. 아마 같은 이유로 32비트용 고스트가 vssvc.exe 를 인식하지 못한 것이 아닐까 생각합니다.

제가 생각하는 이유는 이렇습니다. 이건 뭐 좀 더 정확하게 아시는 분께서 댓글로 언질을 해주셨으면 하네요. 아무튼 64비트 윈도우에서 32비트용 고스트는 볼륨 스냅샷을 올바로 구현하지 못하기에, 볼륨 스냅샷 기능이 필요한 작업에서는 생각치 못하게 작업이 실패할 수 있습니다.


그래서 64비트 윈도우에서도 32비트용 고스트를 사용할 수 있지만, 가급적이면 윈도우와 비트 버전을 맞춰 64비트용 고스트로 작업하길 권장하는 것입니다. 32비트 윈도우에서는 64비트용 고스트를 아예 실행도 할 수 없으니 뭐 알아서 비트 버전이 맞춰지지만요.

이번 글은 여기까지 입니다. ^^