본문 바로가기

Golden City of El Dorado


기술 잡지

Windows Automated Installation Kit

Microsoft는 지금까지 Windows 배포 팀에서 만든 두 가지 버전의 배포 도구를 제공해 왔습니다. 첫 번째 버전은 deploy.cab 파일의 형태로 수년간 Windows CD에 실려 제공되어 왔습니다. 여기에는 무인 설치 파일을 만드는 데 사용되는 설치 관리자 등의 도구와 설명서가 포함되어 있었습니다.

또한 여기에는 데스크톱 배포를 준비하기 위해 사용되는 Sysprep 도구도 포함되어 있었습니다. 다른 버전의 배포 도구는 OPK(OEM 사전 설치 키트)로서, 특히 OEM 시스템 제조업체의 필요에 맞게 제작되어 해당 업체에만 제공되었습니다. 이 방식이 초기에 Windows® PE가 배포되었던 방법입니다. Windows Vista™용으로 나온 새 OPK 버전이 있기는 하지만 종전과 같이 OEM에게만 제공될 예정입니다.

하지만 다행히도, Windows XP 시기에 Windows PE를 구입할 수 없었던 Microsoft 고객을 비롯한 대부분의 다른 Microsoft 고객들은 WAIK(Windows Automated Installation Kit)라는 OPK와 비슷한 도구를 사용할 수 있을 것으로 보입니다. WAIK는 Windows Vista 출고 후 microsoft.com/downloads에서 무료로 다운로드할 수 있으며 여기에 포함될 구성 요소로는 Windows PE 2.0, WDS(Windows 배포 서비스), ImageX 및 Windows 시스템 이미지 관리자(이전에 언급한 적은 없지만 unattend.xml 파일을 만들어 설치를 자동화할 수 있는 도구)가 있습니다. 또한 모든 도구에 대한 전체 설명서도 포함됩니다.

WAIK를 구할 때는 www.microsoft.com/korea/technet/desktopdeployment/default.mspx에서 정식 BDD(Business Desktop Deployment Solution Accelerator)를 다운로드하는 것이 좋습니다. 여기에는 WAIK뿐만 아니라 USMT(사용자 상태 마이그레이션 도구)와 ACT(응용 프로그램 호환성 도구 키트)까지 포함되어 있습니다. BDD에는 성공적인 Windows Vista 배포를 위한 추가 도구와 지침도 들어 있습니다.

Windows PE 2.0

Windows PE 2.0에 대해서는 TechNet Magazine 2006년 11월호에서 상당히 깊이 있게 다루었으므로 여기서는 너무 자세히 들어가지 않겠습니다. 다만 WAIK가 Windows Vista용 새 Windows PE 빌드의 공식 릴리스를 제공할 것이라는 점만 짚고 넘어가겠습니다. WAIK의 다른 모든 도구는 어떤 측면에서 Windows PE를 사용하거나 Windows PE를 가지고 작업하기 때문에 Windows PE를 잘 알아 두는 것이 중요합니다. Windows PE 2.0에 대한 제 글은 여기에서 찾을 수 있습니다. .

ImageX

지난 칼럼에서는 WIM(Windows 이미징) 파일 형식을 다루는 데 상당한 시간을 할애했습니다(www.microsoft.com/technet/technetmag/issues/2006/12/desktopfiles(영문) 참조). 이번 칼럼에서는 작지만 강력한 명령줄 도구로서 Windows Vista의 기본 제공 이미징을 가능하게 하는 ImageX에 대해 살펴보겠습니다. 당초 ImageX를 계획할 때는 GUI 기반 도구를 만들려고 했지만 중요한 요소가 이미징 프로세스의 자동화였기 때문에 명령줄에 초점을 맞추기로 결정했습니다. ImageX의 명령줄 옵션은 그림 1을 참조하십시오.

clip_image001
그림 1 실행 중인 ImageX 명령줄 도구 (Click the image for a smaller view)

