제 블로그 방문자 분들 중 Differencing VHD 사용하시는 분들 많이 계시죠? 저는 하루에도 몇번이나 자식 VHD를 교체합니다. 그냥 호기심을 유발하는 프로그램이 있다면 일단 한번 깔아봅니다. 그런 다음 삭제하는 대신 VHD를 교체하죠. 프로그램 뿐 아니라 바로 이전 포스팅에서 질문 때문에 C 드라이브 VHD에도 비트라커를 걸어봤는데요, 일단 이렇게 한번 윈도우에 변화를 주는 작업을 하게 되면, 설정을 취소하는게 아니라 그냥 VHD를 교체해버립니다. 가장 깔끔한 복구방법이니까요.

그런데 PE로 부팅해서 자동교체 하는 시간도 이제는 너무 귀찮게 느껴집니다. 불과 30초 정도밖에 되지 않지만... 그래서 오늘부터 자식을 2개 운용하기로 했습니다. 진작에 이렇게 사용할걸 그랬네요. 1번 자식을 사용하다가 깔끔하게 되돌리고 싶으면 2번 자식을 깨끗한걸로 교체하고 2번으로 부팅하면 됩니다. 이것도 커맨드로 한방에 처리할 수 있습니다.

아마 지금 100kb짜리 깨끗한 자식 파일 가지고 계실텐데 이놈을 복사해서 2개를 새로 만듭니다. 저는 child1.vhd, child2.vhd 파일을 만들었습니다.



위 그림을 보면 자식 2개와 깨끗한 자식 1개 그리고 부모 VHD 파일이 있습니다.

이렇게 만든 VHD 파일 2개를 멀티부팅 메뉴에 등록시킵니다. 등록은 며칠전에 포스팅한 스크립트를 사용하시면 편하게 하실 수 있습니다.

2010/08/23 - [Windows 7] - VHD 파일 부팅메뉴에 간편히 등록하기

이렇게 등록하고 bcdedit을 입력해보면



이제 메모장을 열고 교체 & 부팅 기본값 변경 & 재부팅 스크립트를 작성합니다.

저는 자식 1번으로 부팅.cmd 파일을 이렇게 구성했습니다.

@echo off
pushd %~dp0
copy clean.vhd child1.vhd
bcdedit /default {78f20410-b0eb-11df-aa6f-e3d504a75150}
shutdown /r /t 0
exit

pushd %~dp0
이 명령어는 저한테 필요없지만 여러분께 필요해서 적어둡니다. bcdedit 명령어는 관리자 권한이 필요한데 UAC를 끄고 사용하거나 어드민 계정을 사용하는 경우가 아니라면 스크립트에 우클릭 해서 관리자 권한으로 실행했을 때 C:\Windows\System32 폴더를 기준으로 스크립트가 실행됩니다. 그러면 복사할 파일 경로를 전체로 적어줘야 하기 때문에 차라리 첫줄에 저렇게 넣어두는게 나아서 저렇게 해둡니다.

copy clean.vhd child1.vhd
이 명령어는 자식 1번으로 부팅할 생각이니 부팅하기 전에 먼저 자식 1번을 깨끗한 파일로 교체해주는 것입니다.

bcdedit /default {78f20410-b0eb-11df-aa6f-e3d504a75150}
이 명령어는 위 화면에서 bcdedit을 입력했을 때 나오는 자식 1번의 식별자 {GUID}를 기본 부팅 값으로 지정해주는 것입니다. 각자 자신의 컴퓨터 환경에 맞게 저 {GUID} 부분을 적어주시면 됩니다.

shutdown /r /t 0
이 명령어는 지금 바로 재부팅하겠다는 의미입니다.


저런 식으로 구성해서 메모장에 넣고 VHD 파일 모아놓은 곳에 확장자 CMD나 BAT로 저장해두면 됩니다. 지금 자식 1번으로 부팅했는지 2번으로 부팅했는지 그런건 헛갈릴 이유가 전혀 없다고 봅니다. 현재 부팅한 자식 파일이 부모의 최대 용량으로 되어 있으니까요.



