출처 : http://www.snoopybox.co.kr/1477

 오래전에 해외 포럼에 올라온 내용인데, 저는 MS에서 직접 통합한 원본이 올라오면 포맷하고 새로 설치할 생각이라 그다지 관심을 가지지 않았습니다. 하지만 댓글로 질문 주신 분도 계시고, 이런 내용은 하나쯤 제 블로그에 올려두는게 맞겠다 싶어 올려봅니다.

여기서 소개해드릴 방법은 윈도우 7에 내장된 기능인 DISM을 이용하여 직접 이미지에 서비스팩을 통합하는 것입니다. 원래 비스타부터 서비스팩은 오프라인 통합을 막아두었기 때문에 안 되는게 정상인데, 패키지를 풀어서 일부 파일을 수정해주면 오프라인 통합도 가능합니다. 마치 빌드가 다른데도 언어팩을 통합할 수 있었던 것과 비슷한 원리입니다.



0. 작업 조건

먼저 이 작업은 윈도우 7 (또는 서버 2008 R2) 에서 진행하는 것을 기준으로 설명드립니다. 물론 XP나 비스타 환경에서도 WAIK를 설치하면 DISM 작업이 가능합니다만, 윈도우 7 원본에 서비스팩을 통합하고픈 분들이 XP를 사용하고 있지는 않을 것이라 판단하기 때문에 XP에서의 작업은 설명하지 않겠습니다.

또한 64비트 원본에 서비스팩을 통합하려면 64비트 환경이어야 합니다. 그 이유는 windows6.1-KB976932-X64.exe 파일이 64비트 환경에서만 풀리기 때문입니다.



1. 초보자용 가이드

먼저 초보자를 위해 제가 만든 배치파일을 올려드립니다. 사실 초보자용이라 말은 했지만 초보자가 아니라 하더라도 일일이 작업하는게 귀찮으신 분들에겐 이 배치파일이 유용할 수도 있습니다. CAB 압축을 푸는데는 7z CLI 버전을 이용하였고, Imagex /info와 FOR 구문을 활용하여 에디션 선택을 쉽게 할 수 있도록 만들었습니다. 또한 수정해야할 파일 3개를 미리 수정해서 첨부해두었습니다.



위 파일을 다운받은 다음 적당한 위치에 압축을 풀어줍니다. 그리고 통합할 윈도우 7 원본에서 install.wim 파일을 복사해옵니다. 또한 통합할 서비스팩 1 파일도 같이 복사해옵니다.

저는 32비트 얼티밋 원본 ko_windows_7_ultimate_k_x86_dvd_x15-65969.iso 파일에서 install.wim 파일을 복사해왔고, 32비트 서비스팩1 파일인 windows6.1-KB976932-x86.exe를 작업 폴더에 넣어두었습니다.





이제 통합하기.cmd 파일을 실행합니다. (우클릭 해서 관리자 권한으로 실행해주세요.) 그러면 32비트 통합인지 64비트 통합인지 물어보는데 32비트라면 1번을, 64비트라면 2번을 입력하고 엔터키를 누릅니다. 참고로 64비트 작업은 64비트 윈도우 환경에서만 가능합니다. 저는 이 가이드에서 32비트를 통합하기 때문에 1번을 누르겠습니다.





다음은 통합할 에디션을 선택해야 합니다. 윈도우 7 순수 원본에는 아래 그림처럼 다양한 에디션이 들어있습니다. 다만 ei.cfg 파일 때문에 설치시 한 가지 에디션만 보일 뿐입니다. 저는 Ultimate 에디션에 통합할 생각이기 때문에 5번을 누르겠습니다. 64비트의 경우 Starter 에디션이 없기 때문에 번호가 한개씩 당겨집니다. 순수 원본이 아니라 하더라도 제가 올려드린 배치파일은 알아서 DISPLAYNAME을 보여주기 때문에 번호가 헛갈릴 일은 없습니다.





마지막으로 통합하는데 시간이 오래 걸린다는 안내문구가 한번 나옵니다. 아무 키나 눌러주시면 통합이 시작됩니다. 작업을 위한 여유공간은 충분히 있어야 합니다. (넉넉히 20GB 정도) 그리고 64비트 통합의 경우 시간이 엄청 오래 걸립니다. 제 컴퓨터에서도 수십분 걸리더군요. 32비트의 경우도 최소 10분 이상은 소요될 것입니다.