clip_image002
그림 1 실행 중인 ImageX 명령줄 도구 (Click the image for a larger view)

나중에 설명할 WDS(Windows 배포 서비스)도 손쉽게 이미지를 캡처할 수 있는 간편한 GUI 도구를 제공하지만 ImageX 기능을 완벽하게 제공하지는 않습니다. ImageX는 Windows PE에서 배포할 이미지를 캡처하도록 설계되고 테스트되었다는 사실을 알아두는 것도 중요합니다. ImageX는 실행 중인 Windows 시스템의 이미지를 “실시간”으로 캡처하도록 설계되지는 않았습니다.

다른 시스템의 이미징 도구에 익숙하다면 ImageX도 어느 정도 익숙할 것입니다. ImageX는 이미지를 간단히 캡처하고 적용할 수 있도록 사용하기 쉽게 설계되어 있으면서도, 과거에 많이 사용되었던 배포 도구에서 빠졌거나 완벽하게 지원하지 않았던 중요한 기능을 가지고 있습니다. 뒤에서 잠깐 다루겠지만 일단 한 가지 예로서, 이미지를 로컬 파일 시스템의 일부로 쉽고 투명하게 탑재하여 기존 이미지 내에서 파일을 보거나 수정하거나 삭제할 수 있다는 점을 들 수 있습니다.

ImageX는 그림 2와 같은 이미지 조작 스위치를 제공합니다. 구체적인 명령 몇 개를 골라 좀 더 깊이 있게 설명해 보겠습니다.

캡처 명령은 비교적 명확합니다. WIM당 한 번만 캡처를 사용한다는 것만 기억하면 됩니다. WIM 파일은 그냥 파일 캡처이기 때문에 전체 볼륨(C:)이나 디렉터리(C:\Test)만도 캡처할 수 있습니다. 응용 프로그램도 마찬가지입니다. 이미지를 디렉터리에 적용할 수도 있고(전체 볼륨을 캡처한 경우도 마찬가지), 더 흔한 경우로 볼륨의 루트에도 적용할 수 있습니다. WIM에 이미 단일 볼륨 이미지가 존재하면 추가 명령을 사용하여 WIM에 추가하면 됩니다. 적용 명령도 비교적 명확하지만 여러 WIM 파일을 적용하는 경우에만 복잡해집니다. 삭제 명령은 특정 볼륨 이미지에 대한 참조를 제거할 경우 유용하지만 해당 이미지에서 데이터를 완벽하게 제거하려면 내보내기를 사용하여 데이터가 전혀 들어 있지 않은 새 WIM을 만들어야 합니다. 다시 말하면, 남아 있는 데이터를 제거하여 이미지 크기를 줄이려는 경우에는 내보내기를 사용해야 합니다. 내보내기는 하나의 볼륨 이미지를 하나 이상의 WIM 파일로 엮거나 그 자체로 완벽한 독립 실행형 WIM 파일로 내보내는 조합 또는 통합 도구라고 생각하면 쉽습니다. ImageX는 IMAGEX /MOUNT, IMAGEX /MOUNTRW, IMAGEX /UNMOUNT와 같은 이미지 편집 스위치도 제공합니다.

앞서 언급했듯이 제품 팀은 아주 초기 단계부터 편집 기능을 이미지 도구와 형식에 통합하였습니다. 편집이 가능하기 때문에 고객들은 형식과 도구를 사용하여 파일을 복사하거나, 서비스 팩을 적용하거나, 파일이나 독립 실행형 응용 프로그램을 추가/제거하거나, 또는 필요에 따라 이미지에서 다른 데이터를 추가/제거할 수 있습니다. 심지어 레지스트리 탑재 및 수정도 가능합니다. 이미지 서비스는 항상 중요한 문제였습니다.

