Windows Vista

Windows PE 2.0을 위한 준비

Wes Miller

 

한 눈에 보기:

  • Microsoft Windows 이미징 기술
  • 드라이버 업데이트 및 서비스
  • 무인 설치 사용자 지정

지난 두 번의 TechNet Magazine 발행본에서는 Windows PE(Windows 사전 설치 환경)의 역사에 대해 이야기하면서 다양한 설계 관련 결정 사항 및 Windows® PE를 사용할 수 있는 방법을 설명했습니다. 이 기사에서는 Windows Vista™와 동시에 제공되는 Windows PE 2.0 버전에 대해 중점적으로 다루고자 합니다. 그러나 개별 기능을 사용하는 방법을 자세하게 설명하는 것보다는 Windows PE 2.0에서 사용할 수 있는 새 기능에 대해 개괄적으로 살펴볼 것입니다. 이 기사에서 실제적인 정보가 약간은 제공되겠지만 Windows PE 2.0 사용법에 대한 자세한 내용은 이후 기사에서 설명하겠습니다.

Windows Vista 관련 작업이 시작되었을 때 Windows 설치 팀(필자도 당시에 이 팀의 일원이었음)은 완전히 새로운 설치 아키텍처를 구축하고 배포에 도움이 되는 새 이미징 도구를 작성하며 RIS(원격 설치 서비스)를 대체하는 수단을 디자인하는 데 초점을 두었습니다. 그러나 그 이후로 관심의 대상은 중간 단계의 Windows PE 및 Windows XP 서비스 팩 2(SP2)로 옮겨졌다가 다시 Windows Server® 2003 SP1로 옮겨 갔습니다. 이는 Windows Vista의 Windows PE에 대한 개발 작업이 잠시 지체됨을 의미했습니다. 그러나 중간 단계의 Windows PE 업데이트를 통해 Windows PE 2.0 릴리스에 포함할 계획이었던 일부 기능을 제공할 수 있었습니다. 따라서 개발 작업이 원래의 방향을 크게 벗어나는 것은 아니었습니다.

Windows PE 팀에서는 Windows PE 2.0에 포함할 새로운 기능("Windows PE 2.0의 새로운 기능" 참조)을 선정하기 위해 지속 가능성 및 Windows PE 사용자의 일반적인 사용 사례에 초점을 두었습니다. 여기에서는 새로운 주요 기능에 대해 살펴보도록 하겠습니다.

이미지 작업

Microsoft® Windows 이미징(WIM) 기술 및 Windows 배포 서비스에 관련하여 알아야 하는 몇 가지 기본 개념이 있습니다. WIM은 Windows를 Sysprep 이미지라고 알려져 있는 이미지로 배포하는 데 사용하기 위해 처음부터 새롭게 설계되었습니다. WIM은 섹터에 기반을 두는 대부분의 이미징 도구와는 달리 파일에 기반을 둡니다. 이는 WIM이 하드 디스크의 모든 단일 섹터를 복제하는 대신에 각 파일 및 파일과 연관된 메타데이터(액세스 제어 목록, 짧은 파일 이름과 긴 파일 이름 등)를 선택하고 데이터를 단일 파일에 저장한다는 것을 의미합니다.

WIM 이미지의 주요 이점 중 하나는 단일 WIM 파일에 둘 이상의 볼륨 복사본(각각 볼륨 이미지라고 함)을 저장할 수 있다는 것입니다. 또한 캡처된 횟수에 상관없이 각 단일 파일은 한 번만 저장됩니다. 이것을 단일 인스턴싱(Single Instancing)이라고 합니다. 사용되는 기술이 매우 다르기는 하지만 기능적 측면에서 보면 이 기술은 원격 설치 서비스에 사용되는 기술과 비슷합니다. WIM 이미지를 만들기 위한 도구를 ImageX라고 합니다. 이전에는 이 도구를 XImage라고 했지만 이후에 이름이 변경된 것입니다.

