Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 2. VPC에 Vista 설치하는 방법 [링크 복사], [링크+제목 복사],
조회: 13882
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


혹시 설치해 보신 분이 계실지 모르겠네요. ^^
설치하다가 포기하신 분도 계시겠지요.

일단, 제가 이리저리 해본 결과를 말씀드리겠습니다.

참고로, 이번에 설치한 것은 Windows Vista Beta2입니다.
Vista는 5가지 버전으로 나뉘는 데(Ultimate, Business, Enterprise, Home Premium, Home Basic), 공개된 Vista Beta2에는 모든 버전이 포함되어져 있습니다. 그런데, Product Key에는 Enterprise 버전에 대한 키가 누락되어 있습니다.

아무래도, 제한된 자원의 VPC에 설치하는 것이기 때문에 Vista Ultimate 버전으로 설치하지 않고, Vista Business 버전이 가장 나을 것 같다는 결정을 했고, 그에 대한 Business Product Key를 구했습니다.

제가 구성한 환경은 Virtual Server 2005에서의 VPC입니다.


1. Virtual Machine 생성 후 바로 종료를 한 다음, 기존에 만들어진 VM에 Vista VPC에 할당된 VHD 파일을 attach 시킨 다음, 해당 VM으로 부팅을 해서 VHD 드라이브를 포맷해 줍니다. 이 과정을 거치지 않으면, Vista 설치 도중 운영체제 복사 시점부터 진행할 수가 없습니다. 즉, Vista VM에서 사용할 VHD 파일은 반드시 포맷되어져 있어야 합니다.

2. 다음엔, VPC의 VMC 환경 설정에 CD-ROM 구성을 다운로드 받은 Vista ISO 파일로 연결하는 것에서부터 시작할 것입니다. 하지만, 이렇게 하시는 경우 Vista 설치 중간에 오류가 발생하는 현상이 반복되었습니다. 다음과 같은 오류 메시지를 나타내고는 더 이상 설치가 진행되지 않습니다.

 "Setup failed to open the Windows image file"

그래서, CD-ROM을 Vista ISO 파일에 바로 연결하지 않고, Host 운영체제에 Virtual CD-ROM Control Panel 등을 사용해서 가상 CD-ROM을 만들어서 Vista ISO 파일을 연결한 다음, VPC 환경에서 "Physical CD/DVD Drive"로 연결해야 합니다.

 Virtual Server 2005: 바로 ISO 파일을 연결한 경우 오류 발생.
 Virtual Server 2005 R2: 바로 ISO 파일을 연결해도 정상 동작. 


3. 위와 같이만 해도, Vista 설치 작업은 정상적으로 진행이 될 수 있습니다. 사실 Vista "설치"라고 보기에는 무리가 있는 것이, 아래에 보시는 것과 같이 "설치"라기 보다는 "완전 복사"의 형태를 띄고 있는 것 같습니다. 3GB의 ISO 파일 내용이 그대로 VHD에 복사되어 3GB가 소모됩니다. 거기에다, Expanding 작업까지 거치고 난 다음 (제가 구성한 Vista의 경우) 결국 8GB에 이르게 되었습니다.

Vista 파일 복사

4. 기본 설치를 마치고 나면, 무슨 작업만 하려고 하면 "consent.exe" 파일이 활성화 되어 (이것도 CPU 소모율을 잠시 40%를 넘게 유지시킴) "User Account Control" 정책에 따른 확인 대화창을 띄우게 됩니다. 우리 같은 개발자들은 시스템을 건드리는 것이 업무인데, 이런 상황은 도저히 용서가 되지 않습니다. 가장 먼저, 이 기능을 disable 시키는 것이 정신 건강에 이로울 텐데요. cmd.exe 창에서 "msconfig.exe"라고 치면 대화창이 하나 뜨는데요. "Tools" 탭을 누르고, "Disable UAP"라는 항목을 선택해서 "Launch" 버튼을 누르면 됩니다. 물론, 그다음에는 재부팅을 해야 하는데, 이후에는 대화창이 뜨지 않게 됩니다.