저는 현재 자식 1번으로 부팅해서 글을 쓰고 있습니다. 보시다시피 child1.vhd 파일 용량이 20GB이죠. 따라서 VHD 파일을 교체할 생각이라면 자식 2번으로 부팅.cmd 파일을 실행하면 됩니다. 물론 지금은 아직 자식 2번으로 부팅한 적이 없어서 100kb 깨끗한 상태인데 평소에 2번 쓰다가 1번으로 온 상황이라면 2번 파일 크기가 1~2GB 정도는 되겠죠. 그놈을 100kb로 교체하고 그놈이 멀티부팅의 기본 메뉴가 되도록 지정하고 재부팅 하는게 위 배치파일의 역할입니다. 이것도 1,2 선택하게 메뉴를 구성하면 되지만 그러면 키보드를 한번 눌러야 하기 때문에 귀찮아서 그냥 파일 2개를 사용하기로 했습니다. 이 귀찮음의 끝은 어디일지...

아무튼 저처럼 매일 VHD 파일을 교체하시는 분들은 이렇게 사용해보세요. PE로 부팅해서 교체하던 30초를 줄일 수 있습니다. 그리고 가끔 부모 VHD로 부팅한 다음 윈도우 설정을 업데이트 하는 경우가 있는데, 그럴 때도 부모 VHD 상태에서 위 스크립트중 아무거나 하나 실행하면 그 자식이 깨끗한 놈으로 교체되고 부팅됩니다. 이제 더이상 PE로 부팅할 필요가 없어졌습니다. ^^

  1. 박문식
    2010/09/02 17:50

    흐미 이해가 안가네요?
    하여간 감사합니당~~~
    응?글적다보니 1등이네

  2. zxadqr15
    2010/09/02 19:14

    와 이거 기발하고 좋네요 ㅎㅎ 바로 적용해야겠습니다.


  3. 2010/09/02 19:28

    비밀댓글입니다

  4. BlogIcon 빛을 따라서
    2010/09/02 20:04

    늘 좋은 강좌 고맙습니다. 조금 다른 질문입니다.
    윈도우7 vhd를 생성하면서 설치하면서 xcopy 명령으로 백업을 받았는데요. 백업받은 파일이 숨김파일로 되어버렸습니다. 옵션 명령을 잘못 주었나봐요..어떻게 하면 숨김파일 속성을 지우고 나타나도록 할수 있는지요?
    그리고 cmd나 bat파일 저장할때 인코딩을 ansi형식으로 저장하면 되는지요?
    3번째 질문은 c:에 운영체재 다른 드라이(물리드라이브인지요?) 프로그램 설치 하신다 했는데, 운영체재가 여럿일때 각각 프로그램들을 설치 하시는지요?

    • BlogIcon snpbox
      2010/09/02 21:11
      수정 및 삭제

      xcopy로 뭘 어디에 백업하셨는지요? 숨김파일은 attrib 파일이름 -h 하시면 풀어집니다.

      네 ANSI로 하시면 됩니다.

      예전엔 덩치큰 프로그램을 다른 파티션에 설치했지만 지금은 DIff VHD를 활용하니 그럴 필요가 없어졌습니다. 프로그램도 C에 설치하고 있습니다.

  5. BlogIcon blc
    2010/09/02 20:50

    태풍때문에 정신이 없어서인지
    알듯하면서도 이해가 안되네요.
    내일쯤 마음을 가다듬고 다시 읽어야겠습니다.ㅎㅎ

    • BlogIcon snpbox
      2010/09/02 21:12
      수정 및 삭제

      막히는 부분 있으면 댓글 달아주세요. 저의 표현력이 부족해서 그런 것 같습니다.

    • BlogIcon blc
      2010/09/02 21:40
      수정 및 삭제

      원래는 clean을 copy할때 사용중이기때문에 pe로 부팅해서 교체하는 것인데
      2개를 사용하면 1번에서 2번을 교체할때 2번이 사용중이 아니니까 pe로 부팅안해도 교체가가능하다 이 말씀이신거죠??ㅎㅎ

    • BlogIcon snpbox
      2010/09/02 21:43
      수정 및 삭제

      네 정답입니다. ^^
      1번 사용중일때 2번 교체하기 파일을 실행하고, 2번 사용중일때 1번 교체하기 파일을 실행하는거죠.

  6. goridori
    2010/09/02 22:26

    항상 잘 보고 갑니다. 여러 블로그를 보다보면 공통적인것이 이렇게 커다란(?) 블로그 운영하시는 분들이 항상 입버릇처럼 달고 말하는 것이 "저의 표현력이 부족해서 그런 것 같습니다" 입니다. 참 겸손하신 분인듯 해요.

    • BlogIcon snpbox
      2010/09/03 19:03
      수정 및 삭제

      저는 제 머리속에 있는 내용을 쉽게 풀어내는 능력이 부족한 것 같아요. ㅠㅠ

  7. BlogIcon 빛을 따라서
    2010/09/02 23:36

    이구 또 관계 없는질문입니다..ㅠㅠ
    c: 드라이브외의 d: E: 등을 여분의 하드를 usb로 연결해서 backup라는 폴더를 만들어서 거기로 xcopy 명령에 여러 옵션을 주어서 카피했습니다. 말씀해 주신 다음의 명령으로 실행하니 "attrib 파일이름 -h"(파일이름에 폴더 이름을 넣었습니다) 시스템 파일은 변경할수 없습니다.하는 메시지가 뜨네요...ㅠㅠ

    • BlogIcon snpbox
      2010/09/03 19:04
      수정 및 삭제

      시스템 파일이면 권한이 없어서 그런 것 같네요. 관리자 권한으로 명령 프롬프트를 띄워보세요.

  8. 아이러브
    2010/09/03 00:21

    저랑 나이가 같으신 스누피님.... 글 잘 보고 가요. 노트북에서는 안그런데 데스크탑에서

    가상바이오스로 윈도우 사용하고 있는데 pe로 부팅하면 부팅시간이 오래걸리는 문제 때문에

    귀찮아서 교체를 안하고 있었는데 이런 편리한 방법이 있었네요. ^^

    오늘도 화이팅하세요 .... !!!

  9. 그나저나
    2010/09/03 00:29

    제 노트북 용량이 80GB인데 VHD 만들어 가지고 저렇게 자식 2개 운용해도 될까요?ㅡㅡ;
    용량 때문에 기존의 PE에서 교체하는 방식이 나을까요??

    • BlogIcon Shine O
      2010/09/03 01:36
      수정 및 삭제

      제가 정확히 80GB에서 돌려봐서 아는데요 자식VHD 2개 운용하는것은 한개랑 별차이 없습니다.

    • BlogIcon snpbox
      2010/09/03 19:05
      수정 및 삭제

      어차피 2개 운용해도 용량은 1~2GB 정도밖에 더 먹지 않을겁니다.

    • 그나저나
      2010/09/06 21:10
      수정 및 삭제

      고맙습니다. 일단 사용법을 완벽히 익인 후 잘 메모해 둔 후 시도해 봐야 겠습니다.^^;

  10. 네오경제
    2010/09/03 06:41

    얼티밋 버전 안 깔고 프로페셔널 깐 이 사람은 서러워서 못 살겠네요.....
    VHD 글만 보면 후회가 되어서리...

    스누피 님의 공력으로 어떻게 안 될까요? ㅎㅎ

  11. BlogIcon Nvdie
    2010/09/03 07:05

    진짜 vhd의 기술은 무궁무진하군요. 와...

  12. 레코바
    2010/09/03 14:25

    정말 좋은 정보네요. 이해는 가는데 나중에 시간날때 해봐야겠네요. 바꾸는거 역시 귀찮아서요.
    감사합니다~

  13. 이재원
    2010/09/08 10:56

    바로엊그제 윈도우 질러서 지금은 vhd등록하고 사무용모드 게임모드 장난질모드 로 구분해서
    편하게 사용하구 있습니다. 스누피님 덕에 vhd라는 놀라운 기능을 접하고 그 기술에 지금은 흠뻑 취해 컴퓨팅을 하고있는 유저입니다. 앞으로도 좋은글 많이 부탁합니다. 컴 초보라 아직은 따라하기로 만족하지만
    조만간 공부좀 해서 간단한 스크립트도 만들어 보고 싶네요 ^^
    제법 날이 차가워 졋네요 건강조심하시구 항상 좋은일만 가득하시길 기원합니다!!

    • BlogIcon snpbox
      2010/09/08 21:56
      수정 및 삭제

      역시 VHD는 마음대로 가지고 놀아도 별 부담이 없다는 점이 가장 큰 매력인 것 같습니다. ^^

  14. gaechorong
    2010/09/21 22:48

    질문 해놓고 보니, 무지한 질문이라 삭제했습니다. child2.vhd 로 넘어가면 2번파일이 clean.vhd가 카피되서 깨끗한 상태로 복원되는건데 child1.vhd 파일 용량을 보고서 왜 107KB가 아닌지 의아해하고있었네요; 그렇지만 부팅메뉴에서 자동으로 넘어가지 않는 건 잘 모르겠네요 ..ㅎㅎ;

  15. gaechorong
    2010/09/21 22:54

    아..부팅메뉴마다 식별자번호가 다르군요. 한 두글자씩.. 다 같은거라고 생각해서 복사해서 넣었더니^^; 자문자답이 되었네요. VHD 정말 편하네요. 포맷을 1초만에 끝내다니.. 좋은 포스팅 항상 감사드려요.

  16. 큰바위
    2010/11/27 23:04

    요즘 스누피님 덕분에 vhd매력에 흠뻑 취한 1인입니다 .
    그러나 제가 워낙 초보다 보니 자식 vhd는 어덯게 만드는지 .......ㅎㅎ
    찾아봐도 업는거 같아서 질문드립니다 .
    자주 와서 눈팅만 하다 이렇게 귀찮게 하네요^^

    • BlogIcon 컴퓨터수리기사
      2010/12/05 00:21
      수정 및 삭제

      시작 - cmd를 관리자 권한으로 실행 - diskpart
      -cre vdi file=부모vhd와 같은 위치\파일명.vhd parent=부모vhd의 위치\부모vhd의파일명.vhd
      하시면 됩니다. 스누피님 대신에 답변해 드리네요 ^^

  17. 컴퓨터와친해지기
    2011/01/25 18:10

    이렇게 운용하면 claen파일은 의미가 없지 않나요?

    자식1 사용하다가 더러우면 claen파일로 교체하면 되지 않나요?

    차이점이??

  18. pzp827
    2011/04/24 16:07

    vhd를 사용할수있도록 쉽게 잘 정리 해주신 스누피님께 감사합니다
    수개월째 vhd를사용하면서 v3나 알약없이 파일을 1초만에 교체하여 사용한다는것은
    혁신적인 기능입니다 무한발전과 좋은글 감사합니다

  19. 둥이아빠
    2011/07/03 10:04

    호기심많은 아들 두명이 심심하면 컴퓨터를 고장내서 윈도우 다시깔기를 수십번은 한거 같네요..
    VHD는 진짜 신세계나 다름없네요^^;:

    자식두개사용스크립터는 아니고 요거 응용해서 부모vhd에 접속해서 아들꺼 자동교체하는
    스크립터 만들었는데 ㅋㅋ..

    드뎌 아들이 컴퓨터를 망가트렸는지 부팅안되고 블루스크린 ...
    하지만 부모vhd접속되길래 교체 스크립트 실행시켰더니 바로 잘 되네요..

    앞으로도 많은 도움 얻어갈게요^^

  20. 오리짱
    2011/07/31 13:08

    ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
    정말 신세계입니다.
    한참 VHD랑 놀다보니 문득, 스누피님은 귀차니즘? ㅎㅎ
    1%의 W가 바로 스누피님이 아닐까 생각해봅니다.

    • BlogIcon snpbox
      2011/07/31 13:59
      수정 및 삭제

      오리짱님도 오랜만이네요~ 휴가는 안 가세요?
      오랫동안 공부하시느라 고생하셨는데, 시원하게 스트레스 푸시길~

  21. 망설이는 중
    2011/09/23 00:51

    안녕하세요 스누피님 직장생활은 잘 하시고 계시죠
    도움을 많이 받곤 하는 사람입니다.
    부팅메뉴는 기존자식vhd는 삭제하고 추가로 자식2개 더 늘어나겠지만 그렇잖아도 복구할 한 번 재부팅되는 시간이 걸렸었는데
    이렇게 하면 그 시간을 줄일 수 있겠군요

    또한 child3등도 구성하면 윈도우를 망가뜨리는 아들용 윈도우로 활용해도 되겠습니다.

    감사드립니다.