예전부터 이 질문을 자주 받았는데, 주말을 맞이하여 시간을 좀 내서 테스트를 해봤습니다. 결론부터 말씀드리면 잘 되더군요. 뭐 하기야 딱히 안 되어야 할 이유는 없으니까요.

우선 윈도우 비스타부터 도입되었던 시스템 이미지 백업. 아시는 분은 아시겠지만 이게 VHD 파일로 백업이 됩니다. 일단 시스템 이미지 백업에 관해서는 예전에 포스팅했던 글을 참조하세요.

2009/11/07 - [Windows 7/기타 윈도우 7 이야기] - 윈도우 7의 완벽한 복구기능을 활용해보자

그래서 많은 분들이 시스템 이미지 백업으로 만들어진 VHD 파일로 부팅하는게 가능하지 않겠냐는 궁금증을 가지셨습니다. 왜냐하면... VHD 부팅을 활용해보고 싶기는 한데, 새로 윈도우를 설치하는건 부담스럽기 때문에 현재 시스템을 그대로 VHD로 만들어서 부팅을 하고 싶었기 때문입니다.

물론 윈도우 7의 시스템 이미지 백업 기능을 꼭 활용해야 하는건 아닙니다. 그냥 VHD 파일을 하나 만들어서 마운트 시키고, 고스트같은 복제도구를 이용해서 파티션 복제를 해버려도 됩니다. 어떤 방법이든 각자 편리한 방법을 선택하시면 되겠죠.

서론은 그만두고 이제 실전으로 들어가보겠습니다. 현재 테스트 환경은 다음과 같습니다.

디스크 0
C - 20GB Windows 7 Ultimate K SP1 32bit
D - 20GB 비어있음

디스크 1
E - 100GB 비어있음

이 상태에서 디스크 0번의 C 드라이브를 윈도우 7의 시스템 이미지 백업 기능으로 VHD 파일로 백업을 받을 겁니다. 물론 E 드라이브에 백업을 받겠습니다.


여담이지만 백업받는데 2분도 채 걸리지 않더군요. 왜냐하면... VMware 머쉰 자체를 SSD에 설치했거든요.

아무튼 이렇게 백업받은 파일을 E 드라이브에서 찾아들어가 보니 용량이 5.12GB 나왔습니다. 무압축으로 백업하기 때문에 그런 것 같습니다.


이놈을 잘라내기 해서 E 드라이브 루트로 옮긴 다음 이름을 간단하게 backup.vhd로 변경했습니다. 이름이 너무 길고 복잡하면 작업하기 불편하니까요. 그리고 원래 있던 WindowsImageBackup 폴더는 삭제했습니다. 다른 파일들은 전혀 필요하지 않으니까요.


사실 지금까지는 준비운동에 불과했습니다. 시스템 이미지 백업이야 그냥 마우스 몇번만 클릭하면 누구나 손쉽게 할 수 있으니까요. 하지만 아래 단계부터는 신경을 좀 쓰셔야 합니다.

저는 이 backup.vhd 파일을 K 드라이브에 마운트 시켜놓고 작업을 하겠습니다. 꼭 K 드라이브일 필요는 없으니 각자 원하는 문자로 하세요. 그리고 마운트 작업은 디스크관리자로 처리해도 되는데, 저는 지금부터 하는 작업을 전부 커맨드로 처리하겠습니다. 초보자 분들은 정신차리고 잘 따라해보세요.

아 그리고 아래 작업들은 반드시 관리자 권한으로 명령 프롬프트를 띄우신 다음 실행해주세요.


먼저 DISKPART로 들어가서 VHD 파일을 K 드라이브로 마운트 시키겠습니다.

diskpart
select vdisk file=e:\backup.vhd
attach vdisk
select partition 1
assign letter=k
exit


여기까지 하시면 C 드라이브를 백업한 VHD 파일이 K 드라이브로 등장하게 됩니다.


