Microsoft MVP성태의 닷넷 이야기
Windows: 50. Windows Server 2008 R2 시스템에 Windows 7 멀티 부팅하는 방법 [링크 복사], [링크+제목 복사],
조회: 30998
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

Windows Server 2008 R2 시스템에 Windows 7 멀티 부팅하는 방법


테스트 머신은 Hyper-V가 설치되어 있습니다.

Hyper-V 사용 후기 
; https://www.sysnet.pe.kr/2/0/685

그런데, Hyper-V 설치 후에 치명적인 단점이 하나 있는 것이, 바로 "코어2쿼드 요크필드"로는 GPU 활용에 제약이 있다는 점입니다.

Hyper-V 시스템에서의 표준 비디오 드라이버 설치고려
; https://www.sysnet.pe.kr/2/1/1044

Hyper-V 시스템에서의 표준 비디오 드라이버 설치고려 - 두 번째 이야기
; https://www.sysnet.pe.kr/2/1/1045

Hyper-V와 고성능 그래픽 카드의 성능 문제 해결
; https://www.sysnet.pe.kr/2/0/801

그야말로 ^^; 비싼 그래픽 카드가 구매되어질 이유가 없다는 것! 그렇다고 Hyper-V를 밀어버리자니 가상화 환경이 너무 아쉽습니다. 어떻게 해야 할까 하다가,,, VHD를 이용한 다중 부팅 환경을 이번 기회에 테스트해보기로 했습니다. 가끔씩 개인 용도로 쓸 때는 Windows 7이 설치된 VHD 환경으로 부팅하고, 그 외에는 본래의 Windows 2008 R2로 부팅을 하자는 것이지요.

다행히도 이미 방법은 모두 공개되어 있습니다. 다음의 토픽에서 캡쳐화면과 함께 아주 상세히 기록되어 있습니다.

Windows 7 Boot from VHD
; http://edge.technet.com/Media/Windows-7-Boot-from-VHD/

Part 1 Create/Mount VHD files in Windows 7
; http://blogs.technet.com/aviraj/archive/2009/01/17/windows-7-boot-from-vhd-first-impression-part-1.aspx

Part 2 Boot from VHD in Windows 7
; http://blogs.technet.com/aviraj/archive/2009/01/18/windows-7-boot-from-vhd-first-impression-part-2.aspx

Part 3 Boot from VHD in Windows Vista
; http://blogs.technet.com/aviraj/archive/2009/01/28/windows-7-boot-from-vhd-first-impression-part-3-booting-vhd-from-vista-sp1-or-later.aspx

굳이 제가 다시 쓸 이유는 없지만, 그래도 혹시나 영어 토픽 자체를 보기 싫은 분들을 위해 / 또한 저도 언제든 편하게 열람할 수 있도록 직접 따라해본 사항을 여기에 올려놓겠습니다.




본격적으로 시작하기 전에 사전 준비 작업을 알아볼까요?

일단, VHD 파일을 만들어야 합니다. 이 방법에 대해서는 이미 이전의 글에서 설명해 두었습니다.

Windows 7 - VHD 파일 지원
; https://www.sysnet.pe.kr/2/0/842

위의 글에서 소개한 방법 중의 하나를 이용해서 VHD 파일을 하나 만들어 두고, "Attach VHD"를 이용해서 시스템에 연결합니다. 제 경우에는 해당 VHD에 "H" 드라이브 문자가 할당되었습니다. (참고로, Windows 7의 경우 설치 후 점유 공간이 5GB 정도가 넘기 때문에 설치할 S/W 공간과 함께 필요한 용량을 적절하게 산정하셔야 합니다.)

그리고, WAIK 도구를 아래의 경로에서 다운로드 합니다.

The Windows® Automated Installation Kit (AIK) for Windows® 7
; http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=en

다운로드 된 유형은 ISO 파일이기 때문에 CD-ROM으로 굽거나 DAEMON 툴을 이용해서 가상 CD-ROM으로 연결한 후 설치를 합니다.

마지막으로, Windows 7 설치 디스크를 준비합니다. 저 같은 경우에는 설치 디스크의 내용을 모두 USB로 복사해 두었고 드라이브 문자는 "G"가 할당되어 있습니다.

이걸로 준비 작업은 끝! 본격적으로 Windows 7로 부팅 가능한 VHD를 만들어보겠습니다.




우선, "시작" / "All Programs" / "Microsoft Windows AIK" / "Deployment Tools Command Prompt" 프로그램을 "관리자 권한"으로 실행하고, 해당 명령행에서 다음과 같이 실행합니다.

C:\Program Files\Windows AIK\Tools\PETools>imagex /apply g:\sources\install.wim 1 h:\

ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Version: 6.1.7600.16385

[ 100% ] Applying progress

Successfully applied image.

Total elapsed time: 4 min 41 sec

