Windows7을 VHD에 설치하기와 활용법

씨앗 나눔 화원/OS 2011. 4. 24. 02:44
출처 : http://liverex.tistory.com/268

1. 설치법

윈도우7 을 VHD에 설치하는 과정은 간단합니다. 일반적으로 윈도우 설치하듯이 하는데 명령어 몇줄만 넣어주면 끝입니다.  명령어를 입력하려면 명령프롬프트를 열어야 겠죠?? 아래와 같이 설치 시작하는 화면에서 Shift + F10 을 누르시면 명령프롬프트창이 뜹니다. 






 CMD 창이 뜨면 아래와 같이 명령어들을 입력해 줍니다. 지금 이 과정은 C 드라이브가 생성/포맷되어 있다는 가정하에 작업하는 것입니다. 혹시 안되어 있다면 파티션 생성과 포맷을 먼저 하고 이 과정을 진행해 주세요 ^^



 [ 가상디스크(VHD) 만들기 ]

1.  diskpart

2.  create vdisk file=c:\win7en.vhd maximum=20480 type=expandable
3.  attach vdisk
4.  exit


 정확하게 4줄이니까 간단하죠? 잠시 위 명령어에 대해 설명드리자면 다른건 크게 설명할 게 없고 2번 과정의 명령어를 보시면 C 드라이브에 win7en 라는 이름으로 생성합니다. 일반적으로 C 드라이브시겠지만 아니라면 사용할 드라이브명을 직접 입력하시면 되겠죠?
 그리고 최대 크기를 20GB 로 설정했습니다. 10240 이 10GB 니까 나름 계산하셔서 활용하실 수 있겠죠? ^^ 마지막으로 확장식 동적 디스크로 지정했는데 expandable 대신에 fixed 를 입력하시면 고정식으로 설치할 수 있습니다. 고정식으로 설치하면 어떻게 되느냐... 처음에 윈도우를 설치하면 32비트의 경우 5~6GB정도의 용량을 차지하는데 지정한 20GB로 인식하고 용량을 잡아먹습니다. 즉, 용량을 많이 잡아 먹는 단점이 있는거죠. 그리고 처음에 지정한 20GB 이상을 활용하지 못합니다. 하지만 확장식 동적 디스크보다는 조금 빠르다는 장점이 있기도 합니다. 

 이제 다음단계로 넘어가시면 아래처럼 위에서 생성한 20GB 공간이 생겼죠?? 원래 제가 지저한 하드디스크 공간은 50GB입니다. 할당되지 않은 공간 위에 50GB 의 디스크가 보이시죠?? 이제 생성한 디스크를 클릭 후 다음을 눌러주면 설치가 됩니다. 혹시 가끔 다음을 눌렀을 때 주의표시와 함께 메세지창이 뜨는데 무시하고 진행하시면 설치됩니다.





 설치를 완료한 모습입니다. 아래 사진을 보시면 가상디스크는 무조건 C 드라이브로 인식되어 집니다. 그리고 D 드라이브는 원래의 물리적인 공간입니다. 그 아래 사진들로 넘어가서 탐색기로 C 드라이브 속을 들여다보니 윈도우 처음 설치때와 같죠? ^^ 그리고 D 드라이브 속을 보면 생성한 VHD 파일만 존재합니다. 현재 20GB의 크기를 보여주는데 만약 아래에서부터 알려드릴 Differencing VHD 기능을 이용해 자식VHD 를 생성한다면 아래 파일은 순수하게 설치되어진 용량만큼만 인식할 것입니다. 아래 사진부분은 본문 길이와 스크롤 압박을 고려해 접이식으로 설정합니다 ^^;;;;



2. 활용법 

- Differencing VHD - 자식 VHD 생성하기

  위 과정만 거치시고도 자신만의 설정 등으로 최적화 해두시고 다른 파티션 등에 위 파일을 복사해 놓으시면 한창 사용하시다가 최적화 상태의 녀석과 교체하실 수 있습니다. 하지만 GB 단위의 파일이다 보니 교체하려면 시간이 좀 걸리겠죠?? 최적화 상태라고 해서 6~7GB라고 해도 3분은 넉넉잡아 걸릴겁니다. 물론 긴시간은 아니지만 지금부터 알려드릴 Differencing VHD 기능을 통한 1초만에 복원에 비하면 엄청 느린거죠 ^^;;; 
 참고로 혹시나 현재 사용중인 파일을 드래그하여 복사하시려고 할까봐 말씀드리지만 교체작업은 복구모드를 통한 PE 부팅으로 가능합니다.  물론 해당 파일을 통해 부팅하지 않아서 사용중이 아니라면 윈도우 상에서도 가능합니다. 관련 내용은 아래에서 다루기로 할게요 ^^
 
 우선 자식 VHD 를 생성하시려면 위에서 말한바와 같이 복구모드를 통한 PE 부팅을 해야합니다. 어떻게 하느냐... 부팅할 때 F8 신공을 보여주시면 컴퓨터가 놀라서 아래 좌측과 같이 복구모드를 할 수 있는 창을 보여줍니다 ^^;; 여기서 컴퓨터 복구에서 엔터~ 그러면 몇가지 과정을 거친 후 우측 사진과 같이 시스템 복구 옵션창이 뜰텐데요.  여기서 명령프롬프트를 클릭해서 열어주세요.





  CMD 창이 열렸다면 다시 몇가지 명령어를 입력해 줘야 합니다.




 [ 자식VHD 만들기 ]