이미지를 탑재하는 것은 WIM 파일을 가상 디렉터리로 로드하는 것이라고 생각하면 됩니다. 이 기능에 익숙하다면 좀 더 쉽게 유추해 볼 수 있는 예로 볼륨 탑재 지점을 들 수 있는데, 이는 전체 볼륨을 다른 볼륨에 존재하는 디렉터리에 탑재하는 것입니다. 이 경우, 예를 들면 F: 드라이브가 C:\DriveF로 보입니다. 비슷한 예로, Microsoft® Virtual CD 도구나 다른 ISO 탑재 도구를 사용하여 ISO(CD) 이미지를 로컬 드라이브로 탑재해 본 적이 있을 것입니다. 이와 동일한 방식으로 ImageX에서도 WIM 파일을 디렉터리 위에 탑재할 수 있습니다. 먼저 디렉터리를 만든 다음 탑재 명령을 사용하여 지정된 볼륨 이미지를 디렉터리에 적용하는 것처럼 디렉터리 위에 탑재합니다.

그러나 가상 CD 도구와 달리 WIM 이미지가 공유 네트워크에 있거나 이동식 미디어에 있을 때도 WIM 이미지를 탑재할 수 있습니다. 물론 이 경우 편집 기능이 제한될 수 있습니다. 한 예로, 옵티컬 미디어(CD 또는 DVD)의 WIM은 일반적으로 읽기 전용 모드에서 편집이 가능합니다. 또한 읽기/쓰기 모드에서 편집하는 경우 WIM의 볼륨 이미지는 한 번에 하나만 편집할 수 있습니다. 이는 이미지를 분리할 때 파일을 적절하게 잠그고 안전하게 업데이트하기 위해서입니다.

이미지는 읽기 전용(/mount) 또는 읽기/쓰기(/mountrw)로 탑재할 수 있습니다. 읽기/쓰기를 사용하면 이미지 수정 사항이 일시적으로 캐시되지만 다시 말해, 즉시 적용되지 않지만 /commit 옵션과 함께 /unmount 명령을 실행하면 이러한 변경 사항이 WIM에 영구적으로 보존됩니다. 이미지를 변경한 후 이를 보존하지 않으려면 이미지를 분리할 때 변경 사항을 커밋하지 않고 버리면 됩니다. 여기에는 타협의 여지가 없습니다. WIM 파일이 탑재된 동안 이미지에 작성한 모든 내용은 커밋되거나 버려집니다.

단, 여기에는 주의해야 할 사항이 있습니다. 삭제 명령과 마찬가지로, 읽기/쓰기 기능을 사용하여 WIM을 편집하면 WIM 파일 자체의 파일 데이터는 완전히 지워지거나 삭제되지 않습니다. 즉, 파일들은 WIM 파일 끝에 추가되고 볼륨 이미지에 있던 이전 참조는 업데이트된 데이터로 대체됩니다. 다시 말해서 5MB의 새 파일을 추가하여 기존의 5MB 파일을 대체하면 이미지는 압축된 후 5MB 파일 크기만큼 커집니다. 사용된 압축 유형에 따라 5MB 이하가 될 수도 있습니다. 이전 데이터를 WIM에서 제거하려면(이미지를 축소하려면) /export를 사용하여 완전히 새로운 WIM 파일로 볼륨 이미지를 내보내야 합니다.

TechNet Magazine 2006년 11월호에서 Windows PE 2.0에 대해 쓴 제 글을 읽었다면 Windows PE 2.0이 WIM 부팅을 지원한다는 사실을 기억할 것입니다. 이렇게 하려면 ImageX처럼 드라이버를 사용하여 WIM 파일을 읽어야 합니다. 하지만 ImageX 지원은 디자인 단계에서 사용되도록 설계되었으며, WIM 부팅 기능은 특히 읽기 전용으로 Windows PE에서만 작동하도록 설계되었습니다. 따라서 이 둘이 비슷하기는 하지만 드라이버와 구현 방식은 다릅니다.