통합이 끝나면 위 창은 자동으로 꺼집니다. 통합이 잘 되었다면 install.wim 파일이 원래 용량보다 커졌을 것입니다. Imagex의 export 기능을 활용하면 용량을 아주 조금 줄일 수 있지만, 초보자용 가이드라서 다루지 않습니다.

이대로 통합한 install.wim 파일을 원래의 원본 iso 파일에 교체해주시면 됩니다. 일반적으로 UltraISO 등록판을 많이 사용하지요. 또는 cdimage.exe나 oscdimg.exe를 사용하여 ISO 패키징 할 수도 있습니다.



2. 중급자용 가이드

제가 생각하는 중급자란 CLI에 익숙하고 WIM 파일을 DISM, Imagex, GImagex 등으로 마운트해서 수정하는 작업에 익숙하신 분들을 지칭합니다. 또한 저는 말로만 설명드리겠습니다. 말로만 설명드려도 이해가 가능한 수준의 분들을 중급자라 지칭했습니다. 또한 아래 설명은 32비트 x86 기준입니다. 64비트의 경우 파일 이름에서 x86 대신에 x64를 찾아보시면 되겠지요.


1. 윈도우 7 서비스팩 1 파일을 일단 풀어줍니다. 64비트 파일은 64비트 환경에서만 풀 수 있습니다. 푸는 방법은 뒤에 /x:경로 붙여주시면 됩니다.

예제) windows6.1-KB976932-x86.exe /x:temp


2. 위 예제처럼 하면 temp 폴더가 생성되면서 파일이 풀리는데 다른 파일은 다 필요없고 windows6.1-KB976932-X86.cab 파일만 있으면 됩니다. 이 파일만 꺼내주시고 temp 폴더는 삭제하셔도 됩니다.


3. 이 windows6.1-KB976932-X86.cab 파일을 적당한 위치에 압축 풀어줍니다. 저는 폴더에 압축을 푼 다음 폴더 이름을 SP1으로 변경했습니다. WinRAR이나 7zip 등을 사용하신다면 CAB 파일을 바로 풀 수 있습니다. 물론 내장 명령어 Expand를 사용해도 되는데 시간이 오래 걸려서 저는 WinRAR로 바로 풀어버렸습니다.


4. 압축을 풀고 SP1 폴더 안에 보면 CAB 파일이 8개 들어있습니다. KB976933-LangsCab0 부터 6까지 파일과 NestedMPPContent.cab 파일인데 이 8개의 파일들을 현재 폴더 SP1에 그대로 압축 풀어줍니다. 압축을 풀다가 나타나는 중복 파일은 그냥 덮어씌워도 무방합니다. 8개의 파일을 모두 압축 풀었다면 SP1 폴더에서 8개의 CAB 파일들을 삭제합니다.


5. cabinet.cablist.ini 파일을 삭제합니다.


6. update.mum 파일을 메모장으로 편집합니다. 하단에 나오는 allowedOffline="false" 값을 true로 변경합니다.


7. update.ses 파일을 메모장으로 편집합니다. <Tasks operationMode="OfflineInstall"> 항목에서 하위 항목을 보면 <package id="Windows7SP1-KB976933~31bf3856ad364e35~x86~~6.1.1.17514" targetState="Absent"/> 라고 되어 있는데 Absent를 Installed로 변경해줍니다.


8. Windows7SP1-KB976933~31bf3856ad364e35~x86~~6.1.1.17514.mum 파일을 메모장으로 편집합니다. 우선 제일 하단에 나오는 allowedOffline="false" 값을 true로 변경합니다. 이것만 해줘도 되기는 한데, 한글판 통합에는 다른 언어들이 불필요하므로 이 파일을 약간 정리해주는게 좋습니다. 그러니까 예를 들어 아래와 같은 항목들이 30개 이상 있는데

<update name="Windows7SP1-ja-jp">
   <package integrate="hidden">
    <assemblyIdentity name="Package_for_KB976933" version="6.1.7601.17514" language="ja-jp" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35"/>
   </package>
  </update>

한국어와 영어만 제외하고는 위 형식의 항목들을 다 삭제해주세요.


9. 이제 통합을 위한 SP1 준비는 완료되었습니다. DISM 또는 Imagex, GInageX 등을 이용하여 install.wim 파일을 마운트합니다. 여기서는 DISM을 이용한 예제만 보여드리겠습니다. 그런데 마운트 작업을 하기 전에 반드시 마운트할 빈 폴더를 먼저 생성해두어야 합니다. 저는 mount 라는 폴더를 미리 생성해두었습니다. 인덱스 번호는 32비트에서 얼티밋을 마운트할 생각이라 5번으로 지정했습니다. 