1.  diskpart
2.  create vdisk file=c:\liverex.vhd parent=c:\win7en.vhd
3.  attach vdisk
4.  list vol
5.  exit
6.  bcdboot e:\windows /s c: /l ko-kr
7.  exit



 짦박하게 설명드리면 2번 명령어에서 liverex 부분은 원하시는 자식VHD 이름입니다. 그리고 win7en.vhd 는 처음에 생성한 부모 VHD의 이름이죠. 자식VHD 를 생성하시는 위치는 부모와 같은 곳이어야 합니다. 안그러면 오류나요 ^^;; 그리고 6번 과정에서 E 드라이브는 4번 과정을 거쳤을 때 위 사진처럼 50GB 디스크 외에 20GB 디스크가 연결되어 있죠? 그 드라이브명입니다. 정 찾기 힘드시면 드라이브명을 하나하나 입력해가면서 dir 해보는 방법도 있겠네요 ^^ 

 이제 재부팅을 해보면 멀티부팅 메뉴로 시작될겁니다.  여기서 최근에 생성한 녀석이 자동으로 위에 가기 때문에 위 메뉴로 부팅하시면 자식VHD 를 이용해 부팅을 합니다. 아래는 원래 설치한 부모VHD겠죠?  멀티부팅 메뉴이름은 나중에 바꾸실 수 있으니 여기서는 그 내용은 생략할게요.  제 블로그를 검색해 보시면 관련 내용이 다 있습니다.

 저는 자식 VHD 로 부팅해보았습니다. 아래와 같이 파일이 2개로 늘었죠?  그리고 부모 VHD 는 5.3GB 로 인식하는 모습이 보이실겁니다.  현재 자식 VHD 크기는 부팅을 했기에 20GB로 인식한 모습인데 좀 더 아래에서 보시면 아시겠지만 40 MB 정도의 크기로 생성되어 졌습니다.  하지만 다시 복구모드를 이용해 PE 부팅을 하고 1번과 2번과정만 거친 후 exit 하시면 100 KB 정도의 크기로 확 줄어듭니다. 이 파일만 백업해 두시고 원하실 때 교체를 하시면 복구가 되는겁니다. 그러니까 1초 복구가 거짓말이 아닌거죠 ^^





 그런데 자식VHD 를 생성하면 자식VHD 부팅 로더에 복구모드 항목이 없습니다. 부모 VHD 부팅 로더에는 recoverysequence 항목이 보이시죠? 이 부분이 복구모드로 들어갈 수 있게 해주는데 위에 자식 VHD 부분에는 동일 항목이 없는 걸 보실 수 있습니다. 그럼 어떻게 복구모드를 만드느냐... 이것도 제 블로그내에 제가 스크립트 짜놓은 파일이 있습니다. 포스팅 제일 하단에 관련 참고 링크를 이용하시면 되겠네요~







 복구모드를 생성하고 다시 PE 로 부팅하여 C 드라이브의 내용물들을 dir 로 살펴보았습니다.  liverex.vhd 가 40 MB 로 표시되고 있죠??  하지만 위에서 언급한 바대로 두 줄의 명령어만 넣어주고 마무리하면 크기를 확 줄일 수 있습니다.





 우선 기존의 자식 VHD 를 지워줍니다. 그리고 자식 VHD 만들기 명령어에서의 1번과 2번을 입력하고 exit 를 입력하면 끝입니다. 여기서 주의하실 점은 2번을 입력할 때 처음 만들때와 같은 이름으로 해야합니다. 이제 그 아래 사진을 보시면 109 KB 로 용량이 확 줄어든 모습을 보실 수 있습니다 ^^ 이 파일을 백업하고자 하는 파티션 및 폴더에 복사해 주시면 모든 과정이 끝납니다. 마지막으로 백업은 다른 파티션에 하시는 것을 추천합니다! 그래야 더 안전하겠죠? 

[참고 1] 위에서 잠시 말씀드렸지만 최적화 상태로의 VHD 교체는 PE 로 부팅해야 됩니다. 그런데 매번 복구모드를 통해 부팅하려면 번거롭겠죠? 그래서 관련하여 귀차니즘을 극복하고자 짠 스크립트 내용이 포스팅 제일 하단에 참고 링크로 달려 있으니 간편하게 이용하세요~

[참고 2] 혹시 사용하시면서 나중에 부모 VHD 로 부팅하여 새로운 내용을 설치하거나 업데이트 하더라도 다시 자식 VHD 를 생성해줄 필요는 없습니다. 지금처럼 PE 로 들어오셔서 109 KB 짜리 백업한 이 파일만 기존의 자식 VHD 와 교체해주시면 업데이트된 부모 VHD 의 자식 VHD 로 활용이 됩니다. 물론 다른 부모의 자식이면 안되겠죠? ^^;;;









 
posted by ZeroZZaNG™
출처 : http://liverex.tistory.com/437

윈도우7 을 VHD(가상디스크)로 사용하시는 분들 중 몇몇 분들이 이런 질문을 하시더군요. 

 "현재 VHD 파일이 위치한 C 드라이브를 포맷한 후에 백업해 두었던 VHD 파일을 C 드라이브로 복사하면 바로 부팅 및 멀티부팅이 되나요?"
 

 결론부터 말씀드리면 단순히 복사만 해서는 안됩니다. 하지만 약간의 시간만 할애하시면 가능한데요. 이 작업을 위해서 필요한 준비물은 "윈도우7 DVD" 만 있으면 됩니다. 

 VHD 에 대한 내용을 참고하고자 하시는 분들은 아래 글들을 참고하시면 기본적인 내용은 이해하실 수 있을 겁니다.

"참고하세요"
* 윈도우7 가상디스크(VHD) 설치와 그 활용법
* 윈도우7 VHD 최적화를 간단하게!!!
* 최적화 상태로 백업했던 VHD 로 복원하기
* [Final] VHD 자동교체 PE 멀티부팅 메뉴 만들기
* Install.wim 으로 VHD 생성하기
* VHD 멀티부팅 메뉴 추가 쉽게 하세요


 혹시 포맷이 아니라 새로 하드디스크를 구입하셔서 기존에 사용하던 VHD 파일을 연결해서 사용하시려고 하는 거라면... 위에 참고하시라고 올린 포스트 중 Install.wim 을 VHD 로 생성해서 연결하는 것이 아닌 이상 재설치하실 것을 권합니다. 아무튼 위 질문에 해당되는 경우에는 아래와 같은 방법으로 설정해 주시면 됩니다.




Step.1 :: 윈도우7 DVD 를 이용해 부팅하기

 먼저, 포맷을 했다는 가정하에... 윈도우7 DVD로 부팅을 합니다. VHD 파일이 있던 드라이브 및 파티션을 포맷했다면 그냥은 부팅이 안되니까요 ^^  DVD 로 부팅을 하여 아래와 같이 설치 시작화면이 보이면 "Shift + F10" 을 눌러주세요. 그럼 CMD 창이 뜹니다.