Microsoft는 ImageX 도구 외에 공식적으로 문서화된 WIMGAPI라는 API도 제공합니다. WIMGAPI를 사용하면 WIM 파일을 캡처, 적용 또는 수정하기를 원하는 모든 이미징 도구를 완벽하게 지원할 수 있습니다. 따라서 이미징 지원을 추가하거나 기존의 이미징 인프라를 대체하려는 타사가 있으면 WIMGAPI를 사용하여 이를 구현할 수 있습니다. 이 API는 WAIK의 일부이므로 WAIK와 함께 배포됩니다.

Windows 이미지 기반 설치

이미징 형식을 자유롭게 제어할 수 있는 새로운 설치 엔진이 설계되었습니다. 그 핵심 내용은 과거의 미니 설치나 Windows 시작과 매우 비슷합니다. 즉, install.wim의 이미지를 Windows 설치 DVD에 설치하기 전에 디스크 구성을 처리하면서 시스템을 고유하게 설정하고 구성하는 데 필요한 기본적인 질문을 합니다. 새로운 설치 엔진의 주요 목적은 Windows 수동 설치를 가능하게 하는 것이었습니다. 그러면 많은 OEM과 기업 고객들이 실제 배포에 ImageX를 사용할 것이라는 게 우리의 생각이었습니다.

원격 설치 서비스

이쯤 되면 왜 RIS(원격 설치 서비스)에 대해서는 언급하지 않느냐고 물을 수도 있습니다. RIS는 제가 Windows 배포 팀에서 일하기 시작했을 때 인계받은 일이기도 합니다. 처음에는 Windows 2000과 함께 제공되었다가 나중에 Windows Server® 2003에서 다시 제공된 RIS는 PXE(Pre-boot Execution Environment)를 사용하여 초기 마법사가 완료될 수 있는 지점으로 컴퓨터를 네트워크 부팅합니다. 그러면 Windows 설치가 모든 네트워크에서 이루어질 수 있습니다.

RIS의 가장 큰 문제점은 너무나도 취약하다는 것이었습니다. 처음에는 Windows 2000 Professional에서만 지원되었던 RIS의 Windows Server 2003 릴리스에서는 Windows 서버 버전에 대한 지원을 확대했습니다. SATA(Serial ATA) 저장 컨트롤러와 GB 이상의 NIC가 엄청난 속도로 밀려드는 상황에서 RIS를 통해 드라이버를 최신 상태로 유지한다는 것은 너무나 위험천만한 일이 되었습니다. 또한 RIS는 Windows가 지원하는 로캘의 대다수를 지원하지 않습니다. 다시 말해, 지역화된 키보드를 사용하여 지역화된 Windows 버전을 설치한다는 것이 불가능하진 않지만 어려울 수 있습니다. WDS(Windows 배포 서비스)는 Windows 설치와 RIS를 혼합하는 방식으로 설계되었습니다. 즉, PXE를 통해 Windows PE 부팅을 시작하여 네트워크에 WIM 파일을 배포하는 것입니다.

WDS는 곧 출시될 "Longhorn"이라는 코드명의 Windows Server 버전에서 사용할 수 있을 뿐만 아니라 Windows Server 2003에 설치할 수 있는 업데이트로도 사용할 수 있도록 설계되었습니다. 이 말은 WDS를 통해 이전 버전의 Windows도 배포할 수 있고 이전 버전의 Windows Server에서도 Windows Vista를 배포할 수 있다는 의미입니다. 사실 WDS는 RIS와 함께 사용할 수 있긴 하지만 RIS를 설치해야 작동합니다. 이는 WDS가 RIS 인프라를 WDS와 호환되도록 업데이트하면서 동시에 새로운 WDS 인프라도 제공하는 방식으로 작동하기 때문입니다.