예제) dism /mount-wim /wimfile:install.wim /index:5 /mountdir:mount


10. 서비스팩을 통합합니다. SP1 폴더에 필요한 파일이 전부 풀어져 있고, mount 폴더에 원본이 마운트 되어 있다고 가정하면

예제) dism /image:mount /add-package /packagepath:sp1


11. 통합이 완료되었다면 이제 마운트를 풀어줍니다. 변경사항을 저장해줘야겠죠.

예제) dism /unmount-wim /mountdir:mount /commit


이게 끝입니다. 원본에서 install.wim 파일을 교체해주시면 됩니다. 설명이 어렵죠? 그렇게 느껴지신다면 초보자용 가이드를 이용하세요. 위 작업들을 자동으로 한방에 다 처리해줍니다.



※ 근황
1. 평일에는 블로그 할 시간이 없습니다. 밤 늦게 집에 들어오고 아침 일찍 출근합니다.
2. 지금까지는 편하게 교육을 받았는데, 다음주부터는 자바 교육이 시작되어 고생이 많을 듯 합니다.
3. 다음주 중으로는 샌디브릿지 2500k 물량이 풀리겠죠? 216달러이므로 26만원 이상이면 구매를 보류할 생각입니다.



※ 왕대인님처럼 한꺼번에 여러개의 이미지에 통합하려는 경우

posted by ZeroZZaNG™
출처 : http://www.snoopybox.co.kr/1505

 제가 2009년에 윈도우 7 정식버전 출시되기 훨씬 이전부터 DISM과 Imagex를 이용한 가이드를 참 많이 올렸습니다. 당시엔 주로 언어팩 통합 관련 이야기를 다뤘고, 최근에는 서비스팩, 드라이버, IE9 통합 등을 다뤘는데요, 공통적으로 필요한 내용이 바로 이 부분입니다. DISM으로 Install.wim 파일을 마운트해서 편집한 다음 언마운트 하면 용량이 꽤 증가하게 됩니다. 그대로 사용해도 큰 지장은 없지만 11in1 같이 용량이 큰 경우 최적화 시켜줄 필요성이 있겠죠. 별로 어려운 내용은 아닙니다. 그냥 Imagex로 export를 쭈욱 해주시면 되는데, 저는 이럴 때 FOR 문으로 간단하게 한줄로 해결하지만 초보 분들은 잘 모르시니 제가 배치파일 하나 만들어 올려드립니다.

질문 내용은 이렇습니다.


잘못된게 아니고 저정도 용량이 증가하는게 정상입니다.


용량을 줄이고 싶으시다면 일단 아래 파일을 받아 압축 해제한 다음 install.wim 파일을 용량줄이기 폴더에 넣고 용량줄이기 파일을(우클릭 - 관리자 권한으로 실행 권장) 실행해주세요.







까만색 창이 뜬 다음 자동으로 반복해서 export 작업을 합니다. 작업이 끝나면 창이 꺼지고 new_install.wim 파일이 생성됩니다.




제가 윈도우 7 SP1 32비트 원본에 IE9 통합 작업을 스타터부터 얼티밋까지 5가지 에디션에 전부 해봤는데요, 원래 install.wim 파일의 크기가 2GB였는데 통합한 후 용량이 2.2GB로 증가했습니다. 하지만 이 용량줄이기 파일을 적용한 후에는 다시 2.03GB로 줄어들었습니다.



posted by ZeroZZaNG™
출처 : http://snoopybox.co.kr/1477

오래전에 해외 포럼에 올라온 내용인데, 저는 MS에서 직접 통합한 원본이 올라오면 포맷하고 새로 설치할 생각이라 그다지 관심을 가지지 않았습니다. 하지만 댓글로 질문 주신 분도 계시고, 이런 내용은 하나쯤 제 블로그에 올려두는게 맞겠다 싶어 올려봅니다.

여기서 소개해드릴 방법은 윈도우 7에 내장된 기능인 DISM을 이용하여 직접 이미지에 서비스팩을 통합하는 것입니다. 원래 비스타부터 서비스팩은 오프라인 통합을 막아두었기 때문에 안 되는게 정상인데, 패키지를 풀어서 일부 파일을 수정해주면 오프라인 통합도 가능합니다. 마치 빌드가 다른데도 언어팩을 통합할 수 있었던 것과 비슷한 원리입니다.



