본문 바로가기

IT 정보/컴퓨터

VHD 로 WIndows 시스템 구성

반응형

VHD 이전의 OS들은 사용중인 OS 파티션을 고스트로 백업받아 놓고 원복하는 방법으로 윈도우 재설치를 대신 했습니다.

하지만 VHD의 경우는 VHD 파일만 백업 받아 놓으면 언제든지 백업받아 놓음 VHD 파일 복사만으로 원복이 가능합니다. 이글에서는 초기 윈도우 VHD를 만들고 부팅 메뉴에 등록하는 방법에 대해 써보겠습니다.


1. Windows 7 Ultimate 를 VHD에 풀긴만해서 보관 

2. 하드디스크에 VHD 복사

3. 부팅 메뉴 등록

4. Child VHD 생성 & 메뉴 등록


부록. 빈 VHD 파일 만들기


1. Windows VHD 만들어 놓기

install.wim 파일에서 VHD 가능한 에디션(윈7-Enterprise, Ultimate, 윈8-Pro)을 VHD 파일을 만들어 풀기를 실행합니다. 이때 maxsize는 적게, 동적 할당으로 해두는게 좋습니다. VHD 크기 확장은 간단하지만 축소는 어렵기때문입니다.

32비트의 경우 10 GB, 64비트의 경우 15 GB 정도면 충분합니다.


1) Wim ==> VHD 파일 만들기


1) Wim2VHD.wsf 사용하기


아래 microsoft 링크 들어가서 Downloads Tab에서 다운 받을 수 있고 설명도 되어 있습니다.(영어)

http://archive.msdn.microsoft.com/wim2vhd


Windows 8에서는 Convert-WindowsImage.ps1 로 바뀐거 같습니다.

http://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f


cscript wim2vhd.wsf /wim:e:\image\install.wim /sku:6 /vhd:d:\_vhd_\windows7_x86.vhd /size:10246 /disktype:dynamic 

cscript wim2vhd.wsf /wim:e:\image\install.wim /sku:11 /vhd:d:\_vhd_\windows7_x64.vhd /size:15366 /disktype:dynamic 

Option

설  명

/wim:

wim 파일의 전체 경로를 적어줍니다.

/sku:

만들고 싶은 Edition의 이름(ex. ultimatek) 이나 index 번호를 적어줍니다.

Windows 7 Starter까지 들어있는 11in1 이라면 Ultimate는 6번, 11번 일겁니다.

/vhd:

생성할 vhd 파일 전체 경로를 적어줍니다.

/size:

생성할 vhd의 최대 크기를 적어줍니다. 

몇MB 더 크게 적으면 9.9 GB가 아닌 10.0 GB로 생성됩니다.

/disktype:dynmic

동적 할당으로 생성합니다. 생략하면 고정 크기로 생성됩니다.


주의 사항 위 명령을 실행시키면 TEMP 에 윈도우 이미지를 모두 풀어 놓고 씁니다. 램디스크 쓰는 분은 Temp 의 용량이 그리 크지 않기때문에 에러납니다.
이럴땐 WIM2VHD.WSF 파일을 Text Editor로 열어서 1414라인을 수정해서 쓰면 됩니다.

1414 라인 : g_tempPath = shell.ExpandEnvironmentStrings("%temp%") + "\\" + g_ScriptName;

==> g_tempPath = "E:\\temp" + g_ScriptName;


Wim2VHD의 경우 Wim 파일에서 특정 에디션을 VHD로 풀어주는 것이고 Disk를 VHD로 바꿔주는 프로그램도 있는데 아래 링크에서 다운 받을 수 있습니다.

http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx


2) imagex.exe 사용하기

imagex 로 특정 위치에 해당 에디션을 풀어넣을 수가 있습니다. 하드에 바로 풀어도 되고 vhd를 mount하고 풀어도 됩니다. diskpart 를 실행하고 아래 명령을 순서대로 실행합니다.


diskpart

   create vdisk file=d:\_vhd_\windows7_x86.vhd maxsize=10246 type=expandable

   attach vdisk

   create partition primary

   format fs=ntfs quick

   assign letter=z

   exit        <=== 아래 imagex 명령을 다른 command창을 띄워서 한다면 exit 안해도 됨.


imagex /apply e:\image\install.wim 6 z:


diskpart

   select vdisk file=d:\_vhd_\windows7_x86.vhd

   detach vdisk

   exit


2. 하드디스크에 VHD 복사


Windows 7부터의 Windows 설치는 위 1)과같이 디스크에 WIndows 파일들을 그냥 풀어주고 리부팅한후 계정 설정과 H/W  driver 설치 등등의 작업을 하게 됩니다. 그러므로 위와 같이 VHD를 만들어 놓으면 윈도우 dvd로 파티션 설정하고 파일을 복사중입니다.까지의 작업을 대신하게 되는거죠.


1)에서 생성된 파일을 하드나 외장하드 등에 보관해두고 새하드에 복사만해서 부팅 메뉴에 등록만 해주면 됩니다.

만약 maximum size를 더 크게 하고 싶다면 "VHD 파일 관리" 글에 있는 확장 방법을 쓰셔도 되고 아니면 아래 명령으로 더 큰 사이즈의 vhd를 생성하면 됩니다. 만약 고정 크기 방식으로 바꾸겠다면 type=fixed를 적어주면 적용됩니다.


diskpart

   create vdisk file=d:\windows7.vhd source=e:\image\windows7_x86.vhd maximum=30766 type=fixed

   exit


3. 부팅 메뉴 등록


이제 vhd 파일이 준비되었으니 이 vhd 파일으로 부팅하게 등록해야겠죠.

만약 새컴퓨터/새하드라면 usb나 외장하드에서 pe 부팅해서 작업하거나 윈도우 설치 dvd 부팅해서 Shift+F10을 누르면 나오는 command 창에서 작업하면 됩니다.


만약 새하드나 기존에 WIndows를 사용안했던 디스크라면 활성 파티션을 설정해야 부팅이 됩니다. 컴퓨터는 해당 디스크의 활성화 파티션을 찾아가서 부팅 작업을 하거든요.


  • 활성 파티션 만들기(활성화가 되어 있으면 안해도 됩니다.)

명령어

설  명

diskpart

diskpart 를 실행해서 아래 명령어들을 입력합니다.

   list disk

disk 목록을 보고 새하드의 번호를 확인합니다.

   select disk 0

위에서 확인한 번호의 disk를 선택합니다.

   list partition

파티션 정보 확인

   select partiton 1

보통 첫번째 파티션에 설치하니 1번

   active

활성화!!!

   exit

diskpart 종료


  • Parent VHD를 메뉴 등록

   Windows DVD등으로 설치할때 vhd를 생성해서 설치했다면 자동으로 등록되어있습니다.

Command 창 #1

Command 창 #2

diskpart

  create vdisk file=d:\win7_parent.vhd maximum=10246 type=expandable

  attach vdisk

  select partition 1

  assign letter=z   

=====> Command 창 #2 명령어 실행

z: - 위의 diskpart 명령에서 assign 해준 드라이브명

d: - boot파일들을 설치할 하드 드라이브 명. 

bcdboot z:\windows /s d: /l ko-kr



=====> Command 창 #2 명령어 실행

만약 XP만 설치된 디스크에 VHD를 추가하는거라면 MBR을 업데이트 해줘야지만 합니다.

bootsect /nt60 d:

   detach vdi

   exit


4. Child VHD 생성 & 메뉴 등록

Parent VHD로 Child VHD를 생성하고 부팅 메뉴에 등록한 후에 초기화를 위한 깨끗한 Child VHD를 생성합니다.

백업 받아둔 clean child vhd의 실제 사이는 8~90 KB 정도이다.

Command 창 #1

Command 창 #2

diskpart 
create vdisk file=d:\Win7_Client.vhd parent=d:\win7_parent.vhd

attach vdisk 
assign letter=z




copy d:\Win7_Client.vhd d:\Win7_Clean.vhd

부팅 메뉴 등록 : 옆 명령어 실행 ==>

bcdboot z:\windows /s d: /l ko-kr

d: => 부트매니저가 설치된 드라이브명

detach vdi


옆 명령어 실행 ==>



delete d:\Win7_Clean.vhd

앞에서 attach가 되었기 때문에 파일크기가 꽤 커져 있기때문에 삭제하고 다시 만든다.

create vdisk file=d:\Win7_Client.vhd parent=d:\win7_parent.vhd


옆 명령어 실행 ==>

exit

초기화 시킬 때 사용할 clean child vhd를 복사해둔다.