WDS는 RIS를 업그레이드하므로 고객에게 좋은 마이그레이션 경로가 될 뿐 아니라 이전 버전의 Windows를 계속 사용하면서 Windows Vista를 배포할 수 있게 하는 도구입니다. 또한 과거 RIS가 제공했던 것보다 훨씬 훌륭한 관리 도구를 제공하므로 새로운 이미지를 보다 쉽게 서버에 추가할 수 있습니다. WDS는 또한 플러그형 PXE 프레임워크를 제공합니다. 따라서 타사 PXE 서버를 통합하여 WDS 대신 특정 클라이언트의 PXE 요청에 응답하도록 지정할 수 있습니다. 이는 RIS와 관련하여 자주 요구되었지만 당시에는 제공할 수 없었던 기능이었습니다.

원래 RIS를 업데이트할 목적으로 Windows Server 2003에 설치하는 구성 요소로 제공되었던 WDS는 Windows Server "Longhorn" 제품의 통합 구성 요소로도 제공될 예정입니다. Microsoft는 또한 향후 SMS(System Center Configuration Manager로 알려질 예정임) 버전에도 WDS 기능을 포함시킬 계획입니다.

WDS는 Windows PE 2.0의 PXE 부팅 버전을 제공하여 작동합니다. 이 이미지는 WIM에 포함되어 있으며(이 경우 네트워크를 통해 전송되는 데이터가 감소됨) 네트워크를 통해 RAMDisk로 부팅됩니다. 그런 다음 과거에 RIS의 초기 OSChooser 응용 프로그램에서 제공되었던 기능을 가진 새로운 클라이언트 응용 프로그램을 사용하여 Windows PE에서 설치가 이루어집니다.

WDS가 Windows XP, Windows 2000 또는 Windows Server 2003의 RIS 이미지 자체를 지원하지는 않지만 이들의 Sysprep 이미지는 배포할 수 있습니다. WDS는 또한 과거의 RIS처럼 Active Directory®에 통합되지만 필요한 경우 Active Directory 없이도 PXE 서버를 실행할 수 있습니다. WDS는 심지어 CD, DVD, UFD(USB 플래시 드라이브) 등 PXE 이외의 미디어에서 부팅된 Windows PE에서도 시작할 수 있습니다. 이는 RIS는 제공하지 못했던 유용한 기능입니다.

WDS는 기존의 RIS 사용 방식에 따라 세 가지 모드로 작동할 수 있습니다.

레거시 WDS 바이너리가 설치되지만, OSChooser가 부팅 메커니즘입니다. RISetup 및 RIPrep, RIS의 스크립트 설치 도구 및 이미지 기반 설치 도구는 그대로 작동합니다.

혼합 모드 두 가지 부팅 메커니즘을 모두 사용할 수 있고 두 가지 이미지 도구와 두 가지 관리 도구가 모두 작동합니다.

네이티브  RIS 기능이 없고 WIM 기능, Windows PE 부팅 및 새로운 관리 도구만 사용할 수 있습니다. Windows Server "Longhorn"에서는 이 모드만 제공할 예정입니다. 여기에는 RIS 기능이 포함되지 않습니다.

WDS는 또한 사용자 지정 클라이언트-서버 통신 프로토콜을 구현하므로 결과적으로 OEM이나 기업 고객은 이론적으로 자체 배포 응용 프로그램도 만들 수 있습니다.

WIM 이미지를 WDS 서버로 캡처하는 프로세스는 앞서 설명했던 Sysprep 시나리오와 거의 동일합니다. 차이점이 있다면 마지막 단계에서 WDS 캡처 이미지로 부팅한다는 것입니다. WDS 캡처 이미지란 사용자가 클라이언트 시스템을 캡처하여 WDS 서버로 캡처하도록 지원하기 위해 존재하는 Windows PE 이미지입니다.

WDS의 핵심 구성 요소는 WDS Server Service, PXE Server, 이미지 저장소, Communication Protocol, Windows PE 이미지(부팅될 이미지)와의 파일 공유, WIM 이미지(설치될 이미지), 그 밖에 관련된 관리 파일입니다.