0. 작업 조건

먼저 이 작업은 윈도우 7 (또는 서버 2008 R2) 에서 진행하는 것을 기준으로 설명드립니다. 물론 XP나 비스타 환경에서도 WAIK를 설치하면 DISM 작업이 가능합니다만, 윈도우 7 원본에 서비스팩을 통합하고픈 분들이 XP를 사용하고 있지는 않을 것이라 판단하기 때문에 XP에서의 작업은 설명하지 않겠습니다.

또한 64비트 원본에 서비스팩을 통합하려면 64비트 환경이어야 합니다. 그 이유는 windows6.1-KB976932-X64.exe 파일이 64비트 환경에서만 풀리기 때문입니다.



1. 초보자용 가이드

먼저 초보자를 위해 제가 만든 배치파일을 올려드립니다. 사실 초보자용이라 말은 했지만 초보자가 아니라 하더라도 일일이 작업하는게 귀찮으신 분들에겐 이 배치파일이 유용할 수도 있습니다. CAB 압축을 푸는데는 7z CLI 버전을 이용하였고, Imagex /info와 FOR 구문을 활용하여 에디션 선택을 쉽게 할 수 있도록 만들었습니다. 또한 수정해야할 파일 3개를 미리 수정해서 첨부해두었습니다.

SP1통합.zip


위 파일을 다운받은 다음 적당한 위치에 압축을 풀어줍니다. 그리고 통합할 윈도우 7 원본에서 install.wim 파일을 복사해옵니다. 또한 통합할 서비스팩 1 파일도 같이 복사해옵니다.

저는 32비트 얼티밋 원본 ko_windows_7_ultimate_k_x86_dvd_x15-65969.iso 파일에서 install.wim 파일을 복사해왔고, 32비트 서비스팩1 파일인 windows6.1-KB976932-x86.exe를 작업 폴더에 넣어두었습니다.




이제 통합하기.cmd 파일을 실행합니다. (우클릭 해서 관리자 권한으로 실행해주세요.) 그러면 32비트 통합인지 64비트 통합인지 물어보는데 32비트라면 1번을, 64비트라면 2번을 입력하고 엔터키를 누릅니다. 참고로 64비트 작업은 64비트 윈도우 환경에서만 가능합니다. 저는 이 가이드에서 32비트를 통합하기 때문에 1번을 누르겠습니다.




다음은 통합할 에디션을 선택해야 합니다. 윈도우 7 순수 원본에는 아래 그림처럼 다양한 에디션이 들어있습니다. 다만 ei.cfg 파일 때문에 설치시 한 가지 에디션만 보일 뿐입니다. 저는 Ultimate 에디션에 통합할 생각이기 때문에 5번을 누르겠습니다. 64비트의 경우 Starter 에디션이 없기 때문에 번호가 한개씩 당겨집니다. 순수 원본이 아니라 하더라도 제가 올려드린 배치파일은 알아서 Display Description을 보여주기 때문에 번호가 헛갈릴 일은 없습니다.




마지막으로 통합하는데 시간이 오래 걸린다는 안내문구가 한번 나옵니다. 아무 키나 눌러주시면 통합이 시작됩니다. 작업을 위한 여유공간은 충분히 있어야 합니다. (넉넉히 20GB 정도) 그리고 64비트 통합의 경우 시간이 엄청 오래 걸립니다. 제 컴퓨터에서도 수십분 걸리더군요. 32비트의 경우도 최소 10분 이상은 소요될 것입니다.




통합이 끝나면 위 창은 자동으로 꺼집니다. 통합이 잘 되었다면 install.wim 파일이 원래 용량보다 커졌을 것입니다. Imagex의 export 기능을 활용하면 용량을 아주 조금 줄일 수 있지만, 초보자용 가이드라서 다루지 않습니다.

이대로 통합한 install.wim 파일을 원래의 원본 iso 파일에 교체해주시면 됩니다. 일반적으로 UltraISO 등록판을 많이 사용하지요. 또는 cdimage.exe나 oscdimg.exe를 사용하여 ISO 패키징 할 수도 있습니다.



2. 중급자용 가이드

