Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 2. VPC에 Vista 설치하는 방법 [링크 복사], [링크+제목 복사],
조회: 13883
글쓴 사람
정성태 (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)
13525정성태1/13/20242836오류 유형: 891. Visual Studio - Web Application을 실행하지 못하는 IISExpress
13524정성태1/12/20242909오류 유형: 890. 한국투자증권 KIS Developers OpenAPI - GW라우팅 중 오류가 발생했습니다.
13523정성태1/12/20242647오류 유형: 889. Visual Studio - error : A project with that name is already opened in the solution.
13522정성태1/11/20242998닷넷: 2200. C# - HttpClient.PostAsJsonAsync 호출 시 "Transfer-Encoding: chunked" 대신 "Content-Length" 헤더 처리
13521정성태1/11/20243151닷넷: 2199. C# - 한국투자증권 KIS Developers OpenAPI의 WebSocket Ping, Pong 처리
13520정성태1/10/20242808오류 유형: 888. C# - Unable to resolve service for type 'Microsoft.Extensions.ObjectPool.ObjectPool`....'
13519정성태1/10/20242800닷넷: 2198. C# - Reflection을 이용한 ClientWebSocket의 Ping 호출파일 다운로드1
13518정성태1/9/20243077닷넷: 2197. C# - ClientWebSocket의 Ping, Pong 처리
13517정성태1/8/20242910스크립트: 63. Python - 공개 패키지를 이용한 위성 이미지 생성 (pystac_client, odc.stac)
13516정성태1/7/20242901닷넷: 2196. IIS - AppPool의 "Disable Overlapped Recycle" 옵션의 부작용
13515정성태1/6/20243354닷넷: 2195. async 메서드 내에서 C# 7의 discard 구문 활용 사례 [1]
13514정성태1/5/20242978개발 환경 구성: 702. IIS - AppPool의 "Disable Overlapped Recycle" 옵션
13513정성태1/5/20242986닷넷: 2194. C# - WebActivatorEx / System.Web의 PreApplicationStartMethod 특성
13512정성태1/4/20242974개발 환경 구성: 701. IIS - w3wp.exe 프로세스의 ASP.NET 런타임을 항상 Warmup 모드로 유지하는 preload Enabled 설정
13511정성태1/4/20243013닷넷: 2193. C# - ASP.NET Web Application + OpenAPI(Swashbuckle) 스펙 제공
13510정성태1/3/20242840닷넷: 2192. C# - 특정 실행 파일이 있는지 확인하는 방법 (Linux)
13509정성태1/3/20242953오류 유형: 887. .NET Core 2 이하의 프로젝트에서 System.Runtime.CompilerServices.Unsafe doesn't support netcoreapp2.0.
13508정성태1/3/20242913오류 유형: 886. ORA-28000: the account is locked
13507정성태1/2/20243763닷넷: 2191. C# - IPGlobalProperties를 이용해 netstat처럼 사용 중인 Socket 목록 구하는 방법파일 다운로드1
13506정성태12/29/20233322닷넷: 2190. C# - 닷넷 코어/5+에서 달라지는 System.Text.Encoding 지원
13505정성태12/27/20234085닷넷: 2189. C# - WebSocket 클라이언트를 닷넷으로 구현하는 예제 (System.Net.WebSockets)파일 다운로드1
13504정성태12/27/20233530닷넷: 2188. C# - ASP.NET Core SignalR로 구현하는 채팅 서비스 예제파일 다운로드1
13503정성태12/27/20233292Linux: 67. WSL 환경 + mlocate(locate) 도구의 /mnt 디렉터리 검색 문제
13502정성태12/26/20233390닷넷: 2187. C# - 다른 프로세스의 환경변수 읽는 예제파일 다운로드1
13501정성태12/25/20233124개발 환경 구성: 700. WSL + uwsgi - IPv6로 바인딩하는 방법
13500정성태12/24/20233298디버깅 기술: 194. Windbg - x64 가상 주소를 물리 주소로 변환
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...