5. 작업 관리자 또는 Virtual Server의 CPU 활용율 그래프가 항상 97%를 웃돌고 있는 것을 볼 수 있습니다. 이래서야 애써 설치해 놓은 VPC를 다시는 들어오고 싶지 않을 텐데요. 우선 CPU 활용율부터 안정을 시켜야 할 텐데, 이를 위해서는 활성화된 서비스 목록에서 필요하지 않을 것 같은 항목들을 disable 시키는 것이 좋겠습니다.

그런데, 그러한 서비스 활성화 조정을 위해서 "Services" MMC로 들어가서 서비스에 대해 "Properties"를 누르니 30% 정도의 확률로 MMC가 죽어버리고, 그와 함께 오류 보고 기능이 작동되어 (시스템이 너무 느려져서) 한동안 아무것도 하지 못하게 됩니다.

저같은 경우에는 다음의 서비스들에 대해서 "Disabed"로 설정했습니다.

  - Application Experience
  - Base Filtering Engine
  - Certificate Propagation
  - Diagnostic Policy
  - Diagnostic System Host
  - Distributed Link Tracking CLient
  - External Memory Devices Management Service
  - Human Interface Device Access
  - IKE and AuthIP IPSec Keying Modules
  - IP Helper
  - IP Sec
  - Multimedia Class Scheduler
  - Portable Device Enumerator Service
  - Print Spooler
  - Security Center
  - Shell Hardware Detection
  - SSDP Discovery
  - Tablet PC Input Service
  - Thread Ordering Server
  - UPnP Device Host
  - Windows Audio
  - Windows Audio Endpoint Builder
  - Windows Defender
  - Windows Error Reporting Service
  - Windows Firewall
  - Windows Media Player Network Sharing Service
  - Windows Search

6. "Task Scheduler"에 가서 다음의 사항들에 대해서 Disabled로 만들어 버렸습니다.

  Customer Experience Improvement Program 
     Consolidator - Disabled
     OptinNotification - Disabled
     UploaderRunOnc - Disabled

  Defrag
     - AutomaticDefrag - Disabled

  MobilePC
     - TMM - Disabled

  Multimedia
     - SystemSoundsService - Disabled
 
  Shell
     - CrawlStartPages - Disabled
     - FrsMonitor - Disabled

  Windows Error Reporting
     - QueueReporting - Disabled

7. 위와 같이 설정하고 나면, 아래 화면과 같이 CPU 활용율이 아주 잠잠해진 것을 볼 수 있습니다. 음... 그렇다면 이 시점에서 한 가지 물어보실 텐데요. "그러한 서비스들을 모두 종료시킬 거면 도대체 뭐하러 Vista를 설치하느냐?" ^^; 아무리 그래도, VPC에 들어가서 속도가 느린 것으로 짜증내는 것보다는 낫다는 것이 제 생각입니다. 일단, CPU를 잠잠하게 재우고, 여러분들이 테스트해야 할 것이 있다면 선택적으로 살려가시는 것이 더 좋겟지요. ^^

CPU 활용율

8. 자... 이제 다음 화면과 같이 최종 구성된 Vista 화면을 볼 수가 있습니다.
제 생각에는 웬만한 기능들은 자신의 PC에 WinFX Runtime을 설치해서 테스트하시고, IIS 7.0이나 Vista에서만 지원되는 API가 있는 경우에만 VPC에 설치된 Vista를 이용하시는 것이 바람직할 것 같습니다.

VPC에서 활성화된 Vista Beta2






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

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

비밀번호

댓글 작성자
 



2006-05-27 12시24분
참고로, "Activation" 하시는 것 잊지 마시고요. ^^
IIS 설치는 추가로 해주셔야 합니다.
kevin25
2006-05-27 12시27분
Virtual Machine Additions도 정상적으로 동작하니 꼭 설치하십시오. 마우스가 잠기는 것이 여간 귀찮은 일이 아니거든요.
kevin25