이제 이 VHD 파일을 부팅메뉴에 등록해보겠습니다. bcdedit을 이용해도 되지만 어차피 마운트했기 때문에 간단히 bcdboot을 사용해봅시다.

bcdboot k:\Windows /l ko-kr


이대로 부팅하면 끝일까요?

안타깝게도 그렇지 않습니다. 가장 중요한 작업이 남아 있습니다. 바로 드라이브 문자 문제입니다. 지난번에 잠깐 언급드렸던 적이 있는데

2011/10/05 - [컴퓨터 관련 팁] - 디스크, 파티션 복제하기 - Macrium Reflect Free

위 글에서 9번 마무리 작업을 보시면 드라이브 문자 충돌 문제를 다루고 있습니다. 즉 이 백업한 VHD 파일로 부팅을 해버리면 저 파일에 들어있는 K 드라이브의 윈도우는 현재의 C 드라이브를 C 드라이브라고 인식하고 있습니다. 따라서 부팅시에 자신이 C 드라이브를 차지하지 못하게 됩니다. 그래서 바탕화면에 진입하지 못하고 먹통상태로 빠지게 됩니다.

이 문제를 해결하려면 K 드라이브에 있는 윈도우의 레지스트리를 수정해서 현재 C 드라이브가 차지하고 있는 문자를 다른 문자로 변경해줘야 합니다. 그래야 VHD 파일로 부팅했을 때 K 드라이브의 윈도우가 C 드라이브라는 문자를 차지할 수 있게 됩니다. 무슨 말인지 대충 이해는 하셨죠?

1. regedit.exe를 실행합니다.
2. HKEY_USERS 키를 선택합니다.


3. 파일 - 하이브 로드


4. 마운트한 (K 드라이브) 윈도우의 아래 파일을 선택

K:\Windows\System32\config\SYSTEM


5. 하이브 로드 키 이름은 아무거나 해도 되는데, 저는 TEST로 하겠습니다.


6. HKEY_USERS\TEST\MountedDevices로 찾아간 다음 \DosDevices\C: 부분에 우클릭 해서 이름 바꾸기를 눌러서 \DosDevices\S: 처럼 이름을 변경해주세요.


이게 끝입니다. 이대로 재부팅을 하시면 원래 C 드라이브를 차지하던 녀석은 S 드라이브로 변경되기 때문에 백업받은 VHD 파일의 윈도우가 정상적으로 C 드라이브를 차지하면서 부팅할 수 있게 되었습니다.

멀티부팅 화면에서 기본값으로 잡혀있는 Windows 7이라는 메뉴가 있는데, 그 녀석이 바로 VHD 파일입니다. 왜냐하면 bcdboot으로 등록을 하게 되면 그놈이 기본값으로 잡히기 때문입니다. 만약 이놈의 이름을 수정하고 싶다면 아래와 같이 해주시면 됩니다. 큰 따옴표 안에다 각자 원하는 부팅메뉴 이름을 적어주세요.

bcdedit /set {default} description "Windows 7 VHD"

부팅을 하게 되면 아래와 같이 멀티부팅 메뉴가 뜹니다.


그런데 첫번째 부팅시에는 일단 에러가 한번 납니다. 왜냐하면 기동중인 상태의 윈도우를 라이브로 백업했기 때문에, 이 백업된 이미지 입장에서는 켜져있는 윈도우가 저장되어 있었으니, 첫번째 부팅시에는 강제종료된 윈도우가 다시 부팅된 것처럼 인식되기 때문입니다. 신경쓸 필요 없이 표준 모드로 Windows 시작 해주시면 되구요.


보시다시피 아무런 이상 없이 바탕화면 진입 잘 되었고, 제가 S 드라이브라고 수정해줬던 기존 윈도우는 역시나 S 드라이브로 잘 잡혀 있습니다.


