이번에 윈도우 7 RTM 버전 영문판이 MSDN/TechNet 구독자 다운로드에 정식 공개되었고 더불어 한글 언어팩과 한글판 WAIK 까지 공개되었기 때문에 기존에 올렸던 가이드는 완전히 삭제하고 처음부터 글을 새로 작성합니다.
이미 한글 통합본은 아주 오래전부터 돌아다녔지만, 남들이 만든 버전은 찝찝해서 못 믿으시는 분들 또는 이런 통합 작업 자체에 흥미를 느끼시는 분들을 위해 이 글을 작성합니다.
※ 준비물
1. 윈도우 7 RTM 정식 이미지 - 이건 각자 알아서 구하셔야 합니다.
32비트 영문판 파일 이름 : en_windows_7_ultimate_x86_dvd_X15-65921.iso
64비트 영문판 파일 이름 : en_windows_7_ultimate_x64_dvd_X15-65922.iso
2. 윈도우 7 RTM 버전용 언어팩
3. 윈도우 7용 로컬팩
이건 테마팩이기 때문에 굳이 통합하실 필요는 없습니다만 정식 한글판과 최대한 똑같은 모습으로 만들어주기 위해서는 통합해주시는게 좋겠지요.
대한민국 로컬팩
4. 윈도우 7용 WAIK
한글판 WAIK 입니다. 윈도우 7 사용자들은 자체 내장 DISM을 사용하셔도 되겠지만 PE 언어팩도 들어있고 도움말을 참조하시면 혼자 응용이 가능하시기 때문에 저는 설치하실 것을 권장드립니다.
http://download.microsoft.com/download/7/5/2/75208A5C-80F6-4A2D-B8CF-1BA766774EC2/KB3AIK_KO.iso
A. 준비단계
우선 이미지를 마운트할 폴더를 하나 만들어줘야 합니다. 저는 E 드라이브에 MOUNT 라는 이름의 폴더를 하나 만들어서 작업하겠습니다. 앞으로 저는 이 폴더에 마운트하는 것을 기준으로 설명드리겠습니다.
그리고 윈도우 7 RTM 정식버전 안에서 Install.wim 파일과 boot.wim 파일을 꺼내주셔야 합니다. 저는 윈도우 7 RTM 영문판 32비트 이미지에서 꺼낸 두 파일을 E 드라이브 루트에 두고 작업하겠습니다.
그리고 WAIK를 설치해주세요. XP에서 작업하시는 경우 MSXML 6 SP1 을 먼저 설치해주셔야 WAIK 설치가 될겁니다.
설치를 마치셨으면 시작메뉴에 생성된 Microsoft Windows AIK 폴더에 들어가서 배포 도구 명령 프롬프트를 실행해주세요. 혹시 모르니까 비스타나 윈도우 7에서 작업하시는 분들은 우클릭 해서 관리자 권한으로 실행해주시기 바랍니다.
B. 이미지 마운트하기
위에서 말씀드린대로 WAIK의 배포 도구 명령 프롬프트를 관리자 권한으로 실행하셨다면 작업하실 이미지를 마운트해야 합니다. 저는 영문판 32비트 버전의 Ultimate 에디션에 통합작업을 할 생각입니다.
imagex /mountrw e:\install.wim 5 e:\mount
e:\install.wim 부분은 각자 install.wim 파일을 꺼내두신 위치를 입력해주시고
5 부분은 에디션 번호를 적어주셔야 합니다.
32비트의 경우 Starter = 1, HomeBasic = 2, HomePremium = 3, Professional = 4, Ultimate = 5
64비트의 경우 Starter 버전이 없기 때문에 번호가 하나씩 앞당겨집니다. 즉 64비트 Ultimate 에디션은 4번입니다.
e:\mount 부분은 준비단계에서 만들어주셨던 마운트할 폴더의 위치를 지정해주시면 됩니다.
C. 언어팩 & 로컬팩 통합하기
저는 32비트 한글 언어팩과 대한민국 로컬팩을 통합하겠습니다.
dism /image:e:\mount /add-package /packagepath:e:\kor /packagepath:e:\Windows-LocalPack-KR-Package.cab
저는 한꺼번에 2개를 동시에 통합합니다. 즉 /packagepath: 부분을 계속 붙여주시면 여러가지 패키지를 한번에 통합하실 수 있습니다. 물론 와일드카드도 먹습니다. 따라서 해당 위치에 존재하는 cab 파일이 통합하실 파일밖에 없다면 그냥 *.cab로 지정해주시면 한번에 전부 통합이 가능하겠지요.
e:\mount 부분은 마운트된 폴더의 위치를 말합니다.
e:\kor 부분은 한글 언어팩 exe 파일을 WinRAR로 압축 풀어준 폴더의 위치를 말합니다.
e:\Windows-LocalPack-KR-Package.cab 부분은 대한민국 로컬팩의 위치를 말합니다.
D. 언어팩 & 로컬팩 삭제하기
이 단계는 해주셔도 되고 안 해주셔도 됩니다. 하지만 저같은 경우 영어 언어팩과 5개국 로컬팩을 삭제합니다. 왜냐하면 사용하지 않는데 용량만 차지하기 때문입니다. 또한 이렇게 만들어야 정식 한글 통합본과 100% 같아진다고 할 수 있겠습니다.
우선 통합되어 있는 패키지의 이름을 알아내야 합니다.
dism /image:e:\mount /get-packages
라고 입력하시면 통합되어 있는 패키지 정보가 나옵니다. 여기서 화면의 출력결과를 어차피 복사해서 써야하기 때문에 텍스트파일로 출력해주시면 더 좋겠습니다.
dism /image:e:\mount /get-packages > e:\packages.txt
처럼 뒤에 > 붙이고 파일 이름 지정해주시면 해당 텍스트파일로 출력결과물을 저장해줍니다.
제가 출력한 결과물은 다음과 같습니다.
배포 이미지 서비스 및 관리 도구
버전: 6.1.7600.16385
이미지 버전: 6.1.7600.16385
패키지 목록:
패키지 ID : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~en-US~6.1.7600.16385
상태 : 설치됨
릴리스 종류 : Language Pack
설치 시간 : 2009-07-14 오전 4:46
패키지 ID : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~ko-KR~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Language Pack
설치 시간 : 2009-08-08 오후 1:07
패키지 ID : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치됨
릴리스 종류 : Foundation
설치 시간 : 2009-07-14 오전 4:46
패키지 ID : Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-07-14 오전 7:54
패키지 ID : Microsoft-Windows-LocalPack-CA-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-07-14 오전 7:54
패키지 ID : Microsoft-Windows-LocalPack-GB-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-07-14 오전 7:55
패키지 ID : Microsoft-Windows-LocalPack-KR-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-08-08 오후 1:07
패키지 ID : Microsoft-Windows-LocalPack-US-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-07-14 오전 7:55
패키지 ID : Microsoft-Windows-LocalPack-ZA-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-07-14 오전 7:55
작업을 완료했습니다.
여기서 쓸모없는 영어 언어팩과 5개국 로컬팩의 이름을 알아내서 삭제 명령어에 넣어주시면 되겠습니다. 저는 한꺼번에 영어 언어팩과 5개국 로컬팩을 전부 삭제하겠습니다. 기본 틀은 다음과 같습니다.
dism /image:e:\mount /remove-package /packagename:
여기서 /packagename: 부분을 뒤에다가 계속 달아주시면 한꺼번에 여러가지 패키지를 삭제하실 수 있습니다.
위 처럼 영어 언어팩과 5개국 로컬팩을 삭제하는 명령어를 입력하셨다면 작업이 성공적으로 완료되었을 경우 딱 3가지 패키지만 남게 됩니다. 한글 언어팩, 대한민국 로컬팩 그리고 파운데이션 패키지. 이렇게 3가지만 깔끔하게 잘 남았는지 확인해보시려면 역시 위에서 사용했던 /get-packages 옵션을 활용하면 되겠지요.
dism /image:e:\mount /get-packages
배포 이미지 서비스 및 관리 도구
버전: 6.1.7600.16385
이미지 버전: 6.1.7600.16385
패키지 목록:
패키지 ID : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~ko-KR~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Language Pack
설치 시간 : 2009-08-08 오후 1:07
패키지 ID : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치됨
릴리스 종류 : Foundation
설치 시간 : 2009-07-14 오전 4:46
패키지 ID : Microsoft-Windows-LocalPack-KR-Package~31bf3856ad364e35~x86~~6.1.7600.16385
상태 : 설치 보류 중
릴리스 종류 : Local Pack
설치 시간 : 2009-08-08 오후 1:07
작업을 완료했습니다.
나중에 정식 한글통합본이 출시된다고 하더라도 위 상태처럼 딱 3가지 패키지만 통합되어있는 상태로 출시됩니다. 즉 이렇게 작업하시면 100% 한글 통합본과 같아진다고 보셔도 무방합니다.
E. 기본 언어 지정해주기
한글 언어팩을 통합했다고 해서 바로 한글판이 된 것은 아닙니다. 설치시 사용될 기본 언어를 지정해줘야 합니다.
intlcfg -image:e:\mount -skudefaults:ko-kr
기본 언어가 잘 설정되었는지 확인하시려면 다음과 같이 입력해보세요.
intlcfg -image:e:\mount -report
Reporting offline settings...
The installed languages are:
ko-KR:
Type: Partially localized language
Fallback Languages:en-US
The default system UI language is 0412
System locale is 0412
The default timezone is Korea Standard Time
User locale for default user is ko-KR
The location is 134
The active keyboards are:
0412:{998D6AA4-E7FD-4B24-9872-33E70C8D85AD}{9274506B-1BEC-4F54-A4B5-135AF5CBA71E}, 0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1}
The default keyboard is 0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1}
보시다시피 저는 한국어로 잘 지정되었습니다. 뿐만 아니라 모든 로케일 정보와 표준시, 통화형식 등등 전부 한글판에 맞게 설정이 되었습니다.
F. 추가 통합작업
이건 하셔도 되고 안 하셔도 되는데 깔끔한 에디션을 원하신다면 안 하시는게 좋겠고 이왕 하는거 지금까지 나온 핫픽스와 윈도우 버추얼 PC 파일 정도는 통합해주셔도 나쁘지는 않을 것 같지만 그래도 깔끔한걸 원하신다면 이 과정은 생략하시는게 좋겠습니다.
저는 지금까지 유출되었던 9개의 핫픽스와 버추얼 PC를 통합해보겠습니다.
통합의 편의를 위해서 E 드라이브 Hotfix 폴더 안에 파일들을 몰아넣었습니다.
dism /image:e:\mount /add-package /packagepath:e:\hotfix\.
여기서 점 하나는 모든 파일을 의미합니다.
이렇게 통합한 버전을 제 컴퓨터에 직접 설치후 업데이트 부분 확인해봤습니다. 통합된 상태로 잘 설치되었습니다.
G. 시디키 미리 입력시키기
이 과정은 리테일 정품시디키를 소장하고 계신 분들의 경우 해주시면 편리하겠지요. 그런데 리테일 시디키를 입력시킨다고 하더라도 자동인증 상태로 설치되는건 아닙니다. 이렇게 입력해두시면 설치시 마지막 OOBE 단계에서 시디키를 물어보지 않습니다. 윈도우 진입하신 다음 바로 인터넷으로 정품인증 받으시면 됩니다.
dism /image:e:\mount /set-productkey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
그리고 아직 판매되지는 않고 있지만 윈도우 7 정품 OEM 버전이 탑제된 PC에서 자동인증 되도록 만드시려면 위 시디키에선 SLP 키를 입력하시고 현재 마운트된 폴더 안에 들어가서
e:\mount\Windows\System32
경로로 들어가신 다음 OEM 이라는 이름의 폴더를 하나 만들어주시고 그 안에 자신의 디지털 라이센스 XRM-MS 파일을 넣어주시면 됩니다. 그러면 설치후 자동으로 정품인증 된 상태가 됩니다. 여러개를 동시에 넣으시면 여러가지 OEM PC에서 인증되는 버전이 만들어집니다. 파일 이름은 아무런 상관이 없습니다.
H. 변경된 사항 저장하기
이제 모든 통합 및 수정 과정을 다 마치셨다면 변경된 내용을 저장해야 합니다.
imagex /unmount /commit e:\mount
이렇게 하시면 Install.wim 파일의 5번 에디션이 변경된 상태로 저장됩니다. 그런데 어차피 하나의 에디션만 사용하실 생각이라면 이상태로 5번 에디션만 다른 곳에 (또는 다른 파일 이름으로) 따로 추출을 해주시는게 좋습니다. 그래야 용량이 많이 줄어듭니다.
imagex /export e:\install.wim 5 f:\install.wim "Windows 7 ULTIMATEK"
뒤에 "Windows 7 ULTIMATEK" 부분은 붙이지 않으시면 그냥 원래 있던 이름 그대로 추출됩니다. 어차피 Description은 아무런 상관이 없기 때문에 뒷 부분은 빼고 입력하셔도 됩니다. 그리고 입력하시더라도 꼭 저대로 하실 필요는 없고 아무 설명이나 넣으시면 됩니다.
I. boot.wim 파일 수정하기
boot.wim 파일 안에는 2가지 PE가 들어있습니다. 첫번째는 윈도우 상에서 설치를 시작했을 경우 재부팅 이후 과정을 담당합니다. 두번째는 DVD로 부팅했을 때의 설치 과정을 담당합니다. 따라서 둘다 작업해주시는게 좋겠습니다.
우선 boot.wim 파일의 1번 이미지를 마운트시키겠습니다.
imagex /mountrw e:\boot.wim 1 e:\mount
이제 여기다가 PE용 언어팩과 폰트팩을 통합해야 합니다.
C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs
에는 winpe-fontsupport-ko-kr.cab 폰트팩이 들어있고
WAIK DVD 안에 WinPE_LangPacks\x86\ko-kr
폴더를 보시면 여러가지 PE용 언어팩이 들어있습니다.
C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs\ko-kr
에도 PE용 언어팩이 들어있기는 한데 SRT 언어팩이 빠져있더군요.
저는 귀찮아서 폰트팩과 PE용 언어팩을 E 드라이브 PE 라는 폴더에 모아놓고 통합을 하겠습니다.
위에 있는 파일들이 전부 다 필요한건 아닌데 어차피 통합명령을 넣었을 때 맞지 않는건 통합되지 않고 에러메시지 나오면서 그냥 스킵하게 됩니다. 따라서 그냥 점 하나로 한꺼번에 통합하겠습니다.
dism /image:e:\mount /add-package /packagepath:e:\pe\.
13개 중에 7개는 에러가 나고 6개만 통합되었습니다. boot.wim 파일의 1번 이미지에선 원래 6개만 통합되는게 정상입니다.
그리고 PE용 영어팩들은 삭제해주셔도 되겠지만 솔직히 용량이 너무 작아서 굳이 삭제를 하지 않아도 괜찮을 것 같습니다. 왜냐하면 어차피 PE는 설치 과정을 인도해주는 역할만 할 뿐이고 실질적으로 설치되는 파일들은 Install.wim 파일 안에 들어있기 때문에 굳이 삭제하지 않아도 별 지장이 없다는 것이지요.
이제 기본 언어를 한국어로 지정합니다.
intlcfg -image:e:\mount -skudefaults:ko-kr
그리고 변경 사항을 저장합니다.
imagex /unmount /commit e:\mount
이번에는 2번 이미지를 마운트합니다.
imagex /mountrw e:\boot.wim 2 e:\mount
그리고 똑같이 폰트팩과 언어팩들을 통합합니다.
dism /image:e:\mount /add-package /packagepath:e:\pe\.
이번에는 13개 중에 5개가 에러나고 8개가 통합됩니다.
이제 기본 언어를 한국어로 지정합니다.
intlcfg -image:e:\mount -skudefaults:ko-kr
그리고 2번 이미지에선 lang.ini 파일을 수정해줘야 합니다.
e:\mount\sources
폴더 안에 들어있는 lang.ini 파일을 메모장으로 열어서
[Available UI Languages]
ko-KR = 3
[Fallback Languages]
ko-KR = en-us
처럼 수정합니다. 만약 여러개의 언어팩이 통합된 에디션을 만들어서 설치시 선택하도록 만들고자 한다면
[Available UI Languages]
ko-KR = 3
en-US = 2
ja-JP = 2
zh-CN = 2
[Fallback Languages]
ko-KR = en-us
이런 식으로 2번을 달고 계속 추가해주시면 됩니다.
수정을 다 하셨다면 마지막으로 변경 사항을 저장합니다.
imagex /unmount /commit e:\mount
그리고 용량을 살짝 줄여주려면 역시 1번과 2번을 동일한 대상파일에 순서대로 export 시켜주시는게 좋습니다.
imagex /export e:\boot.wim 1 f:\boot.wim
imagex /export e:\boot.wim 2 f:\boot.wim
이렇게 해보니 용량이 16mb 정도 줄어들었습니다.
J. 뼈대 파일 수정하기
뼈대 파일은 윈도우 상에서 설치를 시작할 때 관여하는 파일입니다. 즉 DVD로 부팅해서 설치하실 분들은 전혀 수정하실 필요가 없습니다. 하지만 이왕 하는거 전부 똑같이 해주는게 좋겠지요.
윈도우 7 DVD 안에 SOURCES 폴더 안에 추가해줄 내용은 언어팩에 들어있는 ko-kr 폴더와 license 폴더입니다. 윈도우 7용 언어팩을 압축 열어보시면 SOURCES 폴더랑 SETUP 폴더가 들어있는데 각각 안에 찾아보시면 ko-kr 폴더와 license 폴더가 들어있습니다. 해당 폴더 2가지를 윈도우 7 DVD 뼈대 SOURCES 폴더 안에 넣어주시고 이 뼈대파일 역시 마찬가지로 lang.ini 파일을 수정해줘야 합니다. 방식은 위에서 boot.wim 2번 이미지때 설명드린 부분을 참조하세요.
K. 마무리
이제 마지막으로 UltraISO 같은 프로그램으로 영문판 원본 DVD를 열어주신 다음 위 J 과정에서 설명드린 뼈대 파일 추가용 ko-kr 폴더와 license 폴더를 SOURCES 폴더 안에 넣고 수정된 lang.ini 파일도 넣고... 가장 중요한 수정된 Install.wim 파일과 boot.wim 파일을 넣어줍니다. 그리고 ei.cfg 파일은 삭제하시는게 좋을테고, 업그레이드 설치를 하실 분들은 cversion.ini 파일도 MinClient=7233.0 부분을 낮은 빌드로 수정해주시면 될 것 같습니다.
이상으로 장문의 가이드를 마치겠습니다. WAIK 도움말이나 테크넷 라이브러리에 보시면 배포기술에 대한 자세한 이야기들이 나옵니다. 드라이버 통합이나 OOBE 자동응답 파일, 구성요소 삭제 등 나만의 DVD를 만들어보시기 바랍니다.