Step.2 :: 활성파티션 여부 확인 및 지정

 백업했던 VHD 파일을 위 질문을 기준으로 C 드라이브에 복사했다는 가정하에, 이제부터 몇몇 명령어만 입력해주시면 됩니다. 우선 C 드라이브에서 VHD 파일이 위치한 파티션이 <활성파티션> 인지가 중요합니다. 일반적으로 포맷을 했다면 기존에 사용하던 녀석이라 활성일 거라 생각되지만... 혹시 clean 으로 디스크를 초기화하신 분이라면... 재설정하셔야 할 겁니다. 참고로 clean 으로 초기화 하셨다면 파티션 생성, 포맷, 드라이브 문자 할당 등 명령어로 다~ 다시 해주셔야 합니다. 그 과정은 본문에서는 생략할게요. 스크롤 압박이 ^^;; 이와 관련해서 질문하시면 별도로 답변드리겠습니다.

 아래 사진을 보시면 현재 파티션이 활성화 되어있지 않죠? 이러면 VHD 파일을 연결하더라도 부팅이 안됩니다. 활성파티션으로 변경하는 방법은 아래 명령어를 참고하세요.






[ 활성 파티션으로 변경하기 ]

 diskpart
 list disk   
 select disk 0   ☜ VHD 파일을 복사해 넣은 하드디스크를 선택합니다.
 list partition 
 select partiton 1   ☜ VHD 파일이 위치한 파티션을 선택합니다.
 detail partiton   ☜ 선택한 파티션의 상세한 정보를 확인합니다.
 active   ☜ 활성화 되어있지 않다면 명령어 입력! 활성화 되어 있다면 다음 단계로~ GoGo
 위 사진과 명령어에 차이가 있는 이유는 select = sel 등과 같이 명령어를 줄여서 사용할 수 있기 때문입니다.




Step.3 :: VHD 파일 연결 / 부팅파일 만들기

 활성파티션으로 변경했다면 이제 VHD 파일을 연결해주고, 부팅파일만 만들면 됩니다. VHD 파일을 연결하는 명령어는 아래와 같습니다.




[ VHD 파일 연결하기 ]

select vdisk file=c:\win7.vhd   ☜ c:\, win7.vhd 는 각자의 파일 등에 맞춰서 수정하세요.
attach vdisk
select partiton 1   ☜ 보통 1 일테지만 혹시 모르겠다는 분은 list par 로 확인해보시고 선택하세요.
assign letter=z   ☜ 연결한 VHD 에 드라이브 문자를 할당합니다.
exit



 위 과정까지 완료하셨다면 마지막으로 부팅 파일을 만들어주면 끝입니다. 




 [ 부팅 파일 만들기 ]

bcdboot z:\windows /s c: /l ko-kr   
☞ z:\ 는 위에서 지정한 드라이브명, c: 는 VHD 파일이 위치한 드라이브명입니다.



 이제 DVD를 제거한 후 재부팅하시면 VHD 로 부팅이 될겁니다. 명령어가 많아서 어려워보이지만 중복되는 명령어와 중간중간에 확인하는 명령어가 많아서 그렇지 막상 해보시면 크게 어렵지 않으실거예요~ 

 
 
posted by ZeroZZaNG™

윈도우7 에서 VHD만들기

씨앗 나눔 화원/OS 2011. 4. 24. 02:11
출처 : http://skyranger.tistory.com/36

1. 윈도우7 에서 VHD만들기 및 연결하기.
   컴퓨터 관리자 -> 디스크관리 -> 오른쪽 기타작업을 선택 ->VHD만들기



위치에는 가상 하드디스크의 이미지화일을 저장할 위치를 지정합니다.

{드라이브}:\저장디렉토리\파일이름.vhd 

나머지는 가상 하드디스크의 크기 및 형식을 지정합니다.

2. 가상 하드디스크를 연결하기.
  만들어진 가상 하드디스크 이미지파일을 컴퓨터에서 물리적인 하드처럼 사용하도록 인식 시키는 작업입니다.



위에서 저장한 가상 하드디스크의 이미지파일이 저장된곳을 지정합니다.



가상 하드디스크를 연결한 후의 화면이 아래 화면입니다. 마치 실제 하드처럼 표시되어 있습니다.

3. 볼륨할당 및 포맷
   이제 인식된 가상 하드디스크에 볼륨을 활당하고 포맷하면 됩니다.







 
posted by ZeroZZaNG™

출처 : http://snoopybox.co.kr/1176

 

VHD의 종류에는 크게 3가지가 있습니다.

 

Fixed - 고정 크기 디스크. 한번 만들면 그 크기가 고정되는 형태입니다.

Expandable - 동적 확장 디스크. 사용량에 따라 그 크기가 점점 증가하는 유동적인 형태입니다.

Differencing - 부모 VHD 파일과의 차이점만 기록되는 형태입니다.

 

지난번에 포스팅했던 윈도우 7의 VHD 부팅기능을 활용해보자 글에서 wing4bee님께서 알려주신 내용인데, 언제 한번 내용을 알아봐야겠다고 생각만 했다가 이번에 XP 모드 관련 글을 포스팅하면서 XP 모드가 바로 이 Differencing VHD 방식을 사용하고 있다는 것을 알게 되었습니다.

 

Differencing VHD를 활용하면 저처럼 VHD 부팅기능을 사용하시는 분들에겐 매우 큰 도움이 될 것입니다. 왜냐하면 저같은 경우 거의 하루에 한번 꼴로 VHD 파일을 복원합니다. 그냥 뭔가 새로운 프로그램이 나오면 한번 설치해보게 되고 계속 사용할 생각이 없다면 언인스톨 하는게 아니라 그냥 VHD 파일을 복원시켜버리죠. 현재 저는 윈도우 7 64비트 얼티밋 버전을 사용하고 있으며, 대략 9GB 정도의 VHD 파일을 최적셋팅 원본 상태로 사용하고 있습니다. 그런데 매일같이 이 9GB VHD 파일을 PE나 다른 OS로 부팅한 다음 복원시키는 일은 여간 귀찮은게 아닙니다. 대략 3~4분 정도 걸리는 작업인데 이 시간을 줄여보고 싶어서 Differencing VHD 방식을 고려하게 되었습니다. 저는 아크로니스 트루이미지를 사용하지 않지만 트루이미지의 증분 백업과 약간 비슷한 개념이라고 생각하시면 될 것 같습니다.

 