Windows PE를 사용하여 운영 체제를 배포하는 새로운 이미지 기반 설치 엔진과 Windows Vista를 개발할 때 Windows 설치 팀은 미디어에서 공간을 절약하기 위해 몇 가지 트릭을 사용할 수 있다는 것을 알게 되었습니다. 당시에는 Windows Vista가 CD와 DVD 중에서 무엇으로 제공될지 확실하지 않았기 때문에 설치 프로그램이 차지하는 디스크 공간을 최소화하려고 했습니다. CD에서 Windows PE를 구성하는 모든 파일의 버전이 바로 옆에 있는 WIM 파일의 파일들과 동일했기 때문에 Windows PE를 WIM 파일 자체에 포함하고 이 파일에서 부팅하기로 결정했습니다. Windows 코어 운영 체제 팀의 설계자가 뛰어난 실력을 발휘한 덕분에 Windows 설치 팀의 이러한 아이디어가 일련의 프로토타입에 반영되었으며 2003년 Professional Developers Conference에서 릴리스된 "Longhorn"(지금의 Windows Vista)의 Developer Preview에 앞서 제품에 통합되었습니다. 현재 Windows PE는 미디어에 있는 하나의 WIM 파일(boot.wim)에 존재하며 설치 미디어는 또 다른 파일(install.wim)에 존재합니다. 원래 의도했던 Windows PE와 Window 간의 단일 인스턴싱이 더 이상 설치 미디어의 일부는 아니지만 Windows PE는 여전히 디스크에서 압축되어 공간이 절약되는 이점을 갖습니다. Windows PE 1.6에서 제공된 RAMDisk 부팅 기능의 통합으로 인해 초기 WIM 부팅 작업이 완료된 후에 초기 부팅 CD/DVD를 제거하기 위한 미디어 교환 기능이 추가되었습니다.

Windows PE 이미지를 WIM에 포함하는 것은 간단합니다. 먼저 ImageX를 사용하여 파일을 선택합니다. 이에 대해서는 이후 기사에서 자세하게 설명할 예정입니다. 그런 다음 /boot 플래그를 ImageX에 제공하여 이미지를 부팅 가능한 이미지로 표시하기만 하면 됩니다. 즉, 이 파일을 부팅 섹터로 생각할 수 있겠습니다. Windows 부팅 관리자가 WIM 파일을 로드할 때 WIM 파일의 이미지(한 개만 있거나 더 있을 수 있음)에 /boot 플래그를 통해 지정된 표식이 있을 경우, 이 이미지는 부팅이 가능합니다. Windows PE만 WIM 파일에서 부팅할 수 있다는 것에 주의하십시오. 모든 Windows Vista를 WIM에서 부팅할 수 있는 것은 아닙니다. 또한 CD 또는 DVD의 경우에 WIM은 읽기 전용입니다. 따라서 Windows PE의 WIM 이미지에서 부팅하여 파일을 수정하는 것은 불가능합니다. Windows PE를 변경하려면 WIM 자체를 수정해야 합니다.

드라이버 작업

Windows PE를 개발하는 과정에서는 항상 대용량 저장소 및 네트워킹 장치 지원에 주의를 기울였습니다. 그러나 Windows PE에서 새 시스템의 특정 장치가 지원되지 않는 문제가 여전히 발생했습니다. Windows PE 1.5에 장치 드라이버 추가를 위한 향상된 지원이 포함되어 있지만 Windows PE 2.0에서는 이 기능이 더욱 개선되었습니다. 이제 모든 유형의 장치가 지원되며 부팅 시에 작동하므로 factory.exe 또는 drvinst.exe가 필요하지 않습니다. 새 장치 드라이버를 Windows PE 2.0에 추가하려면 새 peimg.exe 도구를 실행하면 됩니다. 구문은 아래 나온 것처럼 간단합니다.

peimg.exe /inf drivername.inf builddirectory\Windows

