새 컴퓨터에 윈도우 7 VHD 패밀리 구성하기

Jmnote (토론 | 기여)님의 2014년 3월 15일 (토) 00:40 판 (→‎같이 보기)
  • 새 컴퓨터에 윈도우 7 VHD 패밀리 구성하기
  • VHD family

1 개요

  • VHD 패밀리는 스누피가 제안한 가상하드(VHD) 1 부모, 3 자식 체제이다.
  • 이 체제를 갖추면 특별한 절차 없이 재부팅만 한번하면 복원지점으로 돌아갈 수 있다.
  • 복원에 드는 시간이 매우 적기 때문에 원할 때마다 부담없이 할 수 있다.
스누피 테스트 결과 15초, 일반적인 SSD 환경에서 25초 이내.
  • 고스트나 알백 같은 백업/복원 솔루션이 필요없게 된다.
  • 윈도우 7 Enterprise, Ultimate 판에서 가능하다.

2 구조

  • 부모: 가상하드 이미지. (복원지점)
  • 자식: 부모 이미지의 변경분.
    • clean.vhd : 깨끗한 자식. 부모에서 변경된 부분이 없음. 보관용이며 mount하는 경우는 없다. child를 복구할 때 이것을 복사해간다.
    • child1.vhd, child2.vhd : 실제로 mount하여 사용하는 자식 이미지. 평소 이중 하나를 사용하게 될 것이다.

3 준비물

  • SSD가 장착된 새 컴퓨터
  • 윈도우 7 설치파일 (Enterprise 또는 Ultimate)
  • 외장하드(또는 USB 메모리)
SSD가 없어도 가능하다. 다만 VHD 사용하는 자체로 어느 정도 성능 저하가 있기 때문에 일반 하드에 구성하는 것은 권장하지 않는다. 그래도 성능저하가 크지는 않기 때문에 SSD로 VHD을 구성할 경우 VHD의 성능저하를 보상하고도 남는다. 따라서 비VHD 비SSD 구성보다는 훨씬 빠르다.

4 외장하드로 윈도우 설치본 만들기

5 SSD 포맷하고 VHD 만들기