만약 제가 현재 사용중인 9GB의 VHD 파일을 부모 파일로 지정해두고 자식 VHD 파일을 새로 생성해서 앞으로는 그걸로 부팅하게 된다면 어떻게 될까요? 참고로 방금 제 컴퓨터에서 직접 만들어본 결과... 바로 생성된 자식 VHD 파일을 BCD에 등록시킨 다음 크기를 보니... 40MB 밖에 되지 않습니다. 즉 앞으로 저는 이 40MB 짜리 파일만 교체해주면 다시 최적상태로 돌아올 수 있습니다. 9GB 복사하던 일을 앞으로는 40MB만 복사하면 되니 가히 혁신적인 기능이라 하지 않을 수 없습니다.

 

 

 

이제 개념설명은 그만하고 실전에 들어가보겠습니다.

먼저 VHD에 윈도우 7을 설치합니다.

참고 : 윈도우 7 VHD 만들어서 설치하기

 

설치를 다 하셨다면 이제 각종 프로그램을 설치하고 최적 셋팅을 합니다. 물론 윈도우만 설치된 상태에서 바로 자식 VHD를 생성하셔도 되겠죠. 이건 취향에 달린 문제니까... 저는 최적화 셋팅을 다 마친 다음 현재 사용중인 9GB 부모 VHD 파일을 기준으로 자식 VHD를 생성하겠습니다.

 

이제 PE로 부팅합니다. 윈도우 7 DVD로 부팅하셔도 되고, F8 복구모드로 들어가셔도 되고, 최근에 소개해드린 PE를 멀티부팅 메뉴에 등록하기 글을 참조하셔도 됩니다. 어떤 방법을 활용하시든 윈도우 7 PE로만 부팅하시면 됩니다. PE로 부팅하셔서 명령 프롬프트를 띄우신 다음 (설치 화면에서 Shift + F10)

 

1. 부모 VHD 파일에 읽기 전용 속성을 걸어줍니다. 반드시 걸어줘야 자식 VHD로 부팅이 됩니다.

- attrib c:\win7.vhd +r

(부모 VHD 파일 위치와 이름은 각자 환경에 따라 다르겠죠)

 

2. DISKPART로 들어갑니다.

- diskpart

 

3. 자식 VHD 파일을 생성해줍니다.

- create vdisk file=c:\win7-diff.vhd parent=c:\win7.vhd

(자식 VHD 파일 이름은 각자 원하는 이름으로, 부모 VHD 파일 위치는 정확히 지정해주세요.)

 

4. 자식 VHD 파일을 마운트합니다.

- attach vdisk

 

5. 방금 자식 VHD 파일이 어느 드라이브에 마운트 되었는지 확인해줍니다.

- list vol

 

6. 확인이 되었다면 이제 DISKPART를 종료합니다.

- exit

 

7. 이제 자식 VHD 파일을 BCD에 부팅 등록시켜 줍니다.

- bcdboot f:\windows /s c: /l ko-kr

(F 드라이브는 5번 단계에서 확인했던 VHD 파일이 마운트된 드라이브를 지칭합니다. C 드라이브는 부팅파일이 존재하는 시스템 파티션을 의미합니다.)

 

8. 자식 VHD 파일을 이제 다른 곳에 백업합니다. 저는 40MB 정도 나왔는데 이걸 지금 백업해둬야 최소화된 백업 원본을 소유하게 되겠죠?

- copy c:\win7-diff.vhd d:

(백업을 꼭 해야하는건 아니지만 매번 자식 VHD를 똑같은 이름으로 새로 만드는 것 보다는 백업해둔 파일을 교체하는 편이 훨씬 간단하기 때문에 저는 파일을 백업해둡니다.)

 

 

 

이게 끝입니다. 이제 재부팅 해보시면 자식 VHD로 부팅이 될 것입니다. 다만 기존 부모 VHD 엔트리와 이번에 새로 만든 자식 VHD 엔트리가 공존하게 되는데 기존 부모 VHD 엔트리는 삭제해주시면 됩니다. 어차피 읽기전용 걸어놨기 때문에 더이상 그걸로는 부팅되지도 않습니다. 제가 해보니 바로 블루스크린 뜨더군요. 엔트리 편집으로 가장 편한 방법은 msconfig 들어가서 부팅 탭에서 사용하지 않는 부모 VHD 부팅 메뉴를 삭제하시면 됩니다.

 

저는 이제부터 기존에 9GB 교체하던 작업을 앞으로는 40MB만 교체하면 됩니다. 제가 쓰고있는 부모 VHD와 백업해둔 자식 VHD 파일입니다.

 

 

 

 

(추가1)

아 중요한걸 빠뜨렸네요. 바로 자식 VHD의 변화분을 부모 VHD에 적용시키는 것입니다. 이렇게 자식 VHD로 부팅해서 사용하다보면 새로 추가된 프로그램이나 윈도우 설정이 마음에 들어서 이걸 부모 VHD에 적용시키고 싶어질 경우가 발생할 것입니다. 이럴 때는 부모 VHD 파일 자체를 변경시키는게 좋겠죠?

 

마찬가지로 PE로 부팅한 다음 CMD 창에서

 

1. 부모 VHD 파일의 읽기 전용 속성을 풀어줍니다.

- attrib c:\win7.vhd -r

 

2. DISKPART로 들어갑니다.

- diskpart

 

3. 자식 VHD 파일을 선택합니다.

- sel vdisk file=c:\win7-diff.vhd

 

4. 부모 VHD 파일에 자식 VHD 파일을 병합시켜줍니다.

- merge vdisk depth=1

 

5. DISKPART를 종료합니다.