제가 생각하는 중급자란 CLI에 익숙하고 WIM 파일을 DISM, Imagex, GImagex 등으로 마운트해서 수정하는 작업에 익숙하신 분들을 지칭합니다. 또한 저는 말로만 설명드리겠습니다. 말로만 설명드려도 이해가 가능한 수준의 분들을 중급자라 지칭했습니다. 또한 아래 설명은 32비트 x86 기준입니다. 64비트의 경우 파일 이름에서 x86 대신에 x64를 찾아보시면 되겠지요.


1. 윈도우 7 서비스팩 1 파일을 일단 풀어줍니다. 64비트 파일은 64비트 환경에서만 풀 수 있습니다. 푸는 방법은 뒤에 /x:경로 붙여주시면 됩니다.

예제) windows6.1-KB976932-x86.exe /x:temp


2. 위 예제처럼 하면 temp 폴더가 생성되면서 파일이 풀리는데 다른 파일은 다 필요없고 windows6.1-KB976932-X86.cab 파일만 있으면 됩니다. 이 파일만 꺼내주시고 temp 폴더는 삭제하셔도 됩니다.


3. 이 windows6.1-KB976932-X86.cab 파일을 적당한 위치에 압축 풀어줍니다. 저는 폴더에 압축을 푼 다음 폴더 이름을 SP1으로 변경했습니다. WinRAR이나 7zip 등을 사용하신다면 CAB 파일을 바로 풀 수 있습니다. 물론 내장 명령어 Expand를 사용해도 되는데 시간이 오래 걸려서 저는 WinRAR로 바로 풀어버렸습니다.


4. 압축을 풀고 SP1 폴더 안에 보면 CAB 파일이 8개 들어있습니다. KB976933-LangsCab0 부터 6까지 파일과 NestedMPPContent.cab 파일인데 이 8개의 파일들을 현재 폴더 SP1에 그대로 압축 풀어줍니다. 압축을 풀다가 나타나는 중복 파일은 그냥 덮어씌워도 무방합니다. 8개의 파일을 모두 압축 풀었다면 SP1 폴더에서 8개의 CAB 파일들을 삭제합니다.


5. cabinet.cablist.ini 파일을 삭제합니다.


6. update.mum 파일을 메모장으로 편집합니다. 하단에 나오는 allowedOffline="false" 값을 true로 변경합니다.


7. update.ses 파일을 메모장으로 편집합니다. <Tasks operationMode="OfflineInstall"> 항목에서 하위 항목을 보면 <package id="Windows7SP1-KB976933~31bf3856ad364e35~x86~~6.1.1.17514" targetState="Absent"/> 라고 되어 있는데 Absent를 Installed로 변경해줍니다.


8. Windows7SP1-KB976933~31bf3856ad364e35~x86~~6.1.1.17514.mum 파일을 메모장으로 편집합니다. 우선 제일 하단에 나오는 allowedOffline="false" 값을 true로 변경합니다. 이것만 해줘도 되기는 한데, 한글판 통합에는 다른 언어들이 불필요하므로 이 파일을 약간 정리해주는게 좋습니다. 그러니까 예를 들어 아래와 같은 항목들이 30개 이상 있는데

<update name="Windows7SP1-ja-jp">
   <package integrate="hidden">
    <assemblyIdentity name="Package_for_KB976933" version="6.1.7601.17514" language="ja-jp" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35"/>
   </package>
  </update>

한국어와 영어만 제외하고는 위 형식의 항목들을 다 삭제해주세요.


9. 이제 통합을 위한 SP1 준비는 완료되었습니다. DISM 또는 Imagex, GInageX 등을 이용하여 install.wim 파일을 마운트합니다. 여기서는 DISM을 이용한 예제만 보여드리겠습니다. 그런데 마운트 작업을 하기 전에 반드시 마운트할 빈 폴더를 먼저 생성해두어야 합니다. 저는 mount 라는 폴더를 미리 생성해두었습니다. 인덱스 번호는 32비트에서 얼티밋을 마운트할 생각이라 5번으로 지정했습니다. 

예제) dism /mount-wim /wimfile:install.wim /index:5 /mountdir:mount


10. 서비스팩을 통합합니다. SP1 폴더에 필요한 파일이 전부 풀어져 있고, mount 폴더에 원본이 마운트 되어 있다고 가정하면

예제) dism /image:mount /add-package /packagepath:sp1


11. 통합이 완료되었다면 이제 마운트를 풀어줍니다. 변경사항을 저장해줘야겠죠.