drivername을 .inf의 이름(net*.inf와 같은 와일드카드가 허용됨)으로 대체하고 builddirectory를 Windows PE 이미지가 작성되는 디렉터리의 이름으로 바꿉니다.

스크래치 공간

Windows PE에서 실행되는 응용 프로그램에 자주 발생하는 문제는 여러 Windows 응용 프로그램 및 Windows 자체의 여러 구성 요소가 쓰기 가능한 저장소에서 실행되어야 한다는 것입니다. 이러한 응용 프로그램은 CD-R과 같은 읽기 전용 미디에서 실행될 경우 원치 않는 결과를 가져올 수 있습니다. 예를 들어 필자는 처음에 Windows PE에서 Microsoft Internet Explorer®를 실행하려고 했고 그런 다음에는 Windows 구성 요소인 MSHTA(Microsoft HTML Application)를 실행하려고 했는데 주요 DLL이 등록되지 않는 문제가 발생했습니다. 이는 등록 과정의 일부로 완료해야 하는 일부 작업에 쓰기 가능한 스토리지기 필요했기 때문입니다.

Windows PE 2.0에서는 파일 시스템 쓰기에 사용할 수 있는 최대 32MB의 스크래치 공간이 있으므로 이 문제가 발생하지 않습니다. 결과적으로 Windows PE의 읽기 전용 특성으로 인해 이전에 동작하지 않던 구성 요소가 이제 필요한 디스크에 쓰기를 수행할 수 있으므로 정상적으로 동작하는 것입니다. 이는 스크래치 공간이 다른 임시 드라이브가 되는 것이 아니라 부팅 볼륨과 동일한 볼륨에 존재한다는 점에서 Windows PE 사용자가 일반적으로 스크래치 공간으로 사용해 왔던 RAMDrive와는 다릅니다.

선택적 구성 요소

이전 버전의 Windows PE와 마찬가지로 새 버전은 기능을 추가하는 데 사용할 수 있는 선택적 구성 요소를 제공합니다. 이러한 구성 요소가 선택 항목인 이유는 추가할 경우 그만큼 크기가 증가하기 때문입니다. WSH(Windows 스크립트 호스트), WMI(Windows Management Instrumentation) 및 MSHTA는 계속 지원되는 한편, 이제는 MSXML, Windows Vista 복구 환경, 추가 Windows 글꼴, 일부 MDAC 지원이 포함된 이전의 ADO for SQL 지원을 대체하는 정식 MDAC(Microsoft Data Access Components) 등에 대한 지원을 추가할 수 있습니다. 무엇보다도 중요한 변경 사항은 이러한 구성 요소를 매우 쉽게 추가할 수 있다는 점입니다. 까다로운 WSH 스크립트를 통해 구현하는 대신에 앞에서 드라이버를 추가하는 데 사용했던 것과 동일한 도구인 peimg.exe를 사용하여 구성 요소를 쉽게 추가하거나 제거할 수 있습니다.

언어 팩

Windows Vista에서 처음에 추구했던 목표 중 하나는 Windows 2000에서 도입되어 Windows XP에서 향상된 MUI(다국어 사용자 인터페이스) 개념을 가져와 운영 체제 전체에서 구현하는 것이었습니다. Windows 2000 및 Windows XP에서는 처음에 영어가 아닌 언어를 지정할 수 있지만 MUI는 시작할 때 영어 버전의 운영 체제에 의존합니다. 즉, 영어 버전이 있는 경우에만 다른 언어를 원하는 만큼 확보할 수 있는 것입니다.