- exit

 

6. 부모 VHD 파일에 다시 읽기 전용 속성을 걸어줍니다.

- attrib c:\win7.vhd +r

 

 

 

(추가2)

자식파일 크기가 40MB로 된건 bcdboot 작업을 한번 해줬기 때문에 그런 것 같습니다. 어차피 BCD엔 동일 이름으로 등록되어 있으니 자식 파일 삭제하고 다시 동일 이름으로 만들어주니 100KB로 생성되었습니다. 저는 이제 교체할 때 100KB 파일만 바꾸면 됩니다. 어차피 40MB나 100KB나 바꾸는데 1초 걸리는건 똑같지만 그래도 용량을 절감하게 되었네요. ^^

 

posted by ZeroZZaNG™

윈도우 7 VHD 파일 교체하기

OS/Win-Se7en 2009. 11. 13. 18:47

출처 : http://snoopybox.co.kr/1149

 

얼마전에 포스팅했던 윈도우 7의 VHD 부팅기능을 활용해보자 글에서 많은 분들이 VHD 파일을 백업하고 교체하는 부분에 대해 질문을 주셨습니다. 저는 하단부에 PE를 멀티부팅에 등록하는 방법을 알려드렸는데 (윈도우 7, 비스타 하드에서 설치하기 최종편) 잘 이해하지 못하시는 분들이 계셔서 그냥 F8 복구모드로 설명을 드리겠습니다. 굳이 멀티부팅에 PE를 등록하지 않아도 윈도우 7이 자체적으로 가지고 있는 F8 복구모드용 winRE.wim PE를 이용하시면 마찬가지로 VHD 파일 복사나 교체작업이 가능합니다. 그 이유는 비스타 이상의 PE의 경우 WIM 파일을 램에 로드하기 때문에 일단 PE로 부팅하면 하드랑은 별개로 작동하기 때문입니다.

 

윈도우 7 부팅시 F8 키를 누르면 고급 부팅옵션이 나옵니다. 여기서 컴퓨터 복구를 누르시면 복구모드로 진입 가능합니다.

 

 

 

 

그 다음은 명령 프롬프트를 실행하시고 파일을 백업하시든 교체하시든 작업을 하시면 되겠습니다.

 

 

 

 

위 스샷은 제가 D 드라이브에 백업해두었던 VHD 파일을 C 드라이브에 복사해서 교체하는 모습입니다.

그런데 윈도우상에서 보이는 드라이브 문자는 PE상에서 다르게 표시될 수 있습니다. 또한 VHD에 설치한 윈도우 7은 스스로 부팅했을 때 C로 잡히지만 이렇게 PE로 부팅하면 VHD 파일은 마운트되지 않은 상태이기 때문에 드라이브 문자가 한칸씩 앞으로 당겨지겠죠.

 

물론 직접 각 드라이브에 들어가서 dir 입력해보면 어떤 하드인지 짐작이 가시겠지만 여기서는 DISKPART로 알아보겠습니다.

 

DISKPART 입력하신 다음 list vol 하시면 현재 하드랑 ODD 정보가 나옵니다. 그러면 어디에 VHD 파일이 들어있고 어디에서 어디로 복사해야 할지 자신의 컴퓨터니까 감이 오실겁니다.

 

 

 

 

추가적으로 이건 드문 케이스일 수도 있는데 F8 눌렀을 때 복구모드 메뉴가 보이지 않을 수도 있습니다. 그 이유는 잘 모르겠지만 만약 그렇게 된 경우에는 복구모드 메뉴를 수동으로 넣어주시면 되겠습니다.

 

 

 

 

위 스샷을 보시면 32비트 윈도우 7 부팅메뉴에는 recoverysequence 항목이 없습니다. 64비트 부팅메뉴에는 있는데 말이죠. 이런 경우 F8을 눌러도 복구모드 메뉴가 보이지 않습니다.

 

따라서 수동으로 만들어줘야 하는데 64비트 보시면 recoverysequence 뒤쪽에 {c8bdcdb0-c47e-11de-9a21-957c449074ce} 라는 GUID가 있습니다. 이 문자열을 먼저 알아내야겠지요?

 

C 드라이브에 Recovery 폴더 안에 들어가보시면 이 문자열이 나옵니다. 저는 c8bdcda8-c47e-11de-9a21-957c449074ce 라고 적혀있습니다.

 

따라서 저같은 경우 위 상황에서 이렇게 입력을 하면 복구모드 메뉴가 생성되겠지요.

 

bcdedit /set {current} recoverysequence {c8bdcda8-c47e-11de-9a21-957c449074ce}

posted by ZeroZZaNG™

윈도우 7, 비스타 하드에서 설치하기 3탄

OS/Win-Se7en 2009. 11. 4. 21:21

출처 : http://snoopybox.co.kr/997

 

이 글에서는 지난번에 포스팅했던 윈도우 7, 비스타 하드에서 설치하기 2탄 글에 나온 내용과 같은 방법이지만, EasyBCD를 사용하지 않고 직접 bcdedit을 이용하여 boot.wim 파일을 BCD에 추가하는 방법을 설명합니다. 따라서 bcdedit을 사용할 수 있는 비스타, 윈도우 7에서만 적용 가능합니다.

 

 

 

우선 윈도우 7 ISO의 내용물을 하드에 풀어줍니다. 이때 필요한 폴더는 SOURCES 뿐입니다. 나머지 파일들은 전혀 필요하지 않습니다. 데몬에 넣고 복사해와도 되고 UltraISO로 풀어주셔도 됩니다.


 

 

 

 

 

지금부터 bcdedit 작업을 시작하겠습니다. 명령 프롬프트를 관리자 권한으로 띄워주세요.

명령 프롬프트는 보조프로그램에 있습니다.

 

 

 

 

 

 

다음을 순서대로 입력하는데 빨간색 글자는 각자 환경에 따라 달라질 수 있는 부분을 말합니다.

 

bcdedit /create {ramdiskoptions} /d "Ramdisk 옵션"

 

bcdedit /set {ramdiskoptions} ramdisksdidevice partition=D:

 

bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi

 

