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

... 106  107  108  109  110  111  112  113  [114]  115  116  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11074정성태10/20/201629278Windows: 126. Windows Server 2016 평가판을 정식 버전으로 라이선스 변경하는 방법
11073정성태10/20/201625279.NET Framework: 613. 윈도우 데스크톱 응용 프로그램(예: Console)에서 알림 메시지(Toast notifications) 띄우기 [1]파일 다운로드1
11072정성태10/20/201621836VC++: 102. 새로 추가한 ATL COM 객체가 regsvr32.exe로 등록이 안 되는 문제
11071정성태10/20/201625375.NET Framework: 612. UWP(유니버설 윈도우 플랫폼) 앱에서 콜백 함수 내에서의 UI 요소 접근 방법 [1]
11070정성태10/20/201619615Windows: 125. 윈도우 서버 2016 마이그레이션
11069정성태10/19/201627300.NET Framework: 611. C++ 개발자들을 위한 C# Thread 동작 방식 [2]
11068정성태10/19/201630502Windows: 124. 윈도우 운영체제의 시간 함수 (5) - TSC(Time Stamp Counter)와 QueryPerformanceCounter [12]파일 다운로드1
11067정성태10/18/201626814Windows: 123. 윈도우 운영체제의 시간 함수 (4) - RTC, TSC, PM Clock, HPET Timer [2]
11066정성태10/17/201624466Windows: 122. 윈도우 운영체제의 시간 함수 (3) - QueryInterruptTimePrecise, QueryInterruptTime 함수파일 다운로드1
11065정성태10/15/201629878Windows: 121. 윈도우 운영체제의 시간 함수 (2) - Sleep 함수의 동작 방식 [1]
11064정성태10/14/201621586.NET Framework: 610. C# - WaitOnAddress Win32 API 사용파일 다운로드1
11063정성태10/14/201637700Windows: 120. 윈도우 운영체제의 시간 함수 (1) - GetTickCount와 timeGetTime의 차이점 [5]파일 다운로드1
11062정성태10/12/201618307오류 유형: 361. WCF .svc 호출 시 Could not find a base address that matches scheme net.tcp 예외
11061정성태10/12/201630452오류 유형: 360. IIS - 500.19 오류 (0x80070021)
11060정성태10/12/201622916오류 유형: 359. WCF - .svc 요청시 404 Not Found
11059정성태10/11/201627155.NET Framework: 609. WPF - 다중 스레드 환경에서 데이터 바인딩의 INotifyPropertyChanged.PropertyChanged에 대한 배려 [1]파일 다운로드1
11058정성태10/8/201622471개발 환경 구성: 303. Windows 10 Bash Shell - 한글 환경을 영문으로 바꾸고 싶다면?
11057정성태10/8/201617850오류 유형: 358. Windows 10 bash shell - sudo: unable to resolve host ...
11056정성태10/8/201620742개발 환경 구성: 302. Windows 10 bash shell 시작 시 [...] packages can be updated.
11055정성태10/8/201621786.NET Framework: 608. double 값을 구할 때는 반드시 피연산자를 double로 형변환! [6]
11054정성태10/5/201625779개발 환경 구성: 301. "Let's Encrypt" SSL 인증서를 Azure Cloud Services(classic)에 업데이트하는 방법
11053정성태10/5/201620530.NET Framework: 607. C# try/catch/finally의 IL 코드 표현
11052정성태9/27/201634672개발 환경 구성: 300. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 [7]파일 다운로드1
11051정성태9/25/201621847개발 환경 구성: 299. docker - c:\programdata\docker\windowsfilter 폴더 정리하는 방법파일 다운로드1
11050정성태9/24/201626554VC++: 101. 반올림하지 않고 double 변수 값 출력하는 방법 [3]
11049정성태9/24/201621010오류 유형: 357. 윈도우 백업 시 오류 - 0x81000037
... 106  107  108  109  110  111  112  113  [114]  115  116  117  118  119  120  ...