E 드라이브에 가서 backup.vhd 파일을 봐도 20GB로 잡혀 있습니다. 이 말은 현재 이 VHD 파일로 부팅이 된 상태라는 뜻이죠.



이 글에서 가장 중요한 부분이 무엇인지 다들 잘 아시겠죠? 기존 윈도우를 VHD로 백업한 다음 이걸로 부팅할 때는 반드시 백업본이 가지고 있던 C 드라이브에 대한 정보를 수정해줘야 한다는 것입니다.

그런데 이대로 사용하기엔 좀 불편한 점이 있을 겁니다. 기존 C 드라이브가 부팅 정보를 가지고 있는 활성 파티션인 경우가 아마 대부분일 것입니다. 따라서 현재 S로 변경된 드라이브를 포맷할 수 없을 것입니다. 포맷을 하려면 활성 파티션을 다른 드라이브로 걸어주고 그쪽에 BCD를 새로 생성해줘야 합니다. 여기에 대해서 설명을 드리려면 글이 꽤 길어질 것이고, 사용하고 있는 환경이 다 다르기 때문에 (확장 파티션, 동적 디스크, MBR, CMOS 부팅 설정 등의 문제) 설명드리기 좀 거시기합니다.

그렇다고 설명을 드리지 않으려니 그것도 좀 거시기하기 때문에, 간단히 말로만 설명을 드리자면

1. 다른 파티션에 (예를 들어 E) 활성 파티션 속성을 걸어준다.

2. bcdboot으로 다른 파티션에 (예를 들어 E) 부팅 파일을 생성해준다.
예제) bcdboot c:\windows /s e: /l ko-kr

3. 만약 E 드라이브가 물리적으로 다른 디스크라면 CMOS에 들아가서 하드디스크 부팅 우선순위를 변경해준다.

