본문 바로가기

프로그램

Windows 7의 VHD 기능

사실 그동안 VHD 관심이 있었습니다. 특히 수개월마다 윈도우를 재설치하는 저로서는 윈도우를 재설치할 때마다 소비되는 시간과, 수많은 프로그램을 다시 설치해 주는 귀찮음을 느끼고 있어 Differencing VHD에 특히 관심을 갖고 있었습니다.

며칠전 예기치 않게 생긴 CPU녀석 때문에, 역시나 예기치 않은 시스템 업그레이들 했습니다. CPU와 메인보드, 그래픽카드만 업그레이드를 했는데, 그러고나니 이 기회에 VHD도 적용해 봐야겠다고 마음먹어 관련글을 검색해 적용시켰습니다. 역시나 설정이 약간 귀찮기는 하지만, 일단 적용하고 나면 이보다 편한게 없군요... 며칠 사용했는데, 더럽게 이것저것 설치하다가 완벽한 순정으로 되돌리는 시간이 5분도 채 걸리지 않습니다.

하지만 VHD가 완벽한 기능은 아닌 것 같습니다. 경우에 따라 '부모 VHD'를 재생성 해줘야 하는 경우가 생길 수도 있을 듯 한데, 그런 경우 백업해 두었던 '자식 VHD'는 모두 쓸모없게 되니 말입니다. 어쨋든 '부모 VHD'를 재생성해야 하는 경우를 대비하기 위해 참고했던 글들과 제 적용사례를 간단히 적어두려 합니다. 단, 제 적용사례는 안읽으시는 편이 더 좋습니다. 어차피 VHD의 적용은 사용자마다 설정을 어떻게 하느냐에 따라 달라지므로, 제 경우는 전혀 도움이 되지 않으실겁니다. 링크한 관련글을 탐독하시는 걸 추천합니다.

1. 기본사항
윈도우 7 VHD 부팅과 활용 방안 [바로가기]

2. 설치 및 활용
윈도우 7 VHD 만들어서 설치하기 [바로가기]
윈도우 7의 VHD 부팅기능을 활용해보자 [바로가기]
윈도우 7의 Differencing VHD 기능을 활용해 보자 [바로가기]
VHD 파일 교체하기 귀찮다면 자식 2개를 운용해보자 [바로가기]
Differencing VHD에서 항상 깨끗한 VHD로 부팅하기 [바로가기]

3. 부팅메뉴
PE를 멀티부팅 메뉴에 등록하기 [바로가기]
VHD 파일 자동교체 부팅메뉴 등록하기 [바로가기]
VHD 파일 부팅메뉴에 간편히 등록하기 [바로가기]
윈도우 7 멀티부팅 메뉴 삭제하기 [바로가기]
윈도우 7 멀티부팅 메뉴 이름 한방에 변경하기 [바로가기]

4. 기타사항
Expandable VHD 용량 최적화 하기 [바로가기]
윈도우 7에서 VHD 파일 간단히 생성하기 [바로가기]
윈도우 7에서 VHD 파일 마우스 우클릭으로 관리하기 [바로가기]



적용사례

※ 다시 말씀드리지만 이 적용사례는 저에게만 유용할 뿐, 다른분들이 보시고 따라하시면 원하시는 것과 전혀 다른 결과를 얻으실 수 있으니 주의하시기 바랍니다.

1. VHD 만들기
   * Windows 7 DVD로 C: 포맷한다.
   * Windows 7 설치화면에서 Shift + F10 키를 눌러 cmd 창을 연다.
   * DISKPART를 이용해, VHD를 생성하고 마운트한다.

x:\source> diskpart
x:\source> create vdisk file=c:\win7_main.vhd maximum=40960 type=expandable
x:\source> attach vdisk
x:\source> exit

   * 생성된 win7_main.vhd에 Windows 7을 설치한다.


2. 클린 원본 백업
   * PC를 재부팅하면서 Windows 7 DVD를 이용해 마찬가지로 cmd창을 연다
   * 윈도우만 설치된 클린버전을 C:의 VHD폴더에 백업한다

x:\source> copy c:\win7_main.vhd c:\VHD\win7_main_clean.vhd


3. 기본프로그램 설치 및 PE 부팅메뉴 등록
   * PC를 재부팅하고 Windows 7에 드라이버와 메인프로그램을 설치한다.
   * 원본 Windows 7 DVD의 source폴더에서 boot.wim 파일을 D: 최상위로 복사한다.
   * 원본 Windows 7 DVD의 boot폴더에서 boot.sdi 파일을 D: 최상위로 복사한다.
   * PE를 부팅메뉴에 등록하는 cmd파일을 관리자 권한으로 실행한다.(링크참고)


4. 자식 VHD 생성
   * PE로 재부팅한다.
   * DISKPART로 자식 VHD를 생성하고 마운트한다.

x:\source> diskpart
x:\source> create vdisk file=c:\win7_sub.vhd parent=c:\win7_main.vhd
x:\source> attach vdisk

   * win7_sub.vhd가 마운트된 드라이브를 확인하고 DISKPART를 종료한다.

x:\source> list vol
x:\source> exit

  * 자식 VHD 부팅메뉴에 등록

x:\source> bcdboot h:\windows /l ko-kr


5. 자식 VHD 삭제, 재생성, 백업
   * PC를 재부팅한 뒤 다시 PE모드로 진입한다.
   * 자식 VHD를 삭제하고, 다시 한번 같은 이름으로 재생성한다.

x:\source> del c:\win7_sub.vhd
x:\source> diskpart
x:\source> create vdisk file=c:\win7_sub.vhd parent=c:\win7_main.vhd
x:\source> exit

   * 생성된 win7_sub.vhd를 백업한다.

x:\source> copy c:\win7_sub.vhd c:\VHD\win7_sub_clean.vhd


6. 부팅 엔트리 정리 및 서브 프로그램 설치
   * win7_sub.vhd로 부팅한 뒤 실행에서 msconfig를 실행한다.
   * 시스템 구성창이 열리면 부팅탭으로가서 win7_main.vhd의 부팅메뉴를 삭제한다.
   * 서브프로그램을 설치한다.


7. 프로그램을 모두 설치한 자식 VHD를 한번 더 백업해 둔다.
   * PE로 부팅해 cmd 창을 열고, 프로그램이 설치된 win7_sub.vhd를 백업한다.

x:\source> copy c:\win7_sub.vhd c:\VHD\win7_sub_ext.vhd


※ 색깔로 표시된 부분은 변경가능