Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13601정성태4/19/2024214닷넷: 2243. C# - PCM 사운드 재생(NAudio)파일 다운로드1
13600정성태4/18/2024284닷넷: 2242. C# - 관리 스레드와 비관리 스레드
13599정성태4/17/2024333닷넷: 2241. C# - WAV 파일의 PCM 사운드 재생(Windows Multimedia)파일 다운로드1
13598정성태4/16/2024355닷넷: 2240. C# - WAV 파일 포맷 + LIST 헤더파일 다운로드1
13597정성태4/15/2024438닷넷: 2239. C# - WAV 파일의 PCM 데이터 생성 및 출력파일 다운로드1
13596정성태4/14/2024806닷넷: 2238. C# - WAV 기본 파일 포맷파일 다운로드1
13595정성태4/13/2024921닷넷: 2237. C# - Audio 장치 열기 (Windows Multimedia, NAudio)파일 다운로드1
13594정성태4/12/20241021닷넷: 2236. C# - Audio 장치 열람 (Windows Multimedia, NAudio)파일 다운로드1
13593정성태4/8/20241051닷넷: 2235. MSBuild - AccelerateBuildsInVisualStudio 옵션
13592정성태4/2/20241207C/C++: 165. CLion으로 만든 Rust Win32 DLL을 C#과 연동
13591정성태4/2/20241169닷넷: 2234. C# - WPF 응용 프로그램에 Blazor App 통합파일 다운로드1
13590정성태3/31/20241073Linux: 70. Python - uwsgi 응용 프로그램이 k8s 환경에서 OOM 발생하는 문제
13589정성태3/29/20241143닷넷: 2233. C# - 프로세스 CPU 사용량을 나타내는 성능 카운터와 Win32 API파일 다운로드1
13588정성태3/28/20241197닷넷: 2232. C# - Unity + 닷넷 App(WinForms/WPF) 간의 Named Pipe 통신파일 다운로드1
13587정성태3/27/20241156오류 유형: 900. Windows Update 오류 - 8024402C, 80070643
13586정성태3/27/20241298Windows: 263. Windows - 복구 파티션(Recovery Partition) 용량을 늘리는 방법
13585정성태3/26/20241096Windows: 262. PerformanceCounter의 InstanceName에 pid를 추가한 "Process V2"
13584정성태3/26/20241049개발 환경 구성: 708. Unity3D - C# Windows Forms / WPF Application에 통합하는 방법파일 다운로드1
13583정성태3/25/20241158Windows: 261. CPU Utilization이 100% 넘는 경우를 성능 카운터로 확인하는 방법
13582정성태3/19/20241420Windows: 260. CPU 사용률을 나타내는 2가지 수치 - 사용량(Usage)과 활용률(Utilization)파일 다운로드1
13581정성태3/18/20241588개발 환경 구성: 707. 빌드한 Unity3D 프로그램을 C++ Windows Application에 통합하는 방법
13580정성태3/15/20241138닷넷: 2231. C# - ReceiveTimeout, SendTimeout이 적용되지 않는 Socket await 비동기 호출파일 다운로드1
13579정성태3/13/20241494오류 유형: 899. HTTP Error 500.32 - ANCM Failed to Load dll
13578정성태3/11/20241629닷넷: 2230. C# - 덮어쓰기 가능한 환형 큐 (Circular queue)파일 다운로드1
13577정성태3/9/20241876닷넷: 2229. C# - 닷넷을 위한 난독화 도구 소개 (예: ConfuserEx)
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...