오늘은 그동안 미루어왔던 윈도우 7 통합본 만들기에 대해 포스팅합니다.
스샷도 많고 잡설이 많아서 쓰고보니 대단히 장문입니다. 그대로 따라하실 분들은 미리 마음의 준비를...
이 글은 위 스샷처럼 윈도우 7 32비트 3가지 에디션과 64비트 3가지 에디션, 그리고 서버 2008 R2 1가지 에디션 통합을 기준으로 설명드립니다. 하지만 각자 내용을 정확히 이해하신다면 응용해서 아무렇게나 만드실 수 있습니다. KN 버전과 엔터프라이즈 에디션까지 통합해서 22개 통합본을 만들어도 되고 서버 2008 R2 8가지 에디션을 전부 다 통합해서 DVD 듀얼레이어 규격으로 만드셔도 되겠죠. 또한 비스타랑 XP 역시 통합이 가능한데 대신에 PE를 따로 빌드해야 하기 때문에 이 글에서는 설명드리지 않습니다. 물론 XP의 경우 USB 부팅을 하지 않고 USB CD영역을 사용하신다든지 아니면 DVD에만 굽겠다고 하시면 굳이 PE에서 설치하지 않더라도 BCDW같은 로더를 사용해서 만들 수 있습니다.
※ 준비물
1. Windows® 7용 Windows® 자동 설치 키트(AIK) - 윈도우 7 사용자들은 필요 없음
2. GImageX v2.0.17 - GUI가 편하기 때문에 이걸로 진행합니다.
3. 윈도우 7 & 서버 2008 R2 MSDN/TechNet 원본 파일
1. 통합 install.wim 파일 만들기
먼저 통합 WIM 이미지 파일을 만들어봅시다. 비스타와 윈도우 7 원본 파일 안에는 엔터프라이즈를 제외한 모든 에디션이 들어있습니다. 다만 윈도우 7에선 에디션별로 ei.cfg 파일이 다르게 설정되어 있어 설치시 1가지 에디션만 보입니다. 하지만 보이기만 그럴 뿐 안을 들여다보면 모든 에디션이 다 들어있습니다.
우선 XP와 비스타에서 작업하시는 분들은 준비물 1번 WAIK를 설치해주세요. 윈도우 7에서 작업하시는 분들은 설치하실 필요가 없습니다.
추출 작업은 준비물 2번 GImageX로 진행합니다.
Export 탭으로 갑니다.
Source 부분에서 추출하고자 하는 윈도우 7 원본의 install.wim 파일을 찾아서 지정해줍니다.
Image 부분에서 추출하고자 하는 에디션 번호를 선택합니다.
32비트 윈도우 7에는 Starter, HomeBasic, HomePremium, Professional, Ultimate 순서로 들어있습니다.
64비트 윈도우 7에는 Starter 에디션이 없어서 HomeBasic, HomePremium, Professional, Ultimate 순서로 들어있습니다.
KN 버전의 경우 HomePremium, Professional 순서가 서로 바뀌어 있습니다. (32/64비트 동일하게)
서버 2008 R2의 경우 Standard, Enterprise, Datacenter, Web 순서이고 Full, Core 순서입니다.
즉 Standard Full, Standard Core, Enterprise Full, Enterprise Core, ... 순서로 들어있습니다.
잘 모르시겠으면 GImageX의 Info 탭에서 원본 install.wim 파일 열어보세요. 그러면 Index 번호랑 이름이 자세하게 나옵니다.
Destination 부분에서 추출한 에디션을 저장할 파일 이름을 지정합니다. 저는 E 드라이브 루트에 추출하겠습니다.
Compression 부분은 반드시 Maximum으로 하셔야 작업이 빨리 될겁니다. (이해가 안 되시겠지만)
Name 부분에는 써도 되고 안 써도 되는데 저는 이상하게 쓰면 나중에 에러나면서 꺼지더라구요. 제 컴이 이상해서 그런 것일 수도 있으니 쓰고싶은 분들은 저기에 써보세요. 하지만 어차피 나중에 디스크립션 수정할테니 굳이 지금은 적으실 필요가 없습니다.
그리고 하단에 Export를 누르시면 추출이 시작됩니다.
저는 윈도우 7 32비트 원본에서 3번 이미지를 추출했습니다. 즉 저건 32비트 홈프리미엄 에디션입니다. 이제부터 여기에 프로페셔널, 얼티밋 이미지를 반복해서 추출합니다. 동일한 대상 파일에다가 (저는 E 드라이브에 있는 install.wim 파일에다가) 번호를 4번으로 해서 추출하고, 5번으로 해서 추출하면 되겠죠? 그런데 일단 32비트 홈프리미엄 에디션이 한번 추출되었기 때문에 프로페셔널과 얼티밋 에디션은 추출이 금방 됩니다. 왜냐하면 추출할 때 기존 파일이 있으면 건너뛰고 없는 파일만 추가로 들어가거든요. 그래서 금방 끝납니다.
64비트 역시 마찬가지로 동일한 대상파일에다가 2,3,4번을 추출합니다. 이것도 처음 파일만 추출하는데 시간이 오래 걸리고 두번째랑 세번째는 금방 끝납니다.
서버 2008 R2 역시 3번 엔터프라이즈 풀버전 하나 추출해줍니다.
이렇게 해서 제가 7가지 에디션을 통합해보니 파일 용량은 다음과 같습니다.
2. 화면에 표시되는 이름 수정하기
이 단계는 해도 되고 안 해도 되는데 금방 되는 작업이기 때문에 해주시면 좋을 것 같습니다. 다름이 아니라 위와같이 그냥 추출해버리면 나중에 설치할 때 표시되는 화면에서 32비트랑 64비트 이름이 똑같이 표시됩니다. 물론 뒤쪽에 x86이랑 x64로 구분이 되기는 하지만 그래도 일부러 다르게 표시해주면 설치하실 때 선택하기 좀 편하겠죠?
GImageX의 Change 탭으로 가신 다음 방금 추출했던 통합 이미지를 열어서 정보를 수정합니다.
여기서 화면에 표시되는 이름은 세번째 보이는 Display Name 입니다. 네번째 Display Desc.는 화면에서 에디션을 선택했을 때 하단부에 나오는 설명 부분입니다. 따라서 굳이 편집하자면 세번째랑 네번째만 하셔도 됩니다. 꼭 저렇게 4개 다 해야하는건 아닙니다.
저는 첫번째로 추출했던 이미지가 32비트 홈프리미엄 에디션이었기 때문에 1번을 선택하고 저렇게 수정했습니다. 마찬가지로 2번부터 6번까지 각각의 에디션과 비트에 맞게 이름을 넣었습니다. 마지막 7번 서버 2008 R2 엔터프라이즈는 32비트와 구분해줄 필요성이 없기 때문에 그냥 수정하지 않고 그대로 두었습니다.
3. boot.wim 파일 수정하기
이 작업은 서버 2008 R2를 윈도우 7과 함께 통합하실 분들에게만 필요한 단계입니다. 윈도우 7끼리만 통합하시는 경우 이 단계는 넘기시고 바로 다음 단계로 넘어가주세요.
서버 2008 R2를 통합한 경우 boot.wim 파일에 라이선스 파일을 넣어줘야 합니다. 넣지 않으면 설치할 때 파일을 찾을 수 없다고 에러가 발생합니다.
우선 윈도우 7 32비트 원본의 SOURCES 폴더 안에서 boot.wim 파일을 복사해옵니다. 저는 E 드라이브에 놓고 작업하겠습니다.
그리고 마운트할 임시폴더 하나를 생성합니다. 저는 E 드라이브에 MOUNT 라는 폴더를 하나 만들어두겠습니다.
Mount 탭으로 갑니다.
Mount Point 부분에서 방금 말씀드린대로 마운트할 임시폴더 생성한 것을 선택해줍니다.
Sources 부분에서 방금 말씀드렸던 윈도우 7 32비트 원본에서 꺼낸 boot.wim 파일을 지정합니다.
Image 부분에서 반드시 2번을 선택합니다. 1번 PE의 경우 윈도우상에서 설치를 시작했을 때 재부팅 이후 과정을 담당하기 때문에 설치 시작부분에 필요한 라이선스 폴더는 필요하지 않습니다.
Read and Write 부분에는 반드시 체크합니다. 그래야 편집이 가능합니다.
그리고 우측에 있는 Mount를 눌러줍니다. 눌러주신 다음 GImageX는 닫지말고 그대로 열어두세요.
마운트가 완료되면 위 스샷처럼 boot.wim 파일의 2번 이미지가 MOUNT 라는 폴더 안에 풀어집니다. 여기서 해야할 작업은 SOURCES 폴더 안에 보시면 라이선스 폴더가 있는데 서버 2008 R2의 라이선스 폴더를 가져와서 덮어씌워주세요. 서버 2008 R2의 라이선스 폴더는 서버 2008 R2 원본의 SOURCES 폴더 안에 들어있습니다. 굳이 똑같이 하자면 이것도 서버 2008 R2의 boot.wim 파일을 열어서 가져와야겠지만 아마 라이선스 폴더는 이놈이나 저놈이나 똑같을 것 같습니다.
라이선스 폴더를 덮어씌우셨다면 이제 저장을 해야하는데 이때 윈도우 탐색기에서 MOUNT 폴더가 열려있다면 탐색기를 닫아주세요. 열려있는 경우 Unmount 과정에서 오류가 발생할 수도 있습니다.
Unmount 부분에서 마운트된 이미지를 선택해주시고
Commit Changes 부분에 반드시 체크를 하시고 (변경사항을 적용하겠다는 말)
Unmount 버튼을 눌러주시면 됩니다.
이대로 파일을 그냥 사용하셔도 되기는 한데요, 여기서 한번 Export를 시켜주시면 용량이 조금 줄어듭니다. 왜냐하면 이렇게 마운트해서 편집작업을 한 다음 변경사항을 적용시키면 이미지 내에서 변경된 파일에 대한 위치 정보만 담기는 것 같습니다. 따라서 덩치가 좀 커집니다. 이건 용량이 얼마 안 되니 덜하지만 언어팩 통합작업 같은거 하면 Export 새로 해주는지 여부에 따라 용량차이가 꽤 많이 납니다.
아 물론 순서대로 1번, 2번을 전부 Export 시켜주셔야겠지요. 2번만 해버리면 혹시나 나중에 윈도우에서 설치를 시작하려는 경우 1번 PE가 없어서 설치가 진행되지 않습니다.
그냥 이대로 쓰시면 안에 찌꺼기가 좀 남는다는 말인데 나중에 이야기 하겠지만 MS에서 작업한 파일의 경우도 이렇게 찌꺼기가 남아서 용량이 약간 큰 경우가 있습니다. 바로 복구모드 파일 winre.wim 인데 나중에 다시 설명드릴께요. (대학생 프로모션 업그레이드 버전도 install.wim 파일에 찌꺼기가 남아있습니다.)
원래는 152mb인 파일인데 Export를 새로 해주시면
찌꺼기는 없어졌고 용량은 148mb로 살짝 줄어들었습니다.
4. 멀티부팅 메뉴에 64비트 복구모드 파일 추가하기
이렇게 통합본을 만들 때는 32비트 뼈대를 이용합니다. 위에서 작업한 boot.wim 파일 역시 제가 32비트로 작업하라고 말씀드렸구요. 그 이유야 물론 32비트 컴퓨터에서도 윈도우 7을 설치할 권리가 있기 때문이죠. 또한 64비트 뼈대에서 통합본을 만들면 32비트를 선택해서 설치할 경우 나중에 설치 마지막 단계에서 오류가 나는 것으로 알고 있습니다. 따라서 기본은 32비트 뼈대를 이용해야 합니다. 그리고 MSDN에서 만든 좀 부실한 통합본도 (참조 : Visual Studio Professional with MSDN Premium) 32비트 뼈대를 이용하고 있습니다.
32비트 뼈대로 통합본을 만들었을 시 단점은 64비트 윈도우 복구모드를 사용할 수 없다는 점입니다. 따라서 부팅메뉴에 멀티부팅으로 64비트 복구모드 파일을 따로 추가해주시는 것이 좋습니다.
제가 미리 작업해둔 BOOT 폴더를 첨부해드리겠습니다. 아래 작업들이 귀찮으신 분들은 제가 첨부해드리는 BOOT 폴더를 그대로 사용하시면 되고, 직접 해보는게 재미있을 것 같다고 생각되시는 분들은 직접 따라해보세요.
일단 32비트 윈도우 7 원본 파일 내용물을 하드에 복사합니다. 저는 E 드라이브에 WIN7 이라는 폴더를 하나 만들어서 그 안에 복사하겠습니다. 그런데 install.wim 파일하고 boot.wim 파일은 복사해오지 않아도 되겠죠? 왜냐하면 이미 위에서 작업해둔 파일이 있고 그놈들을 넣어야 하기 때문입니다. 물론 서버 2008 R2를 통합하지 않아서 boot.wim 파일을 작업하지 않으셨던 분들의 경우는 boot.wim 파일까지 같이 복사해오셔야겠지요.
그리고 64비트 복구모드 winre.wim 파일을 가져와서 위 SOURCES 폴더 안에 넣어줍니다. 현재 윈도우 7 64비트를 사용하고 계신 분들은 C:\Recovery 폴더 안에 보시면 이상한 문자가 있고 그 안에 파일이 들어있을겁니다. 만약 윈도우 7 64비트가 설치되어 있지 않은 분들은 윈도우 7 64비트 원본에서 파일을 꺼내와야겠지요? 64비트 install.wim 파일 아무거나 마운트시켜서 가져오셔도 되는데 저는 이렇게 가끔 깨끗한 원본 파일이 필요한 경우 그냥 편리하게 7zip을 이용합니다. 7zip을 설치하시면 WIM 파일에 우클릭 해서 바로 압축파일 열기가 가능합니다.
아무 에디션에나 들어가신 다음 Windows\System32\Recovery 폴더 안에 보시면 winre.wim 파일이 들어있을겁니다. 그놈만 드래그 앤 드롭으로 빼오시면 됩니다.
그런데 앞서 말씀드렸듯이 이놈이 MS에서 작업을 깔끔하게 안 해서 그런지 찌꺼기가 남아있습니다. 따라서 이놈도 Export 한번 해주시면 용량을 10mb 정도 줄일 수 있습니다.
아무튼 이렇게 용량을 줄인 파일을 SOURCES 폴더 안에 넣어주시고
지금부터 멀티부팅 메뉴를 편집하겠습니다.
관리자 권한으로 명령 프롬프트를 띄웁니다.
헉... 가만히 생각해보니 XP 유저들은 이 작업을 할 수 없겠네요. XP 유저들은 서럽더라도 그냥 제가 위에서 첨부해드렸던 파일 다운로드 받아서 그대로 사용하세요 ㅠㅠ
지금부터 차례대로 입력하시되 각자 작업하시는 폴더 위치를 알아서 적어주세요. 저는 E 드라이브 WIN7 폴더가 작업폴더이기 때문에 그걸 기준으로 작성하겠습니다. 빨간색 부분은 각자 원하시는 이름으로...
bcdedit /store e:\win7\boot\bcd /set {bootmgr} locale ko-kr
bcdedit /store e:\win7\boot\bcd /set {default} locale ko-kr
bcdedit /store e:\win7\boot\bcd /set {default} description "Windows 7 & Server 2008 R2 설치"
bcdedit /store e:\win7\boot\bcd /copy {default} /d "64비트 복구모드"
여기까지 하시면 네번째 명령어에서 새로 복사된 항목의 GUID가 반환됩니다.
저는 {22a7214b-cef7-11de-92fa-005056c00008} 라고 나왔습니다.
그런데 이 부분은 각자 다 다르게 나올겁니다. 따라서 아래 작업부터는 파란색 GUID 부분에 각자 자신의 작업환경에서 반환되었던 GUID를 넣어주셔야 합니다.
그리고 64비트 복구모드 파일인 winre.wim 파일을 저는 지정해줬는데 각자 멀티부팅 만들고 싶으신 WIM 파일이 있다면 얼마든지 이런식으로 추가 가능하고 파일 이름도 자기가 원하는대로 변경하시면 됩니다. 대신 아래 제가 빨간색으로 표시했듯이 해당 PE 파일의 이름을 정확히 지정해줘야겠죠.
bcdedit /store e:\win7\boot\bcd /set {22a7214b-cef7-11de-92fa-005056c00008} device ramdisk=[boot]\sources\winRE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store e:\win7\boot\bcd /set {22a7214b-cef7-11de-92fa-005056c00008} osdevice ramdisk=[boot]\sources\winRE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
이렇게 하시면 일단 큰 줄기의 작업은 끝났습니다. 그런데 제가 PE 부팅의 로케일을 일부러 ko-kr로 수정했는데 이렇게 하시면 부팅시 비스타 지렁이 대신에 윈도우 7의 구슬 화면이 나옵니다. 원래는 DVD 부팅시 기본 지렁이가 정상입니다. 하지만 위 커맨드를 그대로 따라하시면 구슬 애니메이션이 나옵니다.
또한 제가 bootmgr 로케일 역시 ko-kr로 지정했기 때문에 멀티부팅 메뉴가 한글로 나옵니다. 그런데 이대로는 한글로 나오지 않습니다. boot\ko-kr 폴더 안에 bootmgr.exe.mui 파일을 (당연히 한글) 넣어주셔야 부팅메뉴가 한글로 나옵니다. 위 파일은 윈도우 7 사용자의 경우 C:\Windows\Boot\PCAT\ko-KR 폴더에서 찾으실 수 있습니다.
그리고 추가적으로 별로 중요하지는 않지만 메모리 진단 메뉴도 한글화를 해봅시다.
bcdedit /store e:\win7\boot\bcd /set {memdiag} locale ko-kr
bcdedit /store e:\win7\boot\bcd /set {memdiag} description "Windows 메모리 진단"
마찬가지로 이렇게 로케일을 ko-kr로 설정한 경우 C:\Windows\Boot\PCAT\ko-KR 폴더에서 memtest.exe.mui 파일을 가져와서 복사해줘야겠지요?
그리고 마지막으로 부팅시간을 설정해봅시다. 한 10초정도면 충분할 것 같습니다.
bcdedit /store e:\win7\boot\bcd /timeout 10
이렇게 하시면 DVD 멀티부팅 64비트 복구모드 메뉴 구성은 완료됩니다.
5. 마무리 및 ISO 패키징
이제 대단원의 막을 내리겠습니다. 열심히 통합해주셨던 install.wim 파일과 boot.wim 파일은 작업 폴더의 SOURCES 폴더 안에 넣어주세요. 그리고 위에서 복구모드 편집시 말씀드렸지만 혹시라도 깜빡하신 분들은 winre.wim 파일도 지금 바로 SOURCES 폴더 안에 넣어주세요.
먼저 마무리 정리작업 좀 하겠습니다. 방금 작업했던 BOOT 폴더 안에 들어가보시면 로그파일 3개가 있을겁니다. 용량은 무의미하지만 일단 좀 지저분해 보이니까 삭제해주세요.
서버 2008 R2의 라이선스 폴더를 SOURCES 폴더에 덮어씌워주세요. 윈도우에서 설치를 시작할 경우 필요합니다.
SOURCES 폴더에서 ei.cfg 파일을 삭제합니다. 그래야 설치할 때 에디션 선택이 가능합니다.
SOURCES 폴더에서 cversion.ini 파일 편집하시면 업그레이드 빌드 제한 설정 가능한데 7100 RC에서 업그레이드 설치하실 분들 혹시 계실지도 모르니 숫자를 낮게 수정해주세요.
카달로그 파일들은 있으나 없으나 상관없는데 모양새를 맞추시려면 없는 에디션은 삭제하시고 서버 2008 R2의 카달로그는 가져오시는게 좋겠죠?
대충 정리가 다 된 것 같으니 이제 ISO로 패키징 합시다. MS의 윈도우 7 원본 패키징에 사용되었던 CDIMAGE 2.54 버전으로 진행하겠습니다. 아래 파일을 다운로드 하여 Windows 폴더 안에 넣어주세요.
어차피 이렇게 패키징하는 파일은 이 세상에 유일하게 존재하는 자신만의 파일이 될 것이기 때문에 굳이 MS의 방법을 그대로 따를 필요는 없겠지만 그래도 기분상 그대로 따르고 싶으신 분들은 태평양 표준시로 변경해주시고 작업하시면 되겠죠.
참조 글 : 홈 프리미엄 버전 가내수공업으로 만들어봤습니다.
명령 프롬프트를 관리자 권한으로 띄우신 다음 아래와 같이 입력합니다.
cdimage -u2 -udfver102 -be:\win7\boot\etfsboot.com -o -lWIN7nSVR2K8 -t07/14/2009,19:55:59 e:\win7 e:\test.iso
빨간색 부분에는 작업폴더의 위치를 적습니다.
녹색 부분에는 각자 원하는 DVD의 라벨명을 적습니다.
보라색 부분에는 각자 원하는 시간을 적습니다. -t 옵션을 빼면 그냥 현재 각 파일마다 설정되어있는 시간 그대로 들어갑니다.
파란색 부분에는 각자 원하는 출력파일의 이름을 적습니다.
이상으로 윈도우 7 32/64비트 + 서버 2008 R2 통합하기 강좌를 마치겠습니다.
(추가)
궁금해서 K 버전 11개랑 KN 버전 11개랑 서버 2008 R2 8개를 다 통합해서 30가지 에디션을 넣어봤는데
용량은 5GB 살짝 넘더군요. 이렇게 통합해놓으면 DVD 듀얼레이어 한장 사서 구워놔도 아깝지 않을 듯 합니다.