copy d:\Win7_Clean.vhd d:\Win7_Client.vhd


저의 경우는 Child VHD를 2개(Win7_Client.vhd, Win7_temp.vhd) 만들어서 사용합니다.

Win7_Client.vhd를 메인으로 쓰고 Win7_temp.vhd는 Win7_Client.vhd를 초기화 할때 쓰거나 Active-X 지겹게 설치되는 인터넷 뱅킹/홈택스 등을 쓸때나 Portable 프로그램 만들때 Win7_temp.vhd로 부팅해서 잠깐 쓰는 용도입니다.


같은 Child를 2개 만드는 방법은 그냥 복사하고 부팅메뉴에만 등록하면 됩니다.

위의 명령들 중에서 create vdisk file=d:\Win7_Client.vhd parent=d:\win7_parent.vhd 대신

copy d:\Win7_Client.vhd d:\Win7_temp.vhd 로 복사하고 나머지 명령들로 부팅 메뉴 등록하면 됩니다. 같은 Parent VHD에 같은 레벨의 자식이기 때문에 d:\Win7_Clean.vhd 하나로 둘다 초기화 할 수 있으니 따로 Clean_temp.vhd 같은건 안만들어도 됩니다.





부록. 빈 VHD 파일 만들기

VHD에 윈도우만 넣어서 쓰라는 법은 없습니다. 그냥 빈 VHD하나 만들어서 그안에 문서나 프로그램을 넣어서 폴더가 아닌 드라이브로 띄워서 쓸 수 있고 Bit Locker로 암호를 걸면 공인인증서나 보안이 필요한 문서등을 넣어서 쓸 수도 있습니다.


빈 VHD를 만드는 방법은 크게 두가지이다. command 창에서 diskpart 명령어로 만들 수 있고 윈도우의 디스크관리(diskmgmt.msc)에서 만드는 방법이다.


diskpart 명령은 Windows 또는 WIndowsPE를 실행중에 cmd창을 띄우거나 WIndows 설치 중에 Shift+F10 키를 누르면 command창을 띄워서 실행할 수 있습니다.

diskpart 명령어

디스크 관리(diskmgmt.msc)

diskpart

메뉴에서 동작 - VHD 만들기를 실행합니다.

create vdisk file="VHD 파일 경로" maximum=20486 type=expandable

------------------------------------

최대 크기 20기가, 동적 확장을 하는 VHD 파일 생성

maximum : VHD 파일의 최대 크기 (MB 단위)

20480 으로 주면 19.9 GB로 나오는데 몇MB 더 주게 되면 딱 20.0 GB로 떨어짐. 


type : 생성시부터 최대크기 고정, 동적 할당

type=fixed      : 고정 크기

type=expandable : 동적 크기

attach vdisk 

------------------------------------

vhd를 연결합니다.

디스크 목록에 새로 생긴 디스크가 있으며 할당되지 않음이라고 되어 있는데 왼쪽 영역에서 우클릭을해서 디스크 초기화 를 실행하고 MBR 형식으로 확인 클릭

create partition primary

format fs=ntfs quick

assign

------------------------------------

주파티션을 생성, 포맷하고, 드라이브명을 할당

이번엔 오른쪽 영역에 우클릭을 해서 "새 단순 볼륨"을 실행하면 "단순 볼륨 만들기 마법사" 가 실행되는데 거의 다음/확인만 누르면 진행됨

=============================================

여기까지가 vhd 파일 만들기 입니다.

이 상태에서 파일들을 복사하거나 윈도우를 설치하거나 하는 작업을 하시면 됩니다.

detach vdi

------------------------------------

모든 작업 후에 vhd 연결을 해제합니다.


BitLocker로 패스워드 거는 방법은

VHD를 탑재하고

제어판 - 시스템 및 보안 - BitLocker 드라이브 암호화 에 들어가면 아래와 같이 보이는데 오른쪽에 "BitLocker 켜기" 를 클릭하면 "BitLocker 드라이브 암호화" 창이 뜨고 암호를 설정하면 됩니다.

반응형

'IT 정보 > 컴퓨터' 카테고리의 다른 글

VHD란?  (0) 2015.10.10
VHD 사용 예제  (0) 2015.10.10
VHD 파일 용량 관리  (0) 2015.10.10
IE10 최적화 레지스트리  (0) 2015.10.10