아무래도 보안관련, 특히 악성코드와 접점이 많은 일을 하다보면 Host OS를 자주 밀게 됩니다. 저 같은 경우도 악성코드 유포지에 대한 연구를 하다 보니 자연스레 컴퓨터도 느려지고, 다양한 모듈들을 테스트를 하다 보니 컴퓨터가 자주 느려집니다. 그래서 이번에 포맷하는 겸 "PC방 처럼 원 클릭으로 복구 할 수 있는 방법이 없을까?"라고 생각했는데, 좋은 사이트에서 따라만 하다 보니 설정이 잘 되서 설정하는 부분만 정리해봅니다. 자세한 내용은 이 포스트의 맨 아래 reference를 참조하시길 바랍니다.
Windows 7과 Windows XP와 설정방법은 조금 다릅니다. 이 자료는 Windows 7에만 초점을 맞춰 정리하였습니다.
파티션분할
실행 > diskmgmt.msc (디스크 관리)
System 디스크 파티션 분할이 필요 (Host OS가 설치할 파티션과 백업을 저장해둘 파티션)
가독성을 위해 다음과 같이 드라이브 이름을 변경
필요한 파일 다운로드
백업파일을 보관할 파티션의 루트에 다음과 같이 구성
cmd 창에서 winpe.wim의 내용을 pe 폴더에 Mount 하기
imagex /mountrw winpe.win 1 해당 파티션 드라이브:\pe
해당 파티션 드라이브:\pe\windows\system32\startnet.cmd 파일 수정
안의 모든 내용 지우고 다음 내용으로 저장
@echo off
Unmount 하기
mount한 관련 폴더를 모두 닫고 다음 명령어 실행, unmount가 끝나면 pe폴더 삭제해도 무방
imagex /unmount 해당 파티션 드라이브:\pe /commit
백업파일을 보관할 파티션에 GBackup 폴더 생성하고 수정한 winpe.wim, boot.sdi, ghost32.exe, omnifs32.exe를 구성
수정한 winpe.wim
boot.sdi - 3.02MB (3,170,304 바이트) : Download
Ghost 11.5.1.2266.zip - 16.9MB (17,729,102 바이트) : Download
>> 압출풀고 ghost32.exe, omnifs32.exe만 사용
cmd 실행해서 다음 명령들을 사용
두번째 줄의 파티션에 백업파일을 보관할 파티션을 입력
bcdedit /create {ramdiskoptions} /d "ram"
bcdedit /set {ramdiskoptions} ramdisksdidevice partition=해당 파티션 드라이브:
bcdedit /set {ramdiskoptions} ramdisksdipath \GBackup\boot.sdi
bcdedit /deletevalue {ramdiskoptions} description
부팅할때 뜨는 이름 입력
bcdedit /create /d "고스트 자동 복원" /application osloader
GUID가 출력됩니다. GUID는 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 형태의 16진수입니다.
다음 명령에서 {GUID}부분을 위 숫자로 바꿔 주시고
1번줄과 3번줄에 백업을 저장할 파티션을 입력하시면 됩니다.
마지막 타임아웃은 "윈도우로 부팅"과 "백업" 선택 대기시간입니다. 움직이면 시간은 사라집니다.
bcdedit /set {GUID} device ramdisk=[해당 파티션 드라이브:]\GBackup\winpe.wim,{ramdiskoptions}
bcdedit /set {GUID} path \windows\system32\winload.exe
bcdedit /set {GUID} osdevice ramdisk=[해당 파티션 드라이브:]\GBackup\winpe.wim,{ramdiskoptions}
bcdedit /set {GUID} systemroot \windows
bcdedit /set {GUID} locale ko-KR
bcdedit /set {GUID} inherit {bootloadersettings}
bcdedit /set {GUID} detecthal yes
bcdedit /set {GUID} winpe yes
bcdedit /displayorder {GUID} /addlast
bcdedit /timeout 10
그리고 재부팅하면 "고스트 자동 복원"으로 부팅 할 수 있습니다. 이 부팅은 winpe.wim으로 부팅한 것이기 때문에 부팅 로컬은 기존의 Host OS와 다른 백업 파티션이 되겠습니다.
재부팅하면 관리자 모드가 실행되는데 여기서 omnifs32를 사용합니다. 커맨드에서 omnifs32 info를 입력합니다.
숫자의 의미는 [디스크.파티션]입니다.
그림에 따라 Windows7 파티션은 1.2입니다. (디스크 명을 바꾼 이유는 위와 같이 정확하게 판단하기 위함이었습니다.)
이 번호를 잘 기억하시고 다음과 같이 명령을 입력합니다.
1번 디스크의 2번 파티션을 Backup.gho로 백업합니다라는 의미입니다.
ghost32 -clone,mode=pcreate,src=1:2,dst=%bdrv%\Backup.gho -sure -z2 -rb
백업이 끝나면 재부팅하여 다시 Windows7으로 돌아옵니다. 처음 4개의 파일이 있는 폴더(GBackup)에 들어가시면 Backup.gho라는 이름으로 백업되어 있습니다. 이렇게 해서 총 5개의 파일이 존재하고 Config.cmd 라는 이름으로 파일을 하나 더 만들고 다음 내용을 입력합니다. 여기서 1:2은 방금전 백업할 때 사용하였던 숫자입니다.
set sdrv=1:2
set auto=Y
끝.
TIP.
모의해킹 전용 OS, 악성코드 분석 테스트 베드 등 스냅샷을 사용하든 다양한 gho파일을 만들어 Backup.gho를 대처하고 복구하여 사용 할 수 있습니다. 아무래도 로컬에서 실행하다 보니 안티 가상머신을 자연스럽게 우회할 수 있겠죠. 하지만 단점으로는 큰 용량의 하드디스크가 필요로하며, 저장하고 복구하는데 걸리는 시간이 길어집니다.
Reference
'Information Technology > Operation System' 카테고리의 다른 글
Set of .vimrc (0) | 2013.05.14 |
---|---|
Dual-boot Windows 7 and Kali Linux (2) | 2013.04.14 |
How to install Kali Linux on Virtualbox Guest Additions (2) | 2013.03.15 |
BackTrack5 Reborn Kali Linux 간략정리 (0) | 2013.03.14 |
구버전 배포하는 사이트 (0) | 2012.11.21 |