여기서 빨간색 부분은 바로 D: 인데요 여기서 어떤 드라이브를 지정해주셔야 하냐면 BOOT 폴더와 BOOTMGR 파일이 존재하는, 즉 시스템파티션을 지정해주셔야 합니다. 이건 각자 컴퓨터 환경에 따라 다를테니까 알아서 지정해주세요. 일반적으로는 C 드라이브에 많이 있을겁니다. 그런데 간혹 윈도우 7을 설치하신 분들 중에 부팅파일이 시스템 예약 파티션에 들어간 경우가 있습니다. 그런 경우 해당 파티션에 문자를 할당해주셔야 합니다. 디스크관리자 (diskmgmt.msc)로 들어가서 시스템 예약이라는 100mb 크기의 파티션이 보이신다면 우클릭 해서 드라이브 문자를 할당해주세요.

 

※ 만약에 시스템파티션에 존재하는 BOOT 폴더 안에 boot.sdi 파일이 없다면 (기본은 없는게 정상입니다.) DVD 안에 있는 BOOT  폴더에서 boot.sdi 파일을 복사해서 원래 있던 BOOT 폴더에 넣어주세요. 그래야 이 방법을 정상적으로 사용 가능합니다.

 

이어서 계속 진행하겠습니다.

 

bcdedit /create /d "WIM에서 부팅" /application OSLOADER

 

위 명령어를 입력하면 {GUID} 가 반환됩니다.

저는 다음과 같이 나왔습니다.

 

{9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} 항목을 만들었습니다.

 

여기서 괄호 안에 있는 GUID를 복사해두시는게 좋습니다. 이 다음 작업부터 계속 써먹어야 하거든요. 이때 일일이 키보드로 입력하지 마시고 위 화면에 마우스 우클릭 하시면 "표시" 라고 나옵니다. 그 상태로 GUID 부분을 드래그 해주신 다음 엔터를 누르시면 클립보드에 복사가 됩니다. 이걸 메모장에 복사해두시면 편리하겠죠.

 

이제부터는 위 GUID 부분이 계속 들어갑니다. 이때 한번 입력하신 명령어를 다시 반복하실 필요가 없고 키보드 위쪽 화살표를 입력하시면 예전에 입력했던 명령어들이 나옵니다. 따라서 GUID 뒷부분만 지우신 다음 다시 입력하시는 방식으로 진행하시면 되겠습니다.

 

bcdedit /set {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} device ramdisk=[G:]\sources\boot.wim,{ramdiskoptions}

 

bcdedit /set {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} osdevice ramdisk=[G:]\sources\boot.wim,{ramdiskoptions}

 

bcdedit /set {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} path \windows\system32\winload.exe

 

bcdedit /set {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} systemroot \windows

 

bcdedit /set {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} winpe yes

 

bcdedit /set {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} detecthal yes

 

bcdedit /displayorder {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} /addlast

 

여기서 GUID 부분은 각자 다르게 나오기 때문에 알아서 입력하시면 되고 위에서 2줄을 보시면 G 드라이브가 지정되어 있습니다. 이건 제가 제일 처음에 SOURCES 폴더를 G 드라이브에 풀어두었기 때문입니다. 각자 풀어두신 드라이브명을 적어주시면 되겠습니다.

 

여기까지 잘 따라오셨다면 이제 마지막으로 bcdedit 을 입력하여 항목이 잘 추가되었는지 확인합니다. 저는 마지막 부분에 이렇게 잘 추가되었습니다.

 

Windows 부팅 로더
-------------------
identifier              {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0}
device                  ramdisk=[G:]\sources\boot.wim,{ramdiskoptions}
path                    \windows\system32\winload.exe
description             WIM에서 부팅
osdevice                ramdisk=[G:]\sources\boot.wim,{ramdiskoptions}
systemroot              \windows
detecthal               Yes
winpe                   Yes

 

 

 

 

 

이제 재부팅 하시면 멀티부팅 메뉴가 나올겁니다. 이때 위에서 여러번 디스크립션 부분을 입력했지만 이와 전혀 상관없이 메뉴 이름은 RamdiskOptions 라고 나오더군요. 따라서 RamdiskOptions 항목을 선택하시면 윈도우 7 설치가 진행됩니다. 이때부터는 평소처럼 설치를 진행하시면 됩니다.

 

비스타의 경우 바로 설치가 되지 않습니다. 일단 비스타 설치화면에 진입하신 다음 복구모드로 들어가서 명령 프롬프트를 띄우신 다음 설치하시려는 소스가 있는 곳의 SETUP.EXE 파일을 다시 실행시켜야 합니다. 예를 들어 저는 G 드라이브에 SOURCES 폴더가 들어있으니까 만약 이게 비스타였다면

 

G:\SOURCES\SETUP.EXE 파일을 실행시켜야 비스타 설치를 진행할 수 있겠죠.

 

물론 현재 저는 G 드라이브에 파일을 복사해두었지만 이게 PE로 부팅했을 때는 드라이브 명이 달라질 수 있습니다. 즉 G 드라이브가 PE 부팅에선 F 드라이브일 수도 있다는 말이죠. 따라서 잘 찾아보시고 해당 위치에서 SETUP.EXE 파일을 실행하시면 되겠습니다.

 

설치를 다 마치고나서 더이상 멀티부팅 메뉴에 RamdiskOptions 가 나오지 않도록 하시려면 메뉴를 삭제해주시면 됩니다.

 

bcdedit /delete {9a5e9e72-8d5a-11de-bb73-a233f7cb88b0} /cleanup

 

그런데 저는 삭제하지 않고 메뉴를 그대로 둡니다. 왜냐하면 매번 설치할 때 마다 항목을 만드는건 귀찮은 일이니까요. 일단 저렇게 두고 다음에 또 설치할 일이 있으면 원래 SOURCES 폴더를 복사해두었던 곳에 똑같이 SOURCES 폴더를 꺼내주시면 위 메뉴에서 바로 설치가 가능합니다.

 

또한 SOURCES 폴더에서 boot.wim 파일만 그대로 두시고 나머지는 삭제해두면 가끔 필요할 때 PE로 부팅해서 복구모드로 활용할 수도 있습니다.

 

