저는 윈도우 7을 매우 좋아합니다. 2009년 3월부터 (RC 나오기 전) 실사용하기 시작했으니 벌써 2년도 넘었는데요, 그래서 윈도우 서버도 2008보다 2008 R2를 좋아합니다.

그런데 회사에서 보니 서버 2008이 설치된 VM이 2008 R2보다 훨씬 더 많아 보이더군요. 물론 R2는 32비트가 없어서 그럴 수도 있겠지만... 아무튼 오늘은 서버 2008 이야기를 다뤄보겠습니다. 참고로 아래 내용은 비스타에도 동일하게 적용됩니다.

윈도우 7에서는 Install.wim 파일을 편집하는 작업이 참 편합니다. 자체 내장된 DISM 명령어로 마운트/언마운트 및 업데이트, 서비스팩, IE9, 드라이버 등을 통합할 수 있으니까요. 하지만 비스타는 그렇지 않습니다. Imagex로 마운트를 하고 PEIMG라는 툴로 업데이트를 통합해야 합니다.

일단 이 작업을 하는 분들은 어느정도 기본이 되어 있다고 가정을 하고, 약간 불친절하게 설명을 진행하겠습니다. 그리고 아래 설명은 윈도우 7 환경에서 작업하는 기준입니다. 윈도우 XP에는 wusa 툴이 없기 때문에 시도를 안 하시는게 좋겠습니다.


0. 준비 작업

우선 준비 작업을 하나 하겠습니다. 원칙적으로는 비스타용 WAIK를 설치해야 하지만 여기서는 파일 몇개만 있으면 작업을 할 수 있습니다. 일단 아래 준비물을 받으시고 압축을 풀어주세요.



압축을 풀고 wimfltr.inf 파일에 우클릭 해서 설치를 해주시면 됩니다.

(기존 준비물에는 32비트용 wimfltr.sys만 들어있었는데, 64비트용 wimfltr.sys도 추가해서 다시 올렸습니다.)


그리고 지금부터 설명하는 모든 커맨드는 관리자 권한으로 명령 프롬프트를 띄운 다음 입력해주시는게 좋습니다. 권한 문제로 오류가 발생할 수 있기 때문입니다. 


1. 업데이트 파일 풀기

peimg 툴은 msu 파일을 바로 통합하지 못합니다. 그래서 일단 파일을 풀어서 cab 파일을 뽑아내야 합니다. 기본적으로 아래와 같이 입력하시면 됩니다.

예제) wusa Windows6.0-KB974571-x86.msu /extract:경로

wusa 사용법은 직접 wusa 입력해보시면 바로 나옵니다. /extract 뒤에 콜론과 함께 경로를 적어주시면 바로 풀어주고, 붙이지 않으면 폴더를 선택하도록 창이 뜹니다.

저렇게 풀어주면 4개의 파일이 나오는데요, WSUSSCAN.cab 파일과 xml, txt 파일은 필요가 없습니다. 원래의 업데이트 파일과 동일한 이름의 cab 파일만 있으면 됩니다.


그런데 만약 통합할 업데이트 파일이 수십개 된다면 이걸 일일이 한개씩 풀어주기는 좀 그렇겠죠? 이럴 때는 FOR 반복문을 사용하면 편리합니다.

예제) for %a in (*.msu) do start /wait wusa %a /extract:test

저렇게 입력하시면 현재 위치에 존재하는 모든 msu 파일에 대해서 test 폴더에 반복해서 풀어줍니다. 저는 포스팅을 위해 업데이트 파일 5개만 받아서 풀어봤습니다.


잘 풀어졌는지 볼까요?


유형별로 정렬한 다음 쓸모없는 파일들을 다 지우면 이렇게 알짜 업데이트 파일들만 남겠죠.



2. Install.wim 파일 마운트

다음은 서버 2008 or 비스타 원본을 마운트 해야 합니다. 윈도우 7에서는 dism을 사용할 수 있지만, 제 경험상 비스타 이미지는 비스타 버전의 Imagex를 사용해야만 별 탈이 없습니다. 그래서 준비물로 올려드린 것입니다.


편집할 원본 Install.wim 파일을 하드로 복사한 다음 마운트를 하는데, 마운트 할 때는 대상 폴더를 미리 생성해두어야 합니다. 저는 mount 라는 폴더를 생성해두고 작업하겠습니다. 마운트 예제입니다.

예제) imagex /mountrw install.wim 1 mount

(참고로 install.wim 파일에 읽기 전용 체크되어 있으면 풀어줘야 합니다.)


여기서 install.wim 뒤에 붙은 1번은 1번 이미지를 말합니다. 서버 2008의 경우

1. Standard
2. Enterprise
3. Datacenter
4. Standard - core
5. Enterprise - core
6. Datacenter - core

순서입니다.


3. 업데이트 통합

업데이트 통합 작업은 peimg 파일로 하는데 예제는 아래와 같습니다.

예제) peimg mount /import=Windows6.0-KB974571-x86.cab

여기서 mount는 원본이 마운트된 폴더를 말하며 /import= 뒤에는 업데이트 파일의 경로를 적어주시면 됩니다.

그런데 저는 이 글에서 5개의 업데이트 파일을 한꺼번에 통합하려고 하니까 /import= 뒤에 경로를 좀 다르게 지정하겠습니다. 원래는 제가 update\test 폴더에 파일을 풀었잖아요? 그런데 편의를 위해 update 폴더로 cab 파일들을 이동시켰습니다. 그리고 와일드카드 * 문자를 사용해서 아래와 같은 명령어를 넣었습니다.

예제) peimg mount /import=update\*.cab



다음은 설치를 해야 합니다. 위 import 과정은 설치를 위해 import만 해준 것이고, 실제로 통합을 하려면 다음과 같은 명령어를 적어주셔야 합니다.

peimg mount /install=*

제가 이 부분을 빠뜨렸기 때문에 며칠 뒤에 다시 글을 수정하는 중인데요, 그래서 핫픽스 종류가 위 그림과 전혀 다른데 양해 바랍니다. 아무 업데이트나 4개를 다시 받아서 부랴부랴 글을 수정했습니다.



4. 언마운트 & 커밋 

마지막으로 변경된 부분을 저장하면서 언마운트 하시면 됩니다.

예제) imagex /unmount mount /commit


이렇게 통합한 install.wim 파일을 원본 ISO에 교체해서 사용하시면 되겠습니다.



이상으로 불친절한 설명을 마치겠습니다.