Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 2. VPC에 Vista 설치하는 방법 [링크 복사], [링크+제목 복사],
조회: 17456
글쓴 사람
정성태 (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

... [76]  77  78  79  80  81  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
12036정성태10/14/201925434.NET Framework: 866. C# - 고성능이 필요한 환경에서 GC가 발생하지 않는 네이티브 힙 사용파일 다운로드1
12035정성태10/13/201919576개발 환경 구성: 461. C# 8.0의 #nulable 관련 특성을 .NET Framework 프로젝트에서 사용하는 방법 [2]파일 다운로드1
12034정성태10/12/201918893개발 환경 구성: 460. .NET Core 환경에서 (프로젝트가 아닌) C# 코드 파일을 입력으로 컴파일하는 방법 [1]
12033정성태10/11/201923091개발 환경 구성: 459. .NET Framework 프로젝트에서 C# 8.0/9.0 컴파일러를 사용하는 방법
12032정성태10/8/201919217.NET Framework: 865. .NET Core 2.2/3.0 웹 프로젝트를 IIS에서 호스팅(Inproc, out-of-proc)하는 방법 - AspNetCoreModuleV2 소개
12031정성태10/7/201916478오류 유형: 569. Azure Site Extension 업그레이드 시 "System.IO.IOException: There is not enough space on the disk" 예외 발생
12030정성태10/5/201923277.NET Framework: 864. .NET Conf 2019 Korea - "닷넷 17년의 변화 정리 및 닷넷 코어 3.0" 발표 자료 [1]파일 다운로드1
12029정성태9/27/201924107제니퍼 .NET: 29. Jennifersoft provides a trial promotion on its APM solution such as JENNIFER, PHP, and .NET in 2019 and shares the examples of their application.
12028정성태9/26/201919062.NET Framework: 863. C# - Thread.Suspend 호출 시 응용 프로그램 hang 현상을 해결하기 위한 시도파일 다운로드1
12027정성태9/26/201914807오류 유형: 568. Consider app.config remapping of assembly "..." from Version "..." [...] to Version "..." [...] to solve conflict and get rid of warning.
12026정성태9/26/201920231.NET Framework: 862. C# - Active Directory의 LDAP 경로 및 정보 조회
12025정성태9/25/201918537제니퍼 .NET: 28. APM 솔루션 제니퍼, PHP, .NET 무료 사용 프로모션 2019 및 적용 사례 (8) [1]
12024정성태9/20/201920449.NET Framework: 861. HttpClient와 HttpClientHandler의 관계 [2]
12023정성태9/18/201920914.NET Framework: 860. ServicePointManager.DefaultConnectionLimit와 HttpClient의 관계파일 다운로드1
12022정성태9/12/201924860개발 환경 구성: 458. C# 8.0 (Preview) 신규 문법을 위한 개발 환경 구성 [3]
12021정성태9/12/201940660도서: 시작하세요! C# 8.0 프로그래밍 [4]
12020정성태9/11/201923838VC++: 134. SYSTEMTIME 값 기준으로 특정 시간이 지났는지를 판단하는 함수
12019정성태9/11/201917389Linux: 23. .NET Core + 리눅스 환경에서 Environment.CurrentDirectory 접근 시 주의 사항
12018정성태9/11/201916188오류 유형: 567. IIS - Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive. (D:\lowSite4\web.config line 11)
12017정성태9/11/201920004오류 유형: 566. 비주얼 스튜디오 - Failed to register URL "http://localhost:6879/" for site "..." application "/". Error description: Access is denied. (0x80070005)
12016정성태9/5/201920012오류 유형: 565. git fetch - warning: 'C:\ProgramData/Git/config' has a dubious owner: '(unknown)'.
12015정성태9/3/201925406개발 환경 구성: 457. 윈도우 응용 프로그램의 Socket 연결 시 time-out 시간 제어
12014정성태9/3/201919158개발 환경 구성: 456. 명령행에서 AWS, Azure 등의 원격 저장소에 파일 관리하는 방법 - cyberduck/duck 소개
12013정성태8/28/201922066개발 환경 구성: 455. 윈도우에서 (테스트) 인증서 파일 만드는 방법 [3]
12012정성태8/28/201926624.NET Framework: 859. C# - HttpListener를 이용한 HTTPS 통신 방법
12011정성태8/27/201926220사물인터넷: 57. C# - Rapsberry Pi Zero W와 PC 간 Bluetooth 통신 예제 코드파일 다운로드1
... [76]  77  78  79  80  81  82  83  84  85  86  87  88  89  90  ...