예제) dism /unmount-wim /mountdir:mount /commit


이게 끝입니다. 원본에서 install.wim 파일을 교체해주시면 됩니다. 설명이 어렵죠? 그렇게 느껴지신다면 초보자용 가이드를 이용하세요. 위 작업들을 자동으로 한방에 다 처리해줍니다.



※ 근황
1. 평일에는 블로그 할 시간이 없습니다. 밤 늦게 집에 들어오고 아침 일찍 출근합니다.
2. 지금까지는 편하게 교육을 받았는데, 다음주부터는 자바 교육이 시작되어 고생이 많을 듯 합니다.
3. 다음주 중으로는 샌디브릿지 2500k 물량이 풀리겠죠? 216달러이므로 26만원 이상이면 구매를 보류할 생각입니다.



※ 왕대인님처럼 한꺼번에 여러개의 이미지에 통합하려는 경우
왕대인.zip


posted by ZeroZZaNG™

윈도우 7 & 비스타 통합

OS/Win-Se7en 2009. 11. 24. 14:06

출처 : http://snoopybox.co.kr/1179

 

헐... 해결책은 너무나도 간단한 곳에 있었습니다.

그동안 윈도우 7만 너무 좋아하고 비스타를 도외시 했기 때문에 이렇게는 한번도 시도해볼 생각을 못해봤네요.

 

1. 윈도우 7의 boot.wim 파일로 비스타 설치 => 설치 마지막 단계에 오류 발생 (bcdboot 호환문제로 추정)

2. 비스타 boot.wim 파일 vista.wim 으로 이름 변경해서 멀티부팅에 등록 => 비스타 설치 초반에 장치 못 찾음

3. 비스타 뼈대에 윈도우 7 집어넣고 설치 => 윈도우 7 설치 초반에 장치 못 찾음

 

예전에 통합해본다고 이런 저런 시도를 해봤으나 다 실패했는데

비밀은 2번 방법에 있었습니다.

 

저는 윈도우 7의 boot.wim 파일을 기본으로 하고 비스타의 boot.wim 파일은 vista.wim 으로 변경해서 멀티부팅을 시도했습니다. 그런데... 이 반대로 해주면 됩니다. ;;; 비스타의 boot.wim 파일은 이름을 그대로 두고 윈도우 7의 boot.wim 파일을 예를 들어 boot7.wim 으로 변경해서 멀티부팅에 등록시켜주면 아무런 문제가 없습니다.

 

왜 이런 현상이 발생하는지는 저도 모르겠습니다. 다만 이렇게 하면 된다는 것.

 

단점이 있다면 비스타의 boot.wim 파일로 부팅했을 때는 설치 초반에 딜레이가 꽤 심하다는 것. 설치할 파티션 선택한 이후부터는 딜레이가 없는데 그 전까지는 딜레이가 꽤 심합니다. 하지만 윈도우 7의 boot.wim 파일은 딜레이가 없습니다.

 

 

 

요약 정리

1. 전체 뼈대는 윈도우 7의 것을 그대로 사용한다. (그래야 윈도우 7 설치가 가능함)

2. 비스타의 boot.wim 파일은 이름 그대로 가져오고 윈도우 7의 boot.wim은 이름을 변경해서 멀티부팅 등록시킨다.

(멀티부팅에 등록시키는 것은 64비트 복구모드를 추가하는 방법과 동일하게 하면 된다.)

3. 비스타 boot.wim 으로 부팅해서 통합 Install.wim 파일에 접근하는 경우 딜레이가 좀 심하다. 하지만 파티션 선택 이후엔 빠르다.

 

 

 

기본적으로 전체 과정은 지난번에 포스팅했던 윈도우 7 32/64비트 + 서버 2008 R2 통합하기 글을 참조하시면 되고, 여기에 비스타 통합만 응용해서 하신 다음, 멀티부팅 메뉴 구성만 비스타의 boot.wim 파일 이름은 그대로 쓰고 윈도우 7이나 64비트 복구모드 같은걸 이름 바꿔서 추가로 등록해주는 형식을 취하시면 됩니다.

posted by ZeroZZaNG™

윈도우 7 32/64비트 + 서버 2008 R2 통합하기

OS/Win-Se7en 2009. 11. 12. 20:51

 

 

오늘은 그동안 미루어왔던 윈도우 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 듀얼레이어 한장 사서 구워놔도 아깝지 않을 듯 합니다.

 

posted by ZeroZZaNG™