위에서 숫자 "1"을 인자로 주었는데 이것은 설치 디스크의 운영체제 버전 인덱스를 가리킨다고 합니다. 저 같은 경우에는 Windows 7 설치 디스크가 여러 버전(Home, Ultimate, Enterprise...)을 가지고 있지 않았기 때문에 상관없었지만, 다중 버전의 설치 이미지를 가지고 있는 사용자라면 반드시 위의 명령을 실행하기 전에 디스크의 유형을 확인하시고 지정해야 합니다.

인덱스 번호를 확인하고 싶다면 다음과 같이 명령을 주면 됩니다.

C:\Program Files\Windows AIK\Tools\PETools>imagex /info "g:\sources\install.wim"

ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Version: 6.1.7600.16385

WIM Information:
----------------
Path:        g:\sources\install.wim
GUID:        {d1c69277-b11c-42f4-bc66-975543c8328c}
Image Count: 1
Compression: LZX
Part Number: 1/1
Attributes:  0xc
             Integrity info
             Relative path junction


Available Image Choices:
------------------------
<WIM>
  <TOTALBYTES>1974314403</TOTALBYTES>
  <IMAGE INDEX="1">
    <DIRCOUNT>9826</DIRCOUNT>
    <FILECOUNT>48810</FILECOUNT>
    <TOTALBYTES>8067373012</TOTALBYTES>
    <CREATIONTIME>
    <LASTMODIFICATIONTIME>
      <HIGHPART>0x01CA0461</HIGHPART>
      <LOWPART>0x9F2E06D6</LOWPART>
    </LASTMODIFICATIONTIME>
    <WINDOWS>
      <ARCH>0</ARCH>
      <PRODUCTNAME>Microsoftr Windowsr Operating System</PRODUCTNAME>
      <EDITIONID>Enterprise</EDITIONID>

자, 이제 VHD 파일을 현재의 운영체제에서 연결을 해제(detach)합니다.


참고로, "Part 2 Boot from VHD in Windows 7" 글에서는 WAIK 툴을 사용하지 않고, Hyper-V에 구동되고 있던 Windows 7(또는 Windows Server 2008 R2)로부터 sysprep.exe를 이용하여 윈도우 이미지를 만드는 방법도 설명하고 있습니다. (물론, Hyper-V 뿐만 아니라 Virtual PC/Server, Windows Virtual PC 등에서 설치한 Windows 7 VHD 파일만 있다면 sysprep.exe로 동일하게 준비할 수 있습니다.)



다음으로, 부팅 메뉴에 위와 같이 준비한 VHD 항목이 올라오도록 해야 합니다. 이를 위해 다음과 같은 식으로 명령어를 실행합니다.

C:\Program Files\Windows AIK\Tools\PETools>bcdedit /copy {current} /d "Windows 7 x86"
The entry was successfully copied to {171d2348-d602-11de-b490-999bb0a62814}.

C:\Program Files\Windows AIK\Tools\PETools>bcdedit /set {171d2348-d602-11de-b490-999bb0a62814} device vhd=[E:]\win7x86\win7x86VM.vhd
The operation completed successfully.

C:\Program Files\Windows AIK\Tools\PETools>bcdedit /set {171d2348-d602-11de-b490-999bb0a62814} osdevice vhd=[E:]\win7x86\win7x86VM.vhd
The operation completed successfully.

C:\Program Files\Windows AIK\Tools\PETools>bcdedit /set {171d2348-d602-11de-b490-999bb0a62814} detecthal on
The operation completed successfully.

위와 같이 일련의 명령어를 실행한 후, 정상적으로 VHD 다중 부팅 항목이 추가되었는지 확인합니다.

C:\Program Files\Windows AIK\Tools\PETools>bcdedit /v

Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
...[생략]...
timeout                 30

Windows Boot Loader
-------------------
identifier              {171d2344-d602-11de-b490-999bb0a62814}
...[생략]...
resumeobject            {171d2343-d602-11de-b490-999bb0a62814}
nx                      OptIn

Windows Boot Loader
-------------------
identifier              {171d2348-d602-11de-b490-999bb0a62814}
device                  vhd=[E:]\win7x86\win7x86VM.vhd,locate=custom:12000002
path                    \Windows\system32\winload.exe
description             Windows 7 x86
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {171d2345-d602-11de-b490-999bb0a62814}
recoveryenabled         Yes
osdevice                vhd=[E:]\win7x86\win7x86VM.vhd,locate=custom:22000002
systemroot              \Windows
resumeobject            {171d2343-d602-11de-b490-999bb0a62814}
nx                      OptIn
detecthal               Yes

이걸로 끝!




컴퓨터를 재부팅하고 나면 다중 멀티 부트 환경이 구성되었기 때문에, 다음과 같이 운영체제 선택을 물어봅니다.

win7_bootfromvhd_1.jpg

그리고 나서 새롭게 운영체제 설치하는 과정과 유사한 단계를 거치면서 1~2번 정도 더 재부팅을 합니다. 운영체제 설치 후 재미있는 점이 몇가지 있는데요.

VHD로 구동되는 운영체제이다 보니 디스크 부분은 "가상화"에서 사용되는 기법이 사용되는 것 같습니다. 이 때문에 "Windows Experience Index(Windows 체험 지수)" 설정이 다음 화면과 같이 계산이 되지 않습니다. (디스크 계산 부분에서 더 이상 진행할 수 없다는 메시지가 나옵니다.)