Windows Vista에서는 이 기능이 변경되었습니다. 여기에서 구체적인 사항을 설명하지는 않겠지만 이러한 변경 사항이 Windows PE에 중요하다는 점은 기억해야 합니다. 이전 버전의 Windows PE에는 MUI에 대한 공식적인 지원이 없었습니다. 따라서 언어 지원을 원하는 지역화된 언어의 Windows에서 작성해야 했습니다. 이제는 언어 지원을 추가하거나 변경하는 작업이 다른 선택적 구성 요소와 같은 방식으로 작동합니다. 즉, peimg.exe를 사용하여 특정 Windows PE 요구에 맞게 언어 팩을 추가하거나 제거합니다.

향상된 서비스

또한 이전 버전의 Windows PE는 서비스 지원이 부족했습니다. 서비스 팩을 추가하려면 Windows PE를 완전히 다시 작성해야 하고 핫픽스를 추가하려면 수동으로 다시 작성해야 했습니다. Windows PE는 크기가 작고, 제한된 Windows 기능을 포함하며, 오랫동안 실행되지 않는다는 사실 때문에 악명 높은 Blaster 취약점이 발견될 때까지 이러한 사항은 별다른 문제로 여겨지지 않았습니다. 그러나 Windows PE에는 원격 프로시저 호출이 포함되기 때문에 특정 상황에서는 이 취약점으로 인해 Windows PE가 계속 다시 부팅되는 문제가 발생할 수 있었습니다.

이러한 이유 때문에 Windows PE 1.5에는 Windows 방화벽이 포함되었습니다. 설치 팀은 이후 버전의 Windows PE가 정식 버전의 Windows와 마찬가지로 서비스를 받을 수 있도록 방향을 전환했습니다. Windows Vista에서 초점을 두는 핵심 영역 중 하나가 향상된 서비스 기능입니다. Windows PE도 마찬가지로 이 영역에 초점을 두었습니다. 또한 다른 선택적 구성 요소 및 언어처럼 Windows PE는 peimg.exe를 사용하여 업데이트를 수행합니다. 업데이트는 Windows 다운로드 센터를 통해 제공될 것입니다.

무인 파일 지원

factory.exe라는 작은 응용 프로그램을 구동하기 위해 이전 버전의 Windows PE에 포함되었던 winbom.ini를 사용해 본 사용자도 있을 것입니다. 새 버전에서는 이러한 항목이 대체되었습니다. 이제는 Windows PE를 사용자 지정하는 데 XML 인프라(Windows Vista의 무인 설치에 사용되는 것과 동일한 XML 메커니즘)를 사용할 수 있고 wpeinit.exe라는 새 응용 프로그램을 사용할 수 있습니다.

Wpeinit.exe는 Windows Vista의 표준 unattend.xml 형식을 사용하여 Windows PE 사용자 지정 및 동작을 지정합니다. 그림 1에서는 Windows PE를 사용자 지정하는 데 사용할 수 있는 예제 unattend.xml 파일을 보여 줍니다. unattend.xml 파일의 형식은 Windows OPK(OEM 사전 설치 키트) 및 잠시 후에 설명할 WAIK(Windows 자동 설치 키트)의 일부로 문서화됩니다.

Figure 1 unattend.xml 파일의 아키텍처

XML 파일 설명
<ComputerName>MyWinPEMachine</ComputerName>
Windows PE가 실행되는 컴퓨터의 이름을 MyWindowsPEMachine으로 설정합니다.
<Restart>Shutdown</Restart>
이전의 Windows PE 버전에서 실행했던 다시 부팅보다는 다시 시작에 따라 시스템을 종료합니다.
<RunSynchronous>
 
<RunSynchronousCommand> <Order>1</Order> <Path>notepad.exe</Path> </RunSynchronousCommand>
notepad.exe를 실행합니다.
<RunSynchronousCommand> <Order>2</Order> <Path>cmd.exe</Path> </RunSynchronousCommand>
notepad.exe가 완료되면 cmd.exe가 실행됩니다.
</RunSynchronous>
 