그리고 멀티부팅 메뉴 선택하는 화면이 기본 30초인데 이 시간을 줄이시려면 물론 윈도우에서도 설정 가능하지만 다음과 같이 입력해주셔도 됩니다.

 

bcdedit /timeout 5

 

이렇게 하면 30초가 5초로 줄어들겠죠.

 

 

 

참고문헌

http://technet.microsoft.com/ko-kr/library/cc721886(WS.10).aspx

posted by ZeroZZaNG™

출처 : http://snoopybox.co.kr/847

 

며칠 전에 소개해드린 WIM2VHD 스크립트는 간혹 오류가 날 수도 있기 때문에 직접 수작업으로 해봅시다. 이게 더 재미있으니까요.

 

어려운건 하나도 없어요. 그냥 똑같이만 해주시면 됩니다.

 

VHD 생성은 DISKPART로 해주셔도 되는데 많은 분들이 마우스 클릭을 좋아하시지 커맨드 입력은 별로 안 좋아하실 것 같아서 디스크 관리자로 작업을 해보겠습니다.

 

제어판에서 찾아가셔도 되겠지만 그냥 바로 띄워봅시다.

 

diskmgmt.msc 를 입력하시면 디스크 관리자가 나옵니다.

 

 

 

지금부터 VHD 만드는 과정은 그림으로만 설명드리겠습니다. 사실 지나치게 유치해 보일 수도 있는데 초보분들 기준으로 최대한 상세하게 설명을 드리겠습니다.

 

 

여기까지는 잘 따라오셨죠? 이제 WIM 원본 파일을 저기 새로 만들어진 드라이브에다가 적용을 시켜줘야 합니다. 윈도우 7 설치과정 중에 보시면 "파일 확장 중" 단계가 있죠? 바로 그 단계랑 비슷하다고 보시면 됩니다.

 

작업을 위해서는 IMAGEX 파일이 필요합니다. 제가 첨부는 해드리는데 텍스트큐브 첨부파일 에러가 워낙 자주 발생하기 때문에 걱정이 좀 되는군요.

 

 <-- snoopy님의 블로그링크

 

 

 

 

 

 

 

그리고 작업하실 윈도우 ISO 파일을 가상 드라이브에 마운트 해주세요. 물론 그냥 하드에 install.wim 파일만 복사해오셔도 됩니다. 저는 G 드라이브에 7229 빌드 32비트 버전을 마운트 했습니다.

 

준비가 되셨다면 다음과 같이 입력합니다.

 

(빨간색 글자는 각자 작업환경에 따라 달라질 수 있다는 의미로 표시)

 

imagex /apply g:\sources\install.wim 5 h:

 

 

 

g:\sources\install.wim => 원본 WIM 이미지 파일의 위치 지정

 

5 => SKU 인덱스

 

h: => 방금 전에 새로 만들었던 VHD 드라이브 경로

 

참고로 SKU 인덱스에 대해 잠시 설명드리겠습니다. 어차피 얼티밋 버전이 아니라면 VHD 부팅이 불가능하니 (엔터프라이즈 = 얼티밋 인증방식만 다름) 얼티밋 버전을 추출해야 합니다. 32비트에서는 5번이 얼티밋 버전이지만 64비트에선 스타터 버전이 빠져있기 때문에 4번이 얼티밋 버전입니다. 그리고 한글언어팩 적용버전처럼 개인이 만든 버전일 경우엔 대부분 에디션이 1개만 들어있습니다. 그런 경우엔 번호를 1번으로 적어주시면 되겠습니다.

 

서버 2008 R2의 경우는 스탠다드, 코어, 엔터프라이즈, 코어, 데이터센터, 코어, 웹서버, 코어 순서로 되어있습니다. 즉 예를 들어 웹서버 풀버전의 경우는 7번이 되겠지요.

 

인덱스 번호를 잘 모르시겠으면

 

imagex /info g:\sources\install.wim

 

해보시면 보시는데는 좀 불편하시겠지만 이미지 정보가 나옵니다. 거기서 Index 몇 번이 추출하고픈 에디션인지 확인하시면 되겠습니다.

 

 

 

 

 

작업이 잘 진행되셨나요? 저는 7분 44초 걸렸네요.

 

 

 

 

 

 

만들어진 H 드라이브에 가보니 윈도우가 들어있습니다. 확인 후 닫아주시고...

 

 

 

 

 

 

이제 다시 디스크 관리자로 돌아가서 VHD 파일을 분리해주시면 되겠습니다.

 





 

 

 

 

 

만들어진 VHD 파일을 볼까요?

 

 

 

우왕ㅋ굳ㅋ

용량이 4.85GB 밖에 되지 않는군요. 이놈이 평소에는 이렇게 지내다가 VHD로 부팅을 해주면 20GB로 변신합니다. 따라서 이 VHD 파일이 보관된 파티션에 여유공간이 있어야 부팅이 가능합니다. 저는 20GB로 만들었으니 약 15GB 정도의 여유공간이 존재한다면 가능하겠네요.

 

 

 

 

 

이제 만들어진 VHD 파일을 BCD에 추가해서 부팅 되도록 해줘야 합니다. 이 작업은 제가 이전에 포스팅했던  글을 참조하세요.

윈도우 7에서 VHD 부팅하기

 

 

 

이상으로 허접한 설명을 마치겠습니다.

posted by ZeroZZaNG™

출처 : http://snoopybox.co.kr/851

 

윈도우 XP와 비스타 사용자들이 윈도우 7의 VHD 파일을 이용해 부팅하려면 어떻게 해야할까요? 윈도우 7 사용자들은 간단하게 BCD에다 VHD 항목만 추가해주면 되는데 하위 OS에서는 그게 안 됩니다. 따라서 윈도우 7의 BCD를 메인 부트로더로 사용해야 합니다.

 

방법은 아주 간단(?)한데... 윈도우 7 DVD로 부팅한 다음 DISKPART 로 VHD 파일을 마운트 시켜줍니다. 그리고 BCDBOOT 을 이용하시면 됩니다.

 