win7_bootfromvhd_2.png

또한, VHD만으로 구동되어 "C:\" 드라이브만 있을 거라고 생각했는데 물리 디스크의 파티션 내용을 동일하게 드라이브로 매핑시켜서 올라옵니다. 대신에 VHD 자체가 C:\ 드라이브가 되고, 이전의 운영체제에 설치된 파티션들에 "D:\"... 이후의 드라이브가 할당됩니다.

위의 2가지 정도만을 제외하면 일반 운영체제 설치한 것과 동일하게 테스트가 됩니다. Aero 테마는 물론이고 3D 프로그램도 모두 정상적으로 구동됩니다.




마지막 팁이라면... USB 드라이브에 해당 VHD를 복사하고 부팅하는 방법은 다음의 글을 참고하세요.

Booting Windows 7 or 2008 from a vhd on a USB drive 
; https://docs.microsoft.com/en-us/archive/blogs/husseina/booting-windows-7-or-2008-from-a-vhd-on-a-usb-drive 



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/12/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 136  137  138  139  140  141  [142]  143  144  145  146  147  148  149  150  ...
NoWriterDateCnt.TitleFile(s)
1504정성태9/24/201330129.NET Framework: 387. UDP 브로드캐스팅을 이용해 서비스 측의 IP 주소를 구하는 방법 [1]파일 다운로드1
1503정성태9/21/201335300개발 환경 구성: 199. Visual Studio - github 연동 [7]
1502정성태9/21/201338906개발 환경 구성: 198. Visual Studio - git을 이용한 로컬 소스 컨트롤
1501정성태9/21/201345993개발 환경 구성: 197. Visual Studio를 위한 Git 환경 설정 [5]
1500정성태9/20/201344985.NET Framework: 386. C# 버전의 한글 형태소 분석기 [1]파일 다운로드1
1499정성태9/20/201321594개발 환경 구성: 196. Windows Azure - Cloud Service의 인스턴스 타입 변경하는 방법
1498정성태9/20/201327688Windows: 76. 윈도우 8.1 / 서버 2012 R2 마이그레이션 [5]
1497정성태9/20/201359935웹: 28. IE 11로 바꾼 후 발생하는 문제 정리
1496정성태9/20/201332268Windows: 75. 윈도우 8.1, 2012 R2 설치 후 원격 접속이 안 되는 문제
1495정성태9/20/201323410웹: 27. IE 11 - YBM Sisa.com에서 검색된 영단어의 발음 기호가 안 나오는 문제
1494정성태9/13/201333088.NET Framework: 385. Html Agility Pack 소개 - 웹 문서에서 텍스트만 분리하는 방법 [2]파일 다운로드1
1493정성태9/13/201334824.NET Framework: 384. WebClient.DownloadString 문자열 인코딩 문제
1492정성태9/13/201322256오류 유형: 186. The .NET assembly 'Microsoft.Vsa' could not be found.
1491정성태9/9/201325370.NET Framework: 383. RSAParameters의 ToXmlString과 ExportParameters의 결과 비교
1490정성태9/7/201360397기타: 34. 도서: 시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지 [7]
1489정성태9/4/201344838오류 유형: 185. 오피스 워드 파일이 저장되지 않는 문제 [2]
1488정성태8/27/201328968.NET Framework: 382. WCF에서 DataSet을 binary encoding으로 직렬화하는 방법파일 다운로드1
1487정성태8/27/201331286개발 환경 구성: 195. 로컬 PC에서의 WCF 통신을 Fiddler로 보는 방법 [1]
1486정성태8/27/201328770.NET Framework: 381. SqlCommand를 이용해 Microsoft SQL 서버의 쿼리 실행 계획을 구하는 방법파일 다운로드1
1485정성태8/26/201332445.NET Framework: 380. 프로세스 스스로 풀 덤프 남기는 방법 [3]파일 다운로드1
1484정성태8/23/201326669제니퍼 .NET: 24. 제니퍼 닷넷 적용 사례 (4) - GZIP 인코딩으로 인한 성능 하락
1483정성태8/23/201326782.NET Framework: 379. System.IO.MemoryStream, ArraySegment&lt;T&gt; 의 효율적인 사용법 [1]
1482정성태8/23/201320275.NET Framework: 378. Java / C# - 정수의 부호 유무에 따른 16진수 문자열 변환
1481정성태8/22/201321105오류 유형: 184. PaaS 유형(Cloud Services)의 Azure VM에 연결할 때 계정 만료 에러가 발생하는 경우
1480정성태8/22/201337755개발 환경 구성: 194. 윈도우 서버의 80 포트에 대한 port forwarding 설정 방법파일 다운로드1
1479정성태8/14/201325071오류 유형: 183. IIS - 바인딩 추가 시 Object reference not set to an instance of an object 오류 [5]
... 136  137  138  139  140  141  [142]  143  144  145  146  147  148  149  150  ...