Microsoft MVP성태의 닷넷 이야기
Windows: 50. Windows Server 2008 R2 시스템에 Windows 7 멀티 부팅하는 방법 [링크 복사], [링크+제목 복사],
조회: 31147
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11024정성태8/12/201621632오류 유형: 350. "nProtect GameMon" 실행 중에는 Visual Studio 디버깅이 안됩니다! [1]
11023정성태8/10/201623069개발 환경 구성: 293. Azure 구독 후 PaaS 서비스 만들어 보기
11022정성태8/10/201623748개발 환경 구성: 292. Azure Cloud Service 배포시 사용자 정의 작업을 추가하는 방법
11021정성태8/10/201620860오류 유형: 349. System.Runtime.Remoting.RemotingException - Type '..., ..., Version=..., Culture=neutral, PublicKeyToken=null' is not registered for activation [2]
11020정성태8/10/201623569VC++: 98. 원본과 대상 버퍼가 같은 경우 memcpy, wmemcpy 주의점
11019정성태8/10/201640216기타: 60. 도서: 시작하세요! C# 6.0 프로그래밍: 기본 문법부터 실전 예제까지 (2쇄 정오표)
11018정성태8/9/201624715.NET Framework: 600. 단일 메서드 내에서의 할당으로 알아보는 자바와 닷넷의 GC 차이점 [1]
11017정성태8/9/201626781웹: 33. HTTP 쿠키에 한글 값을 설정하는 방법
11016정성태8/7/201623940개발 환경 구성: 291. Windows Server Containers 소개
11015정성태8/7/201622226오류 유형: 348. Windows Server 2016 TP5에서 Windows Containers의 docker run 실행 시 encountered an error during Start failed in Win32
11014정성태8/6/201623029오류 유형: 347. Hyper-V Virtual Machine Management service Account does not have permission to open attachment
11013정성태8/6/201633740개발 환경 구성: 290. Windows 10에서 경험해 보는 Windows Containers와 docker [4]
11012정성태8/6/201623796오류 유형: 346. Windows 10에서 Windows Containers의 docker run 실행 시 encountered an error during CreateContainer failed in Win32 발생
11011정성태8/6/201625422기타: 59. outlook.live.com 메일 서비스의 아웃룩 POP3 설정하는 방법
11010정성태8/6/201622832기타: 58. Outlook에 설정한 SMTP/POP3(예:천리안 메일) 계정 암호를 잊어버린 경우
11009정성태8/3/201628015개발 환경 구성: 289. 2016-08-02부터 시작된 윈도우 10 1주년 업데이트에서 Bash Shell 사용 [8]
11008정성태8/1/201621796오류 유형: 345. 2의 30승 이상의 원소를 갖는 경우 버그가 발생하는 이진 검색(Binary Search) 코드
11007정성태8/1/201623541오류 유형: 344. RDP ActiveX 컨트롤로 특정 PC에 연결할 수 없을 때, 오류 상황을 해결하기 위한 팁파일 다운로드1
11006정성태7/22/201626544개발 환경 구성: 288. SSL 인증서를 Azure Cloud Service에 적용하는 방법
11005정성태7/22/201625193개발 환경 구성: 287. Let's Encrypt 인증서 업데이트 주기: 90일
11004정성태7/22/201620015오류 유형: 343. Invalid service definition or service configuration. Please see the Error List for more details.
11003정성태7/20/201627273VS.NET IDE: 110. Visual Studio 2015에서 .NET Core 응용 프로그램 개발 [1]
11002정성태7/20/201620754개발 환경 구성: 286. Microsoft Azure 서비스의 구독은 반드시 IE로!
11001정성태7/19/201631759.NET Framework: 599. .NET Core/SDK 설치 및 기본 사용법 [6]
11000정성태7/16/201620466오류 유형: 342. Microsoft Visual Studio 2010 Tools for Office Runtime (x86 and x64) 설치 시 오류
10999정성태7/16/201622014오류 유형: 341. .NET Framework 4.5.2가 설치 안 되는 경우
... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...