사실 윈도우 XP나 비스타에서 VHD 파일을 만든다는게 말이 안 되기 때문에 이 설명보다는 차라리 윈도우 7을 설치할 때 VHD를 만들어서 거기에 설치하도록 하는게 더 나을 것입니다.

 

하지만 최근에 VHD 형태로 유출된 파일을 받은 경우에는 파티션을 새로 만들거나 포멧할 필요 없이 간단히 추가해 줄 수 있습니다. 또한 평소에 VHD를 만들어 잘 사용하시던 분들께서 예상치 못한 이유로 C 드라이브가 날아가서 부팅이 불가능해진 경우에도 꼭 필요한 방법이겠죠. 또한 갑자기 마음이 변해서 C를 포멧하고 XP를 설치하고 싶어진 경우에도... 이 방법은 알아두시면 낙동강 오리알 신세 된 VHD 파일들을 활용할 수 있는 유용할 정보가 될 것입니다.

 

우선 여기서는 기존에 존재하는 VHD 파일을 XP나 비스타에서 부팅 가능하도록 만드는 작업을 해보겠습니다. 그리고 이 다음 포스팅에서는 XP나 비스타를 사용하고 있는데 윈도우 7 설치를 위해 따로 파티션을 만들거나 포멧하기 싫으신 분들을 위해 윈도우 7 설치시에 VHD를 생성하고 거기에 설치하는 방법을 설명드리겠습니다. 사실 이미 오래전부터 나와있던 방법이죠.

 

설명을 위해 제가 임의로 VMWare에 80GB를 할당하고 XP를 설치했습니다. 현재 C 드라이브만 존재하며 다른 파티션은 존재하지 않는 상태입니다. 그리고 XP만 클린 설치된 상태입니다. 비스타나 윈도우 7의 BCD가 아닌 순수하게 XP만으로 부팅되는 상태입니다. 그리고 윈도우 7 VHD 파일은 VHD 라는 폴더 안에 넣어놨습니다.

 










 

 

 

자 이 상태에서 저기 보이는 7229.vhd 파일로 부팅을 하려면 어떻게 해야할까요?

네 바로 윈도우 7 DVD로 부팅해서 작업해주시면 됩니다.

초보 분들에겐 약간 어려울 수도 있지만... 한번 도전해보세요.

 

윈도우 7 DVD로 부팅한 처음 화면에서 Shift + F10을 누릅니다.

(여기서 이렇게 바로 하면 되는데 지금까지 복구모드 들어가는 삽질을 반복했군요 ㅠㅠ)

 






지금부터 잘 따라오세요. (빨간색 부분은 각자의 환경에 맞게 수정)

 

diskpart                                               # DISKPART 실행

 

sel vdisk file=c:\vhd\7229.vhd              # VHD 파일 선택

                                                             참고로 파일 경로에 공백이 포함되면 경로 양쪽을 따옴표로 묶어줘야 합니다.

 

attach vdisk                                         # VHD 마운트

 

sel partition 1                                       # 문자 할당을 위해 파티션 1번 선택

 

assign letter=H                                     # 아무 문자나 원하시는걸로 입력. 어차피 임시문자임

 

exit                                                     # DISKPART 종료

 

bcdboot H:\windows /s c:                   # 방금 마운트한 VHD의 윈도우 7 폴더에서 BCD를 가져와서 C에 생성해주는 과정

 

bootsect /nt60 c:                                  # C 드라이브가 BCD로 부팅되도록 만드는 과정

 

 

 

위 과정을 성공적으로 진행하셨다면 이제 재부팅 후에는 윈도우 7 VHD로 부팅이 됩니다.

제가 입력한 스샷 보여드리겠습니다.

 

 

 

 

 

 

물론 저기서 bcdedit 작업을 통해 XP를 엔트리에 추가해줄 수도 있습니다. 하지만 EasyBCD를 활용하시는게 더 쉬울테니 일단 윈도우 7로 부팅한 다음 설치 마무리 하시고 나서 EasyBCD로 XP를 추가해줍시다.

멀티 부팅을 복구해보자 EasyBCD

 

저는 저렇게 부팅한 윈도우 7에서 원래의 C 드라이브가 바로 보였습니다. 물론 VHD로 부팅했으니 부팅한 윈도우 7이 C 드라이브로 보이고 원래 C였던 80GB 파티션은 D로 잡혔습니다. 그런데 만약에 XP가 설치되어 있던 파티션이 보이지 않는 현상이 발견되면 디스크 관리자에서 드라이브 문자를 할당해주시면 됩니다.

 

EasyBCD로 XP를 추가한 다음 멀티부팅 메뉴 캡쳐해봤습니다.

 

 

 

 

 

 

다들 성공하셨나요?

 

참고로 이 예에서는 XP가 설치된 상태로 작업을 했지만 만약 비스타가 설치된 상태이거나 또는 비스타 BCD를 메인으로 해서 XP와 멀티부팅이 구성되어 있었던 경우에는 bcdboot 작업에서 VHD가 새로운 엔트리로만 추가되기 때문에 따로 EasyBCD 작업을 해주지 않아도 기존의 부팅메뉴는 그대로 보존될 것입니다. (해보지는 않았지만 이론상 그럴 것 같습니다.)

 

 

 

이상으로 허접한 설명을 마치겠습니다.

 

 

 

(추가 1)

저는 너무 친절해서 탈입니다. ㅠㅠ

VMWare에 비스타 설치한 다음 위 방법을 그대로 적용해봤습니다. 아 마지막에 bootsect /nt60 c: 부분은 안 해도 됩니다. 저건 원래 XP가 설치되어 있었기 때문에 했던 과정이고 비스타가 설치되어 있으면 BCD가 권한을 가지고 있기 때문에 안해주셔도 됩니다. 물론 뭐 해줘도 아무런 지장은 없구요.

 

아무튼!! 결론은... bcdboot 작업으로 윈도우 7의 BCD가 비스타의 BCD를 덮어버리면서 자동으로 VHD 부팅 엔트리를 추가하는 것을 확인했습니다. 역시 저의 예상이 맞았군요.

 

확인 스샷

 

 
posted by ZeroZZaNG™