대충 이정도만 설명을 드리겠습니다. 부팅권한, 페이징파일 등의 문제를 해결하면 S 드라이브를 포맷할 수 있을 것입니다. 어차피 VHD 부팅에 관심가지시는 분들은 어느정도 부팅 영역에 대해서 이해를 하고 계시리라 생각하기 때문에, 셀프로 충분히 잘 해결하시리라 믿겠습니다. ㅠㅠ
신고
Share
  1. 이전 댓글 더보기
  2. BlogIcon Wing4Bee
    2012.06.05 03:35 신고

    멋집니다~

  3. 서태영
    2012.06.18 08:41 신고

    슬쩍슬쩍 몰래들어와 유익한 내용 잘 보고 있습니다~ 매우 흥미롭습니다

    그런데 우리나라에 VHD 관련 서적이 있을까요?

    VHD관련 서적 추천해줄실수 있으시면 부탁드립니다

    좋은날 되세요~

    • 가자™
      2012.10.10 07:55 신고
      수정 및 삭제

      스누피님의 VHD관련 글을 주의깊게 살펴보시면 궂이 책자를 사서 볼일은 없을 것 같습니다.
      VHD관련하여 너무나도 체계적으로 정리해 놓으셨습니다.
      저도 스트피님의 블로그에서 VHD라는것을 접하고 고맙게 활용하고 있습니다.

  4. BlogIcon YJM
    2012.07.13 13:43 신고

    와 정말 볼때마다 감탄하고 있습니다. 많이 알고 계신것뿐만 아니라 설명도 이해하기 쉽게 잘 풀어해주시는 것 같아요. 오늘도 공부 열심히 하고 갑니다. 항상 건필하세요^^

  5. 서주안
    2012.09.04 09:54 신고

    안녕하세요, 제가 vdh 깊은관심이 생겨서 공부좀 해보려고 하는데 도통 무슨말인지 하나도 모르겠다는...
    그래서 말인데 vdh 기초?를 좀 공부하면 알아들을수 있을것 같은데, 참고하거나 공부할만한거 있을까요?

  6. MAX
    2012.10.05 14:33 신고

    다하고... 부팅하는중 파란화면 드네요.. 에효.. 어떻게 해야될지 모르겠네요 이미지 25기가짜린데 혹시 25기가 vhd 파일과 4기가짜리가 또 있던데 이것때문에 그런가? 에효 파란화면 잡아주세요 ㅠㅠㅠ

    • 가자™
      2012.10.10 07:57 신고
      수정 및 삭제

      VHD용량이 25G라면 최소한 디스크 용량은 50G이상이어야 합니다.
      그보다 부족한 용량이라면 블루스크린에서 벗어날수 없습니다.

  7. 애완개리온
    2012.11.12 06:17 신고

    마지막에 활성파티션 속성거는걸 활용하면
    제가 지금 현재쓰고있는 랩터74G의 부모.vhd를 새로산SSD에 복사해서
    하드만 바꿔서 vhd를 운용할수있을까요?

    이에 대해 포스팅한번만 해주시면 어떠실지...'새로운하드에 vhd 복사부팅' 정도랄까요
    너무 간단해서 포스팅이 없는건가요; 쿨럭


  8. 2012.12.07 18:19 신고

    이렇게 하면은
    공용컴퓨터에서 다른사람이 프로그램 깔거나 c에 이상한거 설치해도 재부팅시 원래대로 되돌아 오나요?

  9. rnjsghtjd
    2012.12.09 10:37 신고

    vhd 생성후 리부팅하면 생성했던 vhd 드라이브 가 없어 지는 현상은 어떻게 해결해야 되는지요

  10. 강나루
    2013.01.08 03:00 신고

    스누피님 질문이 잇는데요.
    기존에 윈도7이 깔려 있는데 이걸 그대로 두고, 또 다시 vhd로 윈도7을 깔아서 부팅해서 사용할 수 있나요?
    만약 된다면, 파일 교체는 그냥 같은 파티션에 있는 vhd로 교체해서 쓰면 되는 건가요?

  11. BlogIcon lynminpa
    2013.01.28 09:40 신고

    조금 다른 얘깁니다만 염치불구하고 여쭤봅니다^^

    위와 같이 기존 windows를 이미지백업하여 부팅까지는 해보았는데요...
    이 vhd 이미지를 Windows Virtual PC로 불러서 띄울 수는 없는지요?
    vmc/vmcx화일을 만들고 vhd를 링크시켜줘도 부팅할 수 없다고 에러메시지를 뿌리네요...
    VPC상태에서 Win dvd 이미지로 부트해서 shift+F10, MBR다시 잡고 그런걸해도 안되네요???
    불가한 건가요? 아님 어떻게 boot를 조정해줄수가 있는건지요?

    반대로, 원래 VPC로 만든 win7이미지(vhd)는 부팅용도 및 VPC용도로 2가지 목적으로 상호사용이 불가한지요?

  12. vea
    2013.03.13 08:15 신고

    매번 좋은글 덕분에 많이 얻어가는 눈팅유저입니다.
    여쭤보고싶은게 있는데..

    음... 일단 1.vhd라는 파일이 윈도우가 설치되어있다는 가정하에.
    하드로 부팅후 1.vhd파일을 마운트시켜서 그안에있는 윈도우 레지 수정이 혹시 가능할까요?
    vhd안에있는 regdit을 실행시키면, 현재구동중인 OS의 레지값이 올라오더라구요..

  13. 정보문
    2013.04.16 09:41 신고

    먼저 감사의 말씀을 전하면서...

    전산실에 30대의 컴퓨터가 있어요. 동일 기종이죠.
    1대를 VHD세팅 마치고, 고스트로 디스크 이미지를 떠서, 29대에 멀티캐스트 방식으로 뿌리려고 해요.
    그런데 안 되네요. (고스트는 5년 이상 써서 고스트 작업에 오류는 없다고 봅니다)
    guid와 osdevice 연결이 이상하게 됩니다.

    그래서 국정원(?) 하드 복사기로 복사하니까 되네요..

    고스트로 안 될 이유가 있을까요? 뭘 놓친걸까요?

  14. 코난
    2013.04.27 21:35 신고

    스누피님.도움 좀 주세요.
    늘 좋은 글을 안내해 주셔서 감사드립니다. 다만 윈도우8 출시 후 VHD에 몰입되어 있는 몰입자(?)입니다.

    [질문] 윈도우8을 사용해 보고 싶어서 윈도우7(홈프리미엄)에 업그레이드 방식(사유: 윈도우7 환경 유지)으로 설치했으나 느린 속도의 원인을 찾지 못해서 아쉽게도 일단 윈도우8을 완전히 재설치 했습니다. 물론 윈도우7에서 미리 시스템 백업 기능을 사용해 이미지 형태(vhd)로 파일을 다운받아 보관했습니다. 새로 설치된 윈도우8은 그야말로 정말 날아다니는 기분입니다. 그래서 기존 백업 받았던 윈도우7 이미지 파일을 가상디스크로 연결하였고, 이내 vhd 부팅을 시도하기 위해 작업을 완료했는데 아뿔싸 깜빡 잊었습니다. 윈도우7 가상 디스크 vhd 부팅은 얼티밋트, 엔터프라이즈 버전부터 해당된다는 것을요. 그래서 여기저기 알아보았으나 기존의 윈7이미지로 재부팅할 수 있는 방법을 멀티부팅으로 재부팅할 수 있는 묘안이 떠오르지 않아 며칠째 고민중입니다. 기존의 윈7홈프리미엄버전이 일단 vhd 부팅이 되어야 업그레이드(anytime upgrade)해 볼 수 있는데 어쩌죠? 윈도우8과 기존 윈도우7을 멀티부팅으로 쓸 수 있는 방법이 있는지요? SOS 요청합니다.

    • 캐초보
      2013.07.16 13:08 신고
      수정 및 삭제

      윈도우8을 백업받으시고(가능하면 새로설치) 기존 윈도우7을 복원하신후에 윈도우8 프로 이상의 버전을 vhd에 설치(또는 기존 백업 활용)하시면 되지 않을까요?

  15. 나그네
    2013.06.16 14:57 신고

    안녕하세요 검색을 통해 우연히 알게 됐는데 정말 정보가 넘치고 좋은 사이트인것 같습니다.
    좋은 정보 제공해 주셔서 너무 감사합니다~
    다름이 아니라 제가 VHD를 사용하다가 궁금한 점이 있어서 이렇게 글을 올립니다.
    이 글과는 무관하지만 스누피님께 여쭤보고 싶은게 있어서요
    제가 VHD로 가상하드를 만들어서 사용하는이유중의 하나가 중요한 자료를 숨겨두고 필요할 때만 마운트 시켜서 사용하기 위함인데요
    VHD는 그 특성상 하나의 가상 하드를 만들고 그안에 파일을 쓰는거잖아요. 그러면 나중에 이 VHD 파일만 지워버리면 복구 프로그램( 파이널 데이터 등)으로 안에 들어있는 내용을 살릴 수가 없나요?
    한가지 예를 들면 이런겁니다.
    VHD 파일안에 다수의 pdf 파일과 hwp 파일이 존재한다고 가정하면
    나중에 하드에서 VHD 파일만 지우면 데이터 복구 프로그램으로 복구를 하면
    1. VHD 파일만 복구가 되는지
    2. 아니면 *.pdf와 *.hwp 파일이 다 복구가 되는지 그게 궁금합니다.
    긴글 읽어주셔서 감사하구요 답변 기다릴께요~
    미리 감사합니다. (꾸벅)

  16. BlogIcon 오션!
    2013.09.12 09:32 신고

    안녕하세요. 항상 도움 많이 받고 있습니다.

    기존에 SSD에 운영체제를 깔아 사용하다가 SSD가 용량이 너무 모자라서 그냥 하드디스크로 돌아가려고 이 게시물을 보고 백업을 한 다음에 그 VHD를 이용해서 부팅까지는 성공했습니다.
    그런데 SSD를 제거하니 부팅이 안되고 PE 에서 bcdedit 명령어를 치니
    '부팅 구성 데이터 저장소를 열 수 없습니다. 요청한 시스템 장치를 찾을 수 없습니다'
    라는 에러 메시지가 나오네요.
    지금 그 SSD는 포맷해버렸는데 Windows7 복구디스크는 있습니다.
    번거롭게 해드려 죄송하지만 해결할 방법이 있을까요?
    참조할 게시물이 있다면 알려주셔도 감사합니다. 수박 겉핥기 식으로 따라만 하다보니 봐도 어떤건지 잘 모르겠더라구요 ㅠㅠ

  17. Humanavi
    2014.03.25 01:52 신고

    와...정말 엄청난 도움이 되었습니다.
    제가 동생하고 같이쓰는 넷북이 있는데 스타터k의 퍼포먼스가 너무 떨어져서 C:\를 백업후 프로페셔널k로 업그레이드를 했거든요..근데 업그레이드를 하고나니 막상 백업해둔 파일들을 어떻게 불러와야할지 몰라서 막막할때 이런 구원의 손길이라니..아 그리고 저도 나그네님과 같은게 궁금하네요..일단은 가상 마운트를 통해서 필요한 파일들을 다시 D:\로 옮겨왔는데 vhd파일을 지워도 멀쩡한지..

  18. 차평석
    2014.04.23 12:23 신고

    노트북 Dell M4700 사용 중입니다. MSATA SSD 256기가를 메인으로 사용하고 SATA 500기가를 데이터용도로 사용합니다. 메인을 128기가씩 두 개로 나눈 다음 C, D로 할당하고 데이터하드를 E로 할당한 후에 C에 윈도우7을 설치하였습니다. 그런 다음 시스템이미지를 만들고 게시글에 나온대로 또옥같이 했더랬습니다. 참, VHD 파일을 D에 위치시킨 것만 다르네요. D의 ROOT에 둔 것은 아니고 폴더를 만들어서 그 안에 넣어두었습니다.
    아무튼 모든 작업이 순조롭게 되어 재부팅하니까 부팅메뉴가 뜨고 VHD로 선택하니까 부팅절차가 진행되다가 블루스크린이 떴습니다. 내용은 VHD로 니가 부팅하였는데 공간이 부족하드라 .. 뭐 이런 내용이었죠. VHD 파일이 21기가였고 D는 128기가인데 왜 공간이 부족할까..고민입니다. 왜 그럴까요?

  19. 박재형
    2015.01.24 09:54 신고



    후..vhd부팅하기힘드네요.

    현재 ssd에 os및 프로그램설치, 최적화를 마친상태입니다

    이상태에서 windows 복원을이용하여 vhd파일을 만들었는데요

    그런데 제가 스누피님 블로그에서봤을땐 고용량의 vhd파일하나가만들어지는데

    제컴퓨터는 25기가의vhd파일1개와 58메가의vhd파일1개가 생성됩니다.

    그리고 25기가의 vhd파일로 부팅을하니 블루스크린이뜨네요.

    왜 이럴까요? ㅠㅠ

    이문제만해결되면 바로 자식vhd만들고 사용할수잇을것같은데 정말힘드네요. 꼭좀 알려주세요 ㅠㅠ

  20. 배현두
    2015.02.13 11:54 신고

    WIN7 VHD로 만든것을 IODD에서도 사용이 가능한가요

  21. 전산팀
    2016.06.01 22:23 신고

    데이터 백업 vhd로 해 놓은 상태에서.
    랜섬웨어 걸렸을 경우 vhd 파일은 랜섬웨어 걸리지 않아
    금일 복구 성공했네요.
    감사합니다.