<EnableFirewall>true</EnableFirewall>
부팅 시 Windows 방화벽을 사용하도록 설정합니다.
<PageFile> <Size>1000</Size> <Path>C:\pagefile.sys</Path> </PageFile>
C: 드라이브에 페이지 파일을 1GB로 설정합니다.
<LogPath>C:\mylog.txt</LogPath>
wpeinit.exe의 출력 및 이 스크립트를 C:\mylog.txt에 기록합니다.

Windows 배포 서비스

앞에서 언급한 것처럼 설치가 CD, DVD 또는 네트워크에서 시작되는지 여부에 상관없이 통합 인프라로 이동함으로써 네트워크 기반 설치를 향상시키는 것이 주요 목표 중 하나였습니다. 그러나 Windows의 RIS 기반 설치를 수행할 때 꽤 많은 추가 작업을 설치 도중에 진행해야 합니다. 따라서 이러한 복잡하고 중복되는 작업을 최대한 제거해야 했으며 이를 위해 Windows 배포 서비스를 개발했습니다.

RIS와 마찬가지로 Windows 배포 서비스는 PXE 기반 설치입니다. 그러나 RIS와는 달리 Windows 배포 서비스는 네트워크를 통해 Windows PE를 시작하고 일반 CD 또는 DVD 기반 설치와 동일한 이미지 기반 설치 인프라를 활용하면서 Windows 2000부터 RIS가 제공했던 것과 같은 유형의 중앙 집중화된 엔터프라이즈 설치를 제공합니다. WIM 및 Windows 배포 서비스에 대해 논의해야 할 사항은 많지만 이 기사에서는 다루지 않으며 이후에 제공할 다른 기사에서 자세하게 살펴보겠습니다.

WAIK 사용

이 시점에서 Windows PE 2.0 시작 방법이 궁금할 수 있습니다. 첫 번째 단계는 WAIK를 얻는 것입니다. 이전 버전의 Windows PE는 Windows OPK 또는 Software Assurance 미디어의 일부로 제공되었습니다. 라이선스를 보유한 모든 Windows 고객이 곧 Windows PE 2.0을 사용할 수 있을 것이며 Microsoft는 OEM이 아닌 고객을 위해 WAIK를 만들었습니다.

WAIK는 Windows PE 2.0의 고유한 복사본을 만드는 데 필요한 모든 Windows PE 작성 도구를 제공합니다. 현재는 Windows Business Desktop Deployment(BDD) 2007 베타의 일부로 WAIK를 얻을 수 있습니다. BDD는 WAIK와 함께 해당 도구를 사용하는 방법에 대한 지침을 제공합니다. 당연한 일이겠지만 Windows PE 2.0과 Windows Vista에 포함된 다른 모든 새 설치 및 배포 기술에 익숙해지는 가장 좋은 방법은 지금 바로 실제로 사용해 보는 것입니다.

Windows PE 2.0의 새로운 기능

Windows PE 2.0에는 Windows PE 1.6의 모든 기능이 포함되어 있을 뿐 아니라 다음을 비롯한 여러 새 기능과 구성 요소가 제공됩니다.

  • Microsoft Windows 이미징(WIM) 이미지에서 부팅
  • 드라이버 삽입 및 실시간 플러그 앤 플레이 지원
  • 쓰기 가능한 스크래치 공간(CD에서 부팅할 경우 포함)
  • 쉽게 추가할 수 있는 선택적 구성 요소(Microsoft Core Extensible Markup Language Services, Windows 복구 환경, Microsoft Data Access Components)
  • 언어 팩
  • 무인 파일 지원
  • Windows PE 작성 및 업데이트를 위한 향상된 도구

Wes Miller는 텍사스 오스틴에 위치한 Pluck(www.pluck.com)의 개발 관리자로 근무하고 있습니다. 이전에는 오스틴에 있는 Winternals Software에서 근무했으며 Microsoft에서 프로그램 관리자 및 Windows 제품 관리자로도 근무한 경력이 있습니다. 문의 사항이 있으신 분은 technet@getwired.com으로 연락하시기 바랍니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..