(참고자료: http://snoopybox.co.kr/852)

  • 외장하드로 부팅
  • Windows 설치 --- [다음]
  • [지금 설치]
  • [v] 동의함 --- [다음]
  • [사용자 지정(고급)]
  • 디스크 0 할당되지 않은 공간 --- [드라이브 옵션(고급)] --- [새로 만들기(E)] --- [적용] --- [포맷]
  • 파티션에는 ... 데이터가 손실됩니다. --- [확인]
  • Shift + F10
  • cmd 창에서 아래 명령어 실행
아래 예시에서는 VHD에 30GB(=30720MB)를 할당함.
X:\Sources>c:

C:\>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 1234-5A6B

 C:\ 디렉터리

파일을 찾을 수 없습니다.

C:\>diskpart

Microsoft DiskPart 버전 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
컴퓨터: JMNOTE

DISKPART> create vdisk file=c:\win7.vhd maximum=30720 type=expandable

  100 퍼센트 완료

DiskPart가 가상 디스크 파일을 만들었습니다.

DISKPART> attach vdisk

  100 퍼센트 완료

DiskPart가 가상 디스크 파일을 연결했습니다.

DISKPART>
  • cmd창 닫기
  • [새로 고침(R)] ---> 방금 만든 가상디스크가 추가됨 (예: 디스크 3 할당되지 않은 공간 30.0GB)
  • 가상 디스크 선택 --- [다음]
  • Windows 설치... (이후 일반적인 설치과정 진행)

6 윈도우 설치

  • 윈도우 설치
  • 드라이버 설치
  • 정품 인증

7 기초 설정 1

  • 바탕화면의 메신저 센터, 미디어 플레이어 센터 아이콘 삭제
  • 입력 도구 모음 숨김
  • 컴퓨터 관리 --- 저장소 --- 디스크 관리

디스크 초기화 창

논리 디스크 관리자가 디스크에 액세스하기 전에 디스크를 초기화해야 합니다.

(v) 디스크 0

  • (o) MBR
  • ( ) GPT

8 기초 설정 2

9 VHD 최적화

  • 필수 응용프로그램 설치

10 child들 생성

  • 윈도우 재부팅시 F8
  • [윈도우 복구]
  • 시스템 복구 옵션 --- [다음(N)] --- [명령 프롬프트]
Microsoft Windows [Version 6.1.7601]


X:\windows\system32>diskpart

Microsoft DiskPart 버전 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
컴퓨터: JMNOTE-ABCDEFG
 
DISKPART> create vdisk file=c:\clean.vhd parent=c:\win7.vhd
 
  100 퍼센트 완료
 
DiskPart가 가상 디스크 파일을 만들었습니다.
 
DISKPART> create vdisk file=c:\child1.vhd parent=c:\win7.vhd
 
  100 퍼센트 완료
 
DiskPart가 가상 디스크 파일을 만들었습니다.
 
DISKPART> create vdisk file=c:\child2.vhd parent=c:\win7.vhd
 
  100 퍼센트 완료
 
DiskPart가 가상 디스크 파일을 만들었습니다.

DISKPART> exit

DiskPart 마치는 중...

X:\windows\system32>exit
  • [다시 시작(R)] --> 재부팅 됨

11 child VHD 부팅메뉴 등록

(참고자료: http://snoopybox.co.kr/1405)

  • BCD 종합 관리도구 다운로드
  • CMD 파일 실행 --- [4. VHD 파일 부팅 메뉴에 등록하기] --- [D:\child1.vhd] --- [Windows 7 - Child 1] --- [Y] --- 창닫기
  • CMD 파일 실행 --- [4. VHD 파일 부팅 메뉴에 등록하기] --- [D:\child2.vhd] --- [Windows 7 - Child 2] --- [Y] --- 창닫기6

12 cmd 파일 생성

  • [윈도우 버튼] --- [cmd]
  • 다음과 같이 명령어 입력하여 Parent, Child 1, Child 2의 identifier 확인
C:\Users\jmnote>bcdedit -v | findstr "\-\- identifier description"
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
description             Windows Boot Manager
-------------------
identifier              {094df4be-36d7-11e1-9d5e-f91aa44ec368}
description             Windows 7
-------------------
identifier              {094df4bf-36d7-11e1-9d5e-f91aa44ec368}
description             Windows 7 - Child 1
-------------------
identifier              {094df4c0-36d7-11e1-9d5e-f91aa44ec368}
description             Windows 7 - Child 2

여기서는 부모가 094df4be-..., 자식1이 094df4bf-..., 자식2가 094df4c0-...임을 알 수 있음

  • [윈도우 버튼] --- [D:] ---> 탐색기 실행됨
  • 마우스 우클릭 --- 새로 만들기 --- 텍스트 문서 --- [자식교체.cmd]
  • 마우스 우클릭 --- 새로 만들기 --- 텍스트 문서 --- [parent.cmd]
  • 자식교체.cmd 우클릭 --- [편집]
자식교체.cmd
@echo off
pushd %~dp0
bcdedit /default {094df4bf-36d7-11e1-9d5e-f91aa44ec368} & copy clean.vhd child1.vhd
if errorlevel 1 bcdedit /default {094df4c0-36d7-11e1-9d5e-f91aa44ec368} & copy clean.vhd child2.vhd
shutdown /r /t 0
exit
  • parent.cmd 우클릭 --- [편집]
parent.cmd 내용
@echo off
pushd %~dp0
bcdedit /default {094df4be-36d7-11e1-9d5e-f91aa44ec368}
copy clean.vhd child1.vhd
copy clean.vhd child2.vhd
shutdown /r /t 0
exit
  • 자식교체.cmd 더블클릭
  • THE END!

13 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}