원문출처 : 스누피님 블로그
지난번에 작성했던 언어팩 통합하기 글은 일단 삭제했습니다.
조만간 유출될 한글 언어팩을 직접 통합하려는 분들이 계실 것으로
생각되며, 또한 통합과 함께 기존 언어를 지우려는 분들도
계실 것으로 생각되어 새로 글을 작성합니다.
이 글은 DISM의 다양한 기능중 일부인 패키지 통합에 관한 글입니다.
Deployment Image Servicing and Management tool
DISM은 WAIK에 들어있으며 윈도우 7에는 내장되어 있습니다.
따라서 XP나 비스타 유저들은 WAIK를 설치해야 하지만 윈도우 7 유저들은 그냥 작업하셔도 됩니다.
사실 XP나 비스타 유저들도 WAIK를 직접 설치하지 않고 그냥 필요한 파일만 꺼내서 사용해도 됩니다.
하지만 저는 XP든 윈도우 7이든 WAIK를 설치할 것을 추천드립니다. 도움말을 보시면 정말 많은 도움이 되기 때문입니다.
또한 제가 설명드리지 않는 부분들에 대한 궁금증들도 도움말을 통해서 해결하실 수 있을겁니다.
0. 준비작업
먼저 WAIK를 다운받아서 설치합니다.
WAIK 윈도우 7 RC용 영문판
http://download.microsoft.com/download/C/1/F/C1F49C3C-D633-4249-82ED-B3148EA09B45/KB3AIK_EN.iso
설치를 하시고
Deployment Tools Command Prompt 를 실행합니다.
실행을 하시면 이런 커맨드창이 뜨는데 저는 D 드라이브에 설치해서 D로 나옵니다.
커맨드 입력은 꼭 저기서 하실 필요가 없습니다. PATH에 필요한 툴의 경로들이 지정되었기 때문에 아무 곳에서나 작업하시면 됩니다. 저는 깔끔하게 D 루트로 이동해서 커맨드를 입력하겠습니다.
이제 작업을 시작해봅시다.
먼저 통합할 원본 DVD 파일을 한 폴더에 풀어넣습니다. 저는 7100 영문판을 D 드라이브 7100 이라는 폴더 안에다가 풀어넣겠습니다.
그리고 이미지를 마운트시킬 임시 작업폴더를 하나 만들어야 합니다. 저는 D 드라이브에 MOUNT 라는 폴더를 만들겠습니다.
그리고 통합할 언어팩 파일 lp.cab 는 D 드라이브 루트에 놓고 작업하겠습니다.
아직 한국어 언어팩이 유출되지 않은 관계로 일본어 언어팩을 통합해보겠습니다.
현재 저의 작업환경을 스샷으로 표현하면 다음과 같습니다.
똑같이 하실 필요는 없는데 똑같이 했을 경우의 장점은 커맨드를 일일이 입력하지 않고 제가 적어드린 커맨드를 그대로 복사해서 붙여넣어도 된다는 편리함이 있겠지요 ^^
(그냥 복사해서 붙여넣으니까 중복문자가 막 들어가는 경우가 있네요. 잘 확인해보세요.)
1. INSTALL.WIM 파일 마운트하기
이제 통합작업을 위해 먼저 이미지 마운트를 해야합니다. 이미지 마운트에는 두가지 방법이 있는데 Imagex로 하는 방법이 있고 DISM으로 하는 방법이 있습니다. DISM이 커맨드라인이 길기 때문에 저는 Imagex로 하실 것을 권장드립니다. 일단 DISM에도 마운트 기능이 있기 때문에 소개는 해드리겠습니다.
INSTALL.WIM 파일은 앞서 원본을 7100 폴더 안에 넣었기 때문에 7100 폴더 안에 SOURCES 폴더 안에 들어있습니다. 이 안에는 7100의 경우 5가지 버전의 윈도우 7이 전부 들어있습니다.
번호 순서대로
스타터
홈베이직
홈프리미엄
프로페셔널
얼티밋
저는 얼티밋 버전을 마운트 하겠습니다. 번호는 5번입니다.
imagex /mountrw d:\7100\sources\install.wim 5 d:\mount
DISM으로도 똑같은 작업을 할 수 있습니다.
Dism /Mount-Wim /WimFile:d:\7100\sources\install.wim /index:5 /MountDir:d:\mount
Imagex 보다 길죠? ^^;; 그래서 저는 Imagex 를 추천합니다.
둘중에 뭘로 해도 상관은 없으니 편하실대로 하시고 성공적으로 마운트 하셨다면 MOUNT 폴더에 다음과 같은 파일들이 보일겁니다.
우째 어디서 많이 봤던 모습이죠? 비스타랑 윈도우 7은 XP와 달리 미리 설치된 윈도우를 고스트 만능이미지처럼 만들어놓고 WIM 파일로 캡쳐해서 설치시에 풀어주고 사용자 컴퓨터에 맞게 설정만 해주는 방식입니다. 게다가 DISKPART를 이용해서 이 이미지를 VHD로 만드는 방법도 있고 그 VHD로 BCD 수정해서 부팅하는 방법도 있습니다.
이처럼 미리 설치된 형식의 윈도우이기 때문에 여러가지 통합과 수정을 하고 나서 Sysprep 으로 일반화 봉인 후 다시 캡쳐를 해주면 누구나 자기만의 윈도우 설치파일을 만들 수 있습니다. 예를 들자면 한글, 오피스 등등의 프로그램을 설치해주고 다시 캡쳐하는 것이죠. DISM은 거의 모든 기능을 가지고 있으며 열심히 공부하시면 나만의 윈도우를 멋지게 만들 수 있을겁니다.
2. 마운트된 이미지의 패키지 정보 확인하기
이 글에서는 언어팩 통합/삭제를 다룹니다. 언어팩은 패키지의 종류이기 때문에 먼저 원본에 통합되어있는 패키지들이 뭔지 구경은 해줄 필요가 있다고 생각합니다. 물론 꼭 해주야 하는건 아니기 때문에 그냥 넘어가셔도 됩니다. 하지만 어떻게 생겼는지 구경하실 분은 한번 해보세요.
Dism /image:d:\mount /Get-Packages
여러가지가 통합되어 있군요. 우선 이 버전이 영문판이기 때문에 영어 언어팩이 첫번째 항목에 보입니다. 그 외에 로컬팩 5개가 보이는데 이게 제가 말씀드린 영문판에 내장되어 있다는 5개국 테마입니다. 그런데 이상하게 영문판에는 이 테마들이 활성화가 안되어 있고 그냥 폴더만 들어있더군요. 한글판은 한국테마가 기본으로 활성화 되어있는데 말이죠. 어쨌든 저런 식으로 패키지가 통합되어 있음을 알 수 있습니다.
3. 언어팩 통합하기
이제 본격적으로 언어팩을 통합해봅시다. 이 작업은 시간이 꽤 오래 걸립니다. 언어팩 안에 파일이 엄청 많이 들어있거든요. 따라서 인내심을 가지고 기다리시기 바랍니다. 물론 제 컴이 셀러론이라서 그럴 수도 있습니다. 네할렘에 SSD 사용하시는 분들은 작업이 금방 끝나실겁니다. ㅠㅠ
Dism /image:d:\mount /Add-Package /PackagePath:d:\lp.cab
일본어 언어팩이 성공적으로 통합되었습니다.
이제 아까전에 2번 과정에서 확인했던 패키지 정보를 다시 확인해봅시다.
잘 통합되었는지 말이죠 ^^
Dism /image:d:\mount /Get-Packages
영어 다음으로 일본어가 잘 통합되었음을 확인할 수 있습니다. 그런데 로컬 팩이 없네요? 그렇습니다. 이 언어팩에는 로컬팩이 통합되어 있지 않습니다. 즉 언어팩을 설치한다고 해도 일본 테마는 포함되지 않습니다. 로컬팩은 언어팩과는 별도로 존재하는 팩입니다. 이 점을 알아두시기 바랍니다.
4. 언어팩 삭제하기
이제 영어 언어팩을 삭제해볼까요? 더 나아가서 5가지 로컬팩도 삭제해볼까요? 물론 삭제를 안하고 그냥 두셔도 됩니다. 하지만 굳이 영문판을 설치할 생각이 없으시다면 삭제를 하셔도 되겠죠? 용량만 잡아먹으니까요.
우선 패키지를 삭제하려면 이름을 알아야 하는데 2번에서 보셨듯이 패키지 이름들이 엄청 길어서 일일이 보고 타이핑 하시기엔 너무 불편할겁니다. 따라서 화면에 출력되는 내용을 텍스트파일로 저장해봅시다. 그러면 바로 복사해서 사용 가능할테니까요.
Dism /image:d:\mount /Get-Packages > d:\info.txt
이렇게 입력하시면 통합된 패키지의 정보가 D 드라이브에 INFO.TXT 파일로 저장됩니다.
Deployment Image Servicing and Management tool
Version: 6.1.7100.0Image Version: 6.1.7100.0
Packages listing:
Package Identity : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~en-US~6.1.7100.0
State : Installed
Release Type : Language Pack
Install Time : 2009-04-22 오전 8:20Package Identity : Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~ja-JP~6.1.7100.0
State : Install Pending
Release Type : Language Pack
Install Time : 2009-05-11 오전 11:15Package Identity : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~x86~~6.1.7100.0
State : Installed
Release Type : Foundation
Install Time : 2009-04-22 오전 8:20Package Identity : Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~x86~~6.1.7100.0
State : Install Pending
Release Type : Local Pack
Install Time : 2009-04-22 오전 10:33Package Identity : Microsoft-Windows-LocalPack-CA-Package~31bf3856ad364e35~x86~~6.1.7100.0
State : Install Pending
Release Type : Local Pack
Install Time : 2009-04-22 오전 10:33Package Identity : Microsoft-Windows-LocalPack-GB-Package~31bf3856ad364e35~x86~~6.1.7100.0
State : Install Pending
Release Type : Local Pack
Install Time : 2009-04-22 오전 10:33Package Identity : Microsoft-Windows-LocalPack-US-Package~31bf3856ad364e35~x86~~6.1.7100.0
State : Install Pending
Release Type : Local Pack
Install Time : 2009-04-22 오전 10:34Package Identity : Microsoft-Windows-LocalPack-ZA-Package~31bf3856ad364e35~x86~~6.1.7100.0
State : Install Pending
Release Type : Local Pack
Install Time : 2009-04-22 오전 10:34The operation completed successfully.
귀찮으시면 제가 올려드린 위 내용 그대로 사용하시면 되겠네요.
우선 영어 언어팩을 삭제해볼까요?
Dism /image:d:\mount /Remove-Package /PackageName:Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~x86~en-US~6.1.7100.0
통합만큼은 아니지만 언어팩 삭제하는데도 시간이 꽤 걸리는군요. 삭제가 잘 되었는지 MOUNT 폴더 안에 구경하러 가봅시다.
아무데나 들어가봤는데 역시나 en-US 폴더는 없어지고 ja-JP 폴더만 남아있습니다. 역시 성공적으로 삭제가 된 것 같습니다. 물론 중간중간 en-US 폴더가 보일겁니다. 그 폴더들은 영어 언어팩이 아니고 원래부터 윈도우 7을 구성하는 폴더일겁니다. 아니면 다른 언어팩들이 아직 한글화 하지 못한 부분에 대해서는 그대로 영어를 써야 하기 때문에 언어팩으로 분류되지 않았을 수도 있습니다. 뭐 확실하지는 않지만 제 생각은 그렇습니다. 어쨌든 영어팩은 완전히 삭제된 것 같습니다.
이제 내친김에 5가지 로컬팩도 삭제해봅시다. 용량은 거의 안잡아먹지만 그래도 필요없으면 삭제하는거죠 ^^
이번에는 한꺼번에 5가지를 전부 삭제해봅시다. 그냥 패키지 이름만 쭈욱 연달아서 붙여주시면 됩니다.
Dism /image:d:\mount /Remove-Package /PackageName:Microsoft-Windows-LocalPack-AU-Package~31bf3856ad364e35~x86~~6.1.7100.0 /PackageName:Microsoft-Windows-LocalPack-CA-Package~31bf3856ad364e35~x86~~6.1.7100.0 /PackageName:Microsoft-Windows-LocalPack-GB-Package~31bf3856ad364e35~x86~~6.1.7100.0 /PackageName:Microsoft-Windows-LocalPack-US-Package~31bf3856ad364e35~x86~~6.1.7100.0 /PackageName:Microsoft-Windows-LocalPack-ZA-Package~31bf3856ad364e35~x86~~6.1.7100.0
삭제가 되었는지 MCT 폴더 안에 가보겠습니다.
헉 ^^;; MCT 폴더 자체가 통째로 날아가버렸습니다. 역시 삭제가 잘 되었음을 알 수 있습니다.
마지막으로 삭제가 확실히 잘 되었는지 다시 한번 패키지 정보를 띄워봅시다.
Dism /image:d:\mount /Get-Packages
영어 언어팩과 잡다한 5개국 로컬팩은 전부 날아가고 일본어 언어팩만 남아있는 것을 알 수 있습니다. 물론 파운데이션 패키지는 원래 있던거니까 그냥 놔둡니다.
5. 기본 언어 지정해주기
이제 통합된 일본어를 기본 언어로 지정해줘야 합니다. Intlcfg 라는 명령어로 해도 되고 DISM 으로도 할 수 있는데 마찬가지로 DISM 으로 하면 명령어가 좀 길기 때문에 Intlcfg 를 사용하실 것을 추천드립니다. 여기서는 Intlcfg로 진행하겠습니다.
일본어는 ja-JP 로 하시면 되겠고 한국어는 ko-KR 로 하시면 되겠죠?
저는 여기서 일본어를 통합했으니 일본어로 하겠습니다.
intlcfg -image:d:\mount -skudefaults:ja-JP
일본어로 설정이 잘 되었는지 확인해보시려면
intlcfg -image:d:\mount -report
설정이 전부 일본어로 잘 된 것을 확인할 수 있습니다. 물론 한국은 0412에 ko-KR로 나올 것입니다.
6. 변경된 이미지 저장하기
이제 지금까지 통합/삭제/설정 해줬던 작업들을 저장해야 합니다. Imagex 로 저장해도 되고 마찬가지로 DISM 으로도 저장이 가능합니다. 사실 저장하지 않고 바로 캡쳐를 해도 됩니다. 그런데 캡쳐를 바로 하는게 빠른지 저장을 하고 export 해주는게 더 빠른지 모르겠습니다. 저는 작업을 두번 하더라도 저장하고 export 하는 쪽으로 설명드리겠습니다.
imagex /unmount /commit d:\mount
작업은 두단계로 나뉘는데 하나는 변경내용 저장하는거고 하나는 마운트했던 폴더 비우는 작업입니다. 간혹 두번째에서 에러나는 경우가 있는데 보통 재부팅하고 다시 언마운트 해주시면 문제없이 해결됩니다. (이때는 /commit 필요 없음) 어차피 첫번째 변경내역 저장부분은 성공한 것이므로, 두번째 비우기에서 오류나는 것은 그리 큰 문제가 되지 않습니다.
이제 변경내역이 저장된 INSTALL.WIM 파일의 5번 이미지인 얼티밋 버전을 단독파일로 추출해봅시다. 저는 D 드라이브 루트에 추출하겠습니다. 왜 추출하냐면 어차피 얼티밋 버전만 설치할건데 나머지 버전들은 필요가 없으니 용량을 줄이기 위함입니다.
imagex /export d:\7100\sources\install.wim 5 d:\install.wim "Windows 7 Ultimate"
"Windows 7 Ultimate" 부분에는 아무 문구나 넣으시면 됩니다. 자기 이름 넣어도 전혀 지장없습니다. ^^
추출된 파일을 구경해볼까요?
이제 이놈을 7100\SOURCES 폴더에 들어있던 녀석과 교체해줍니다. 기존 파일은 덩치만 크고 더이상 필요없으니 이놈을 원본폴더로 옮겨놓으시면 되겠습니다.
7. 뼈대 파일 수정하기
지금까지 했던 작업은 일본어 버전을 INSTALL.WIM 파일에 담는 것이었습니다. 하지만 이대로 설치를 하면 에러가 발생합니다. 왜냐하면 윈도우 7 설치파일들은 INSTALL.WIM 파일 안에 일본어 버전이 아닌 영문 버전이 들어있다고 생각하기 때문입니다. 따라서 뼈대파일 수정을 통해서 일본어 버전이 설치되도록 설정해줘야 합니다.
그런데 사실 이 작업에서 좀 막히는 부분이 있습니다. 바로 BOOT.WIM 파일을 수정할 때 일본어로 나오게 못한다는 것입니다. 그러니까 설치 과정에서 처음 안내부분에는 영어로 나온다는 것이죠. 이걸 일본어로 나오게 하려면 결국 일본어 버전에서 BOOT.WIM 파일을 꺼내서 사용하는 방법 밖에는 없는 것 같습니다. 저랑 썩은과자님이랑 많이 삽질하고 고민해봤는데 결국은 해결하지 못했습니다. 폰트 파일이 없어서 그렇다고 테크넷 라이브러리에 나와있기는 했는데 폴더 비교해서 폰트 복사해봐도 안되는건 어쩔 수 없더군요.
이 부분에 대해서는 저의 한계점을 인정하고 처음 설치과정은 영어로 나오지만 재부팅 후에는 일본어로 설치되도록 설명드리겠습니다.
설치는 크게 윈도우 상에서 하는 방법이 있고 DVD나 USB나 하드나 아무튼 윈도우 상이 아닌 PE부팅으로 하는 경우가 있습니다. 전자의 경우는 단순히 SOURCES 폴더 안에 파일만 추가/수정해주시면 되고 후자의 경우는 BOOT.WIM 파일을 수정해줘야 합니다. 물론 둘다 수정하시려면 둘다 수정하시면 됩니다.
먼저 SOURCES 폴더 부터 수정해봅시다. lang.ini 파일을 메모장으로 열어서 다음과 같이 수정합니다.
[Available UI Languages]
ja-JP = 3
[Fallback Languages]
ja-JP = en-us
만약에 한꺼번에 여러가지 설치를 할 수 있도록 하는 경우에는
[Available UI Languages] 항목에 기본값만 3을 주고 나머지는 전부 2를 주면 됩니다.
[Available UI Languages]
ko-KR = 3ja-JP = 2
en-US = 2
[Fallback Languages]
ko-KR = en-us
다음으로 언어팩 파일에서 몇가지 파일을 끄집어내서 SOURCES 폴더 안에 복사해줍니다. EULA 문서랑 몇가지 파일들인데 솔직히 별로 필요한지는 모르겠습니다만...
언어팩 lp.cab 파일을 열어보시면 폴더랑 파일들이 엄청나게 많이 있는데
필요한 파일들은 setup 폴더와 sources 폴더 안에 들어있습니다.
setup 폴더 안에는 다시 sources 폴더가 나오는데 그 안에는 ja-jp 폴더가 있습니다.
이 ja-jp 폴더를 우리의 뼈대소스 D:\7100\SOURCES 폴더 안에다가 복사해줍니다.
그리고 다시 lp.cab 안에 들어있다는 sources 폴더를 보시면 license 폴더가 들어있는데 역시 그 안에 들어있는 ja-jp 폴더를 우리의 뼈대소스 D:\7100\SOURCES\LICENSE 폴더 안에 복사해줍니다.
똑같은 작업을 BOOT.WIM 파일에도 해줍니다.
먼저 BOOT.WIM 파일의 2번 이미지를 MOUNT 폴더에 마운트 시킵니다.
imagex /mountrw d:\7100\sources\boot.wim 2 d:\mount
그리고는 위에서 했던 똑같은 작업들을 반복해줍니다.
마운트된 sources 폴더 안에 들어가서 lang.ini 파일을 수정하고 lp.cab 파일에서 추출한 ja-jp 폴더들을 각자의 위치에 복사해줍니다.
다 하셨으면 역시 변경사항을 저장해주시면 됩니다.
imagex /unmount /commit d:\mount
8. 마무리
이제 다 끝났습니다. UltraISO로 원래의 영문판을 열어주고 내용물 삭제하고 방금 작업했던 7100 폴더의 내용물을 전부 넣어서 다른 이름으로 대상 저장해주시면 됩니다. 물론 OSCDIMG 사용하셔도 되지만 UltraISO로 하시면 편하니까요.
(http://snoopy.textcube.com/471)
DVD 부팅을 해보면 아까전에 말씀드렸듯이 설치 안내 과정이 영어로 나옵니다. 하지만 첫번째 재부팅 이후 과정부터는 일본어로 정상 표시됩니다.
댓글 없음:
댓글 쓰기