1  2  3  4  5  6  7  8  [9]  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13447정성태11/16/20233523닷넷: 2162. ASP.NET Core 웹 사이트의 SSL 설정을 코드로 하는 방법
13446정성태11/16/20233426닷넷: 2161. .NET Conf 2023 - Day 1 Blazor 개요 정리
13445정성태11/15/20233768Linux: 62. 리눅스/WSL에서 CA 인증서를 저장하는 방법
13444정성태11/15/20233493닷넷: 2160. C# 12 - Experimental 특성 지원
13443정성태11/14/20233381개발 환경 구성: 687. OpenSSL로 생성한 사용자 인증서를 ASP.NET Core 웹 사이트에 적용하는 방법
13442정성태11/13/20233161개발 환경 구성: 686. 비주얼 스튜디오로 실행한 ASP.NET Core 사이트를 WSL 2 인스턴스에서 https로 접속하는 방법
13441정성태11/12/20233637닷넷: 2159. C# - ASP.NET Core 프로젝트에서 서버 Socket을 직접 생성하는 방법파일 다운로드1
13440정성태11/11/20233220Windows: 253. 소켓 Listen 시 방화벽의 Public/Private 제어 기능이 비활성화된 경우
13439정성태11/10/20233986닷넷: 2158. C# - 소켓 포트를 미리 시스템에 등록/예약해 사용하는 방법(Port Exclusion Ranges)파일 다운로드1
13438정성태11/9/20233382닷넷: 2157. C# - WinRT 기능을 이용해 윈도우에서 실행 중인 Media App 제어
13437정성태11/8/20233523닷넷: 2156. .NET 7 이상의 콘솔 프로그램을 (dockerfile 없이) 로컬 docker에 배포하는 방법
13436정성태11/7/20233754닷넷: 2155. C# - .NET 8 런타임부터 (Reflection 없이) 특성을 이용해 public이 아닌 멤버 호출 가능
13435정성태11/6/20233680닷넷: 2154. C# - 네이티브 자원을 포함한 관리 개체(예: 스레드)의 GC 정리
13434정성태11/1/20233438스크립트: 62. 파이썬 - class의 정적 함수를 동적으로 교체
13433정성태11/1/20233003스크립트: 61. 파이썬 - 함수 오버로딩 미지원
13432정성태10/31/20233332오류 유형: 878. 탐색기의 WSL 디렉터리 접근 시 "Attempt to access invalid address." 오류 발생
13431정성태10/31/20233705스크립트: 60. 파이썬 - 비동기 FastAPI 앱을 gunicorn으로 호스팅
13430정성태10/30/20233493닷넷: 2153. C# - 사용자가 빌드한 ICU dll 파일을 사용하는 방법
13429정성태10/27/20233673닷넷: 2152. Win32 Interop - C/C++ DLL로부터 이중 포인터 버퍼를 C#으로 받는 예제파일 다운로드1
13428정성태10/25/20233754닷넷: 2151. C# 12 - ref readonly 매개변수
13427정성태10/18/20233995닷넷: 2150. C# 12 - 정적 문맥에서 인스턴스 멤버에 대한 nameof 접근 허용(Allow nameof to always access instance members from static context)
13426정성태10/13/20234088스크립트: 59. 파이썬 - 비동기 호출 함수(run_until_complete, run_in_executor, create_task, run_in_threadpool)
13425정성태10/11/20233947닷넷: 2149. C# - PLinq의 Partitioner<T>를 이용한 사용자 정의 분할파일 다운로드1
13423정성태10/6/20233973스크립트: 58. 파이썬 - async/await 기본 사용법
13422정성태10/5/20234054닷넷: 2148. C# - async 유무에 따른 awaitable 메서드의 병렬 및 예외 처리
13421정성태10/4/20234133닷넷: 2147. C# - 비동기 메서드의 async 예약어 유무에 따른 차이
1  2  3  4  5  6  7  8  [9]  10  11  12  13  14  15  ...