WDS는 비교적 간단히 사용할 수 있고 기존의 옵티컬 미디어 기반 Windows 설치보다 종종 빠르기도 하지만 거의 동일한 과정을 제공하도록 설계되었습니다. RIS의 업데이트로 WDS를 구현하면 번거로운 절차 없이 RIS를 단계적으로 교체할 수 있을 뿐 아니라 Windows Vista를 쉽게 조직 내에 배포할 수 있습니다. 또한 RIS가 이전 버전의 Windows에 제공하던 것보다 빠르고 사용하기 쉬운 방식으로 이러한 과정을 처리합니다.

Windows 시스템 이미지 관리자

WAIK의 마지막 구성 요소는 Windows SIM(시스템 이미지 관리자)입니다. 이전 버전의 Windows에 있던 설치 관리자에 익숙하다면 Windows SIM의 개념에도 어느 정도 익숙할 것입니다. 이 도구를 사용하면 무인 설치 파일로 몇 가지 작업을 완료할 수 있습니다. 새로운 무인 설치 파일을 만들거나 기존의 것을 편집하거나 기존 파일의 설정을 Windows Vista의 특정 이미지와 비교하여 확인하는 작업을 쉽게 할 수 있습니다. 또한 Windows Vista가 포함된 특정 WIM과 관련된 모든 구성 옵션을 볼 수 있습니다. 과거에 deploy.cab이 포함된 도움말 파일로 문서화되었던 기존의 무인 설치 옵션을 생각해 보십시오. 마지막으로 Windows SIM은 배포 공유 및 구성 집합을 만들어 드라이버, 응용 프로그램, 업데이트를 무인 설치 파일을 통해 Windows Vista 설치에 추가하는 데 사용할 수 있습니다.

Windows SIM은 이를 실행하는 시스템의 로컬 관리자만 사용할 수 있습니다. Windows SIM을 열면 그림 3과 같은 다섯 개의 창이 나타납니다.

clip_image003
그림 3 Windows 시스템 이미지 관리자 (Click the image for a smaller view)

clip_image004
그림 3 Windows 시스템 이미지 관리자 (Click the image for a larger view)

왼쪽 위에 있는 배포 공유는 SIM을 통해 추가한 드라이버 및 다른 패키지가 표시되는 창입니다. 기본적으로는 배포 공유가 표시되어 있지 않지만 쉽게 열거나 만들 수 있습니다.

배포 공유 밑에 있는 Windows 이미지 창에는 WIM에 포함된 특정 Windows 볼륨 이미지에 있는 구성 옵션(구성 요소 및 패키지)이 표시됩니다. Windows의 볼륨 이미지는 한 번에 하나만(Windows Vista DVD에 있는 하나의 SKU) 탑재해야 한다는 점을 유념하십시오.

중앙에 있는 응답 파일 창에는 새로운 또는 기존의 Windows Vista 무인 설치 파일의 구성 옵션과 탑재한 WIM 볼륨 이미지의 카탈로그(가능한 설정 및 구성)에 정의된 기본 설정이 표시됩니다.

오른쪽 위에 있는 속성 창은 응답 파일 창에 표시된 구성 요소의 각 속성을 편집할 수 있는 창입니다.

마지막으로 아래쪽에 있는 메시지 창에는 Windows Vista 무인 설치 파일(항상 XML 형식)에 포함된 원시 XML, 유효성 검사 결과, 현재 사용하고 있는 구성 집합과 관련된 메시지 등 보다 자세한 피드백이 표시됩니다. 구성 집합을 열어 둔 경우 구성 집합 탭에는 데이터만 포함되어 있습니다.

지금까지 보았듯이 WAIK는 Windows Vista를 배포하는 데 유용한 매우 강력한 도구입니다. Windows 배포 팀은 과거의 어떤 Windows 버전보다 쉽게 Windows Vista를 배포할 수 있도록 다양한 도구를 개발하는 훌륭한 성과를 이룩해 냈습니다.