윈 도 우 vLite와 DISM 도구를 이용해서 윈도우7 덩치 줄이기
2009.10.27 02:22
작업전에 필요한 것들
- vLite 1.2, Windows AIK(Windows 자동 설치 키트 비스타용 -- 윈도우 7 용은 안됩니다.!!! 중복설치 불가). 영문윈도우7DVD이미지, 작업완료한 이미지를 시험하기 위한 가상머신 (VMware 추천. 윈도우 설치가 빠릅니다.). 작업폴더는 ntfs파티션으로 해주세요.
https://www.msfn.org/board/windows-7-rtm-32-64-bit-updated-t137765.html
1. 위의 링크에서 vLite 프리셋 파일을 받습니다. 전 처음에 엘리트32로 했다 안되어 익스트림32으로 해서 쓰고 있습니다. 위 링크에 각 프로파일의 특징들이 나열되어 있고, 7guide32.pdf(설명서), 7packages.pdf(어떤 팩키지들을 제거 하는지에 대한 내용) 들도 참고하세요. (작업 예시는 7xtreme32(32비트) 프리셋으로 하겠습니다.)
C:\7xtreme32\mount
C:\7xtreme32\source
C:\7xtreme32\wtools
를 아래와 같이 방금 압축을 푼 폴더경로에 맞게 수정해주고 저장하고 닫습니다.
D:\7xtreme32\mount
D:\7xtreme32\source
D:\7xtreme32\wtools
C:\Program Files\Windows AIK\Tools\x86 폴더의 (x64버전의 경우는 amd64폴더) imagex.exe를 복사하여 D:\7xtreme32\wtools 폴더에 붙여넣습니다. 또한 D:\7xtreme32 폴더에 있는 7xtreme32.ini 프리셋파일을 C:\Program Files\vLite\presets 폴더에 복사합니다.
3. 가상시디롬(또는 DVD롬에 준비된 영문윈도우7DVD)에 준비된 윈도우이미지를 삽입하여 거기에 포함된 파일 및 폴더 전부를 D:\7xtreme32\source 폴더에 복사합니다.
4. 이제 vLite 작업전에 vLite로 제거불가능한 패키지를 제거 하기 위해 batch 폴더에서 명령프롬프트창을 열어야 합니다. 탐색기에서 batch폴더 선택하고 쉬프트+마우스우클릭를 이용해서 "여기에서 명령창 열기" 합니다. 이 기능이 없으면 cmd 를 실행하여 위의 batch 폴더로 이동합니다.
5. mount 명령을 실행하기 전에 mount.bat, removal.bat 파일을 메모장으로 열어 "set image=3" 부분을 "set image=5" 변경합니다. 아시다시피 install.wim 설치파일에는 스타터버전부터 울티버전 까지 전부 다 들어있습니다. 이 명령은 이 5가지 버전중에(스타터가 1, 홈베이지2, 홈프리미엄3, 프로4, 울티5) 어떤 버전의 설치파일을 마운트 할지 결정합니다.
Dism /Get-WIMInfo /WimFile:D:\7xtreme32\source\sources\install.wim
명령으로 어떤버전이 포함되어 있는지 확인가능합니다. 프리셋은 홈프리미엄과 울티버전들만 지원한다고 되어 있지만, 대부분 팩키지 내용이 비슷하기 때문에 어떤 버전이든 상관없습니다. 일단 우린 프리셋 제작자의 의도대로 언어팩설치가 가능한 울티버전으로 작업하겠습니다.
이제 mount 명령을 실행해서 install.wim 파일을 D:\7xtreme32\mount 폴더에 마운트 합니다.
6. 이제 removal.bat 명령으로 vLite로 제거 불가능한 패키지를 제거 하기전에 어떤 것들을 제거하는지 removal.bat 파일을 메모장으로 열어봅니다.
%rempacks%Microsoft-Hyper-V-Common-Drivers-Package%winsuffix%
여기서 부터가 삭제되는 패키지 들입니다. 혹시 필요하다가 생각되는 것은 명령을 삭제하던가 맨 앞에 REM 을 붙여 주석처리 합니다.
Microsoft-Windows-Client-Wired-Network-Drivers-Package (랜카드 드라이버)
Microsoft-Windows-CodecPack-Basic-Encoder-Package
Microsoft-Windows-InternetExplorer-Optional-Package (익스트림 프리셋은 기본적으로 익스와 미플을 삭제합니다.)
Microsoft-Windows-NetworkDiagnostics-DirectAccessEntry-Package
를 제 필요에 따라 주석처리 했습니다.
참고로 원격데스크탑 관련 서비스를 이용하시는 분은
Microsoft-Windows-TerminalServices-~~~
관련 항목도 주석처리 해주세요.
removal 명령으로 작업을 시작합니다. 컴퓨터에 따라 몇분에서 몇십분 시간이 소요됩니다. 예기치 않은 오류가 발생했을 때는 discard.bat 명령으로 마무리 하시고, 리부팅 후 다시 mount 부터 작업해 봅니다.
참고로 Dism /Image:D:\7xtreme32\mount /Get-Packages
명령으로 패키지 리스트를 볼수 있으며 >featurelist.txt 옵션을 추가하면 파일로 저장이 됩니다. 근데 전 이상하게 윈도우7에서는 이 명령이 안 먹히네요. 아무래도 AIK 비스타 버전을 설치해서 그런듯 합니다.
DISM /Image:D:\7xtreme32\mount /Remove-Package /PackageName:Microsoft~~~~
명령으로 패키지 제거 가능합니다.
Dism /Image:D:\7xtreme32\mount /Get-Features
명령으로 Features 목록 확인가능하며
Dism /Image:D:\7xtreme32\mount /Get-FeatureInfo /FeatureName:Hearts
로 정보 보기
Dism /Image:D:\7xtreme32\mount /Disable-Feature /FeatureName:Hearts
해당 기능 끄기 가능합니다. (Hearts는 하트게임을 말하는것 같습니다.)
7. 위의 작업이 무사히 끝났으면 commit 명령으로 수정된 이미지를 저장하고 언마운트 합니다. 역시 좀 시간이 걸립니다.
명령창은 닫지 않고 그대로 놔둡니다.
8. 이제 드디어 vLite를 사용할때가 왔습니다. vLite를 실행하고 Browse 버튼을 눌러 D:\7xtreme32\source 폴더를 선택합니다. 조금 시간이 지난후 어떤 버전을 선택할지의 화면에서 울티를 선택합니다. 로딩이 끝나면 좌측의 여러 기능들이 활성화됩니다. (해당 이미지가 사용중이라며 로딩이 안될때는 재부팅후 하시면 됩니다.)
9. 로딩이 다 끝나면 프리셋에서 7xtreme32를 선택합니다. 각자가 제거하기 원하는 기능이나 기타 잡다한 것들을 선택합니다. 선택된 것들이 삭제되는 것들입니다. 대충 살펴보겠습니다.
Tasks
- Intergration : 드라이버 나 핫픽스, 언어팩을 통합할수 있습니다. 익스트림 프리셋은 언체크가 기본값입니다. 첫 성공을 위해 일단 그대로 둡니다.
- Componets : 말그대로 vLite의 핵심기능입니다. 윈도우의 군살을 빼기 위한 모든것들이 다 있습니다. 체크된 상태그대로 둡니다.
- Tweaks : 말 그대로 트윅입니다. 체크된 상태 그대로 둡니다.
- Unattneded setup : 무인설치를 위한 옵션인데 역시 기본값 그대로 언체크 된 상태 그대로 둡니다.
- Bootable ISO and Enable before apply : 작업한 내용을 부팅가능한 이미지로 만드는 기능입니다. 당연히 두개다 체크된 상태로 둡니다.
Components
- Accessories : 특별히 볼것은 없습니다. removal로 Microsoft-Windows-SnippingTool-Package를 제거했는데 왜 익스트림 프리셋 제작자는 여기서는 그대로 둔지 좀 의문스럽습니다. 하지만 우리도 그대로 둡니다. 사이드바와 가젯사용자는 알아서 언체크 합니다.
- Drivers : 필요한 것 있으면 언체크 합니다. 자신이 윈도우 내장 된 드라이버로 스캐너 및 프린터를(구모델 사용자) 사용하는 사람은 해당기능에 언체크 합니다. 저처럼 둘다 없는 가엾은 사람은 과감히 체크해줍니다. Storage controllers(저장장치드라이버) 는 긴가민가 하면 언체크 합니다. 붉으스름한 글씨로 경고까지 되어 있지 않습니까? 기껏해야 몇M 안됩니다. 하지만 난 내장드라이버 사용안하고 해당제조업체에서 제공한 드라이버를 사용하겠다면 과감히 체크해도 상관없습니다.
- Hardware support : 말그대로 하드웨어 지원인데, 상당히 중요합니다. 위의 드라이버는 따로 제공되는 드라이버로 설치하면 되지만, 여기서 지워진 하드웨어는 이미지를 다시 만들어서 윈도우재설치 전에는 사용할수가 없게 됩니다. 신중하게 선택하시기 바랍니다. 하지만 전 역시 해당사항이 하나도 없으므로 모두 체크했습니다.
- Lagnuages : 기존의 Tiny 버전은 모든 언어지원이 삭제된 상태이기 때문에 한글지원이 안되었지만, 우린 여기서부터 문제를 해결해 나갈수 있습니다. Korean 을 제외하고 모두 체크합니다.
- Multimedia : 미디어플레이어와 코덱까지 체크된 상태입니다. 하지만 대부분의 사람들이 요 두가지는 꼭 필요하리라 봅니다. 두 개를 체크해제 합니다. 나머지도 필요에 따라 선택하세요.
- Network : 네트워크에 관련된 기능과 서비스들을 제거할 수 있습니다. 네트워크 공유를 하고 있다면 Network and Sharing Center와 Network Explorer, File and printer sharing 기능이 필요합니다. DFS 기능은 체크해줍니다. 분산파일시스템..집에서는 쓸일이 없습니다. 아래그림은 제가 선택한 겁니다. Connect to a Network Projector는 왜 선택안했는지....전 공유기능 전혀 사용안하기 때문에 아래와 같이 선택했습니다. 설치 완료하면 내장방화벽도 사용을 못하게 되는데(서비스 시작은 되지만 중간에 에러로 정지됩니다.) 프리셋 제작자가 언체크 한 이유는 아마도 체크하고 이미지 만들면 윈도우 설치시 에러가 뜨지 않을까...하는 깊은 이유가 있을거라 조심스럽게 생각해봅니다.
- Services : 윈도우의 많은 서비스들을 삭제할수 있습니다. 저의 선택은 이렇습니다.
Application Experience는 호환성모드 제공하는 기능입니다. 아직 필요할 것 같습니다. 실제로 제 사블라이브 설치시 이 기능으로 설치해야 완벽하게 설치가 됩니다. 이 기능을 제거하면 실행파일의 속성탭에 호환성탭이 없어집니다. Offline Files도 제거해도 될 것 같은데, 제가 못보고 넘어간 듯 싶습니다.
- System : 제가 선택한 것은 아래와 같습니다. 중요한 것은 익스트림 프리셋에는 Crash Dump Support 까지 체크가 되어 있습니다. 이것을 체크하게 되면 최대절전모드를 사용못합니다. 제가 이것때문에 한번 재설치 했습니다. 이건 아마도 제작자의 실수 인 듯 싶습니다. Windows SAT는 체험지수같은 기능을 제공하는 것 같습니다.
Tweaks : 이 탭으로 넘어오면서 어떤어떤 서비스는 어떤어떤 서비스가 필요하다며 해당 서비스를 활성화 시킬거냐고 친절하게 물어봅니다. 우린 이미 마음을 확고히 먹었고, 모든걸 감수할 (몇번의 재설치와 몇번의 이미지 재생성도) 각오가 되어 있기 떄문에 쫄지말고 침착하게 모두 No 를 선택합니다.
여긴 별거 없습니다. 윈도우 설치후에도 변경이 가능한것들이기 때문이죠. 참고할 것이 있다면 DEP 기능을 안쓴다면 여기서 끄면 편합니다.
이상 완료되면 Apply 적용버튼을 눌러 작업을 완료합니다. 다시 한번 친절을 친절하게 물리치고 Rebuild one (Ultimate)를 선택합니다. 꽤 시간이 걸립니다. 아래 10번 cleanup 과정을 생략할거라면 완료되더라도 vLite 창을 닫으면 안됩니다.
10. vLite 작업이 완료되면 아까의 batch 폴더의 명령창으로 갑니다. vLite 포럼의 설명서에는 위의 9번까지 작업이 완료되면 vLite를 종료하고 mount-cleanup-commit 그리고 vLite로 다시 열어서 Apply작업까지 (이때에는 어떠한 옵션도 건드리면 안됩니다.) 하게 되어 있습니다. 이 작업은 몇몇 깨진 링크파일과 (여러 기능을 제거했지만 해당 링크파일은 그대로 남아있습니다.) 드라이버 파일, 폰트파일과 웰페이퍼 파일등을 제거하는 건데 전 그냥 생략하고 넘어갔습니다. 윈도우 기능을 제거하는 것이 아니고 그냥 파일 몇개 제거하는 것이기도 하거니와 시간 절약상 그냥 생략했습니다. cleanup.bat 파일 열어보시면 어떤한 것들을 제거하는지 나와있습니다. 그대로 수정없이 한다면 맑은고딕글꼴도 같은 한글글꼴도 제거된다는 점을 유의하세요. 우리는 쪼만한 용량 몇M에 목숨걸일은 없기 때문에 그냥 넘어갑시다.
11. 9번 작업에서 닫지 않은 vLite 창은 그대로 놔두고, 최종적으로 이미지에 포함될 파일들이 있는 D:\7xtreme32\source\sources 폴더로 가서 boot.wim 과 install.wim 파일을 제외한 D:\7xtreme32\source\sources 폴더에 있는 모든 파일과 폴더를 삭제합니다. 그리도 오리지날영문윈도우7이미지의 sources 폴더에 있는 setup.exe 파일을 D:\7xtreme32\source\sources 폴더로 복사합니다. 이 파일이 없으면 설치가 진행이 안됩니다.
12. 이제 vLite 에서 ISO 탭으로 가서 Make ISO로 이미지를 만듭니다. 최종적으로 생성된 이미지파일의 sources 폴더에 있는 것은 boot.wim install.wim setup.exe 입니다.
13. 가상머신으로 해당이미지를 사용해 부팅하고 윈도우를 설치합니다. 에러가 뜬다면 맨마지막 작업완료과정에서 몇몇 패키지가 없다고 뜨고 그렇지 않다면 사용자게정 만드는 화면으로 넘어가는데, 이때는 성공한 거라 보시면 됩니다.
14. 아무 문제가 없다면 이제 DVD로 구워서 실제로 적용하면 됩니다.
추가로 경험을 몇가지 말씀드리면 전 elite32 프리셋으로는 절대로 성공 못 했습니다. 물론 옵션 건드리지 않고 그대로 해도 말입니다. 하지만 extreme32는 옵션을 제 임의로 설정하다 설치때 에러 뜨는 경우는 있지만, 옵션그대로 건드리지 않고 했을 경우에는 100프로 성공했습니다. 그럼 어떤 옵션을 만지다 실패했냐 하면..정확히 뭐라 꼬집어 말살수 없다는 점이 참으로 저를 난감하게 하고 많은 분들에게 안타까움을 줄 것 같습니다. 의심스러웠던 옵션은 System의 Windows SAT와 Services의 TPM Base Services 같습니다. 그래서 요 두개는 프리셋 기본값 그대로 두었습니다. 제 이미지의 문제점은 내장방화벽(원래 사용안하고 어베스트의 네트워크방어기능이 있기도 하고)과 GPeidt.msc 기능이 안되는데 과연 어떠한 것들과 연관이 있는지 하는게 궁금하네요. 그리고 서비스관리자의 서비스속성탭의 종속성의 정보가 나타나지 않는군요. 아무래도 많은 분들의 관심과 연구가 필요한 것 같습니다.
Dism /Image:D:\7xtreme32\mount /Get-Packages >packages.txt로 어떤 패키지가 들어 있는지 보시면 꽤 많은 도움이 될 듯 하네요. removal 전에 목록좀 누군가 올려주시면 고맙겠습니다.
Unattend.rar <--윈도우7용 AIK에 있는 도움말 중 패키지관련 내용이 있어 올립니다.
댓글 [15]
-
sboat123 2009.10.27 08:19
-
gogo 2009.10.27 08:42 윈도 설치용량을 줄이면 제대로 윈도를 사용할수 없습니다. 되도록 풀버전을 설치하십시요. -
죠타로 2009.10.27 11:19
이렇게 만들면 윈도우 업데이트와 추후 서비스펙이 적용될지...궁금하네요. -
밴드맨 2009.10.27 12:47 AIK는 비스타용으로 설치해야 vLite 작동됩니다. 윈7용과 중복설치가 안되므로 윈7용 AIK 제거하고 비스타용으로 설치하세요. 꼭 윈7용도 같이 쓰셔야 한다면, 보통 멀티부팅 이용하니까 다른OS에 따로 설치해두던가, 아니면 윈7용 AIK킷 설치된 폴더 전부를 따로 백업해서 써도 되는것 같습니다. 업데이트 (하드웨어 업데이트 및 언어팩 설치) 전부 잘 됩니다. 제대로 사용할수 없는것은 모르겠으나 AIK 킷으로 마소에서 사용자 환경에 맞게 불필요한 기능들을 제거 할수 있게 만들었고, vLite로 좀더 편하게 사용한것 뿐이라는 생각이 들고, 물론 사양좋으신 분들은 굳이 저렇게 할 필요없습니다. 저사양분들을 위해서...또는 저용량 SSD 사용자분들 위해서 필요한 것이겠죠. 서비스팩 나올때쯤이면 7Lite도 나올듯 하군요.
A.I 포레버인증으로 마소 홈페이지의 정품인증 후 다운로드 하는것 까지 이상없습니다.
-
참기름 2009.10.27 19:01
AIK를 Vista sp1용 한글로 받아서 설치를 했는데도 vLite에서 인식을 못하는 것 같습니다.
반드시 영문으로 된 것만 되는지 궁금합니다.
-
밴드맨 2009.10.27 19:11 AIK 가 설치된 폴더에 있는 wimgapi.dll 파일을 vLite에 폴더에 복사해 보세요.
-
천사와의데이트 2009.10.27 22:40
AIK 설치안해도 동작하는걸 본적이 있는데요..
wim filter 란걸 구글링 해서 다운받아서 설치해보세요..
X64 세븐에서는 동작하지 않았지만 윈도우 XP에서는 잘 되었는데
-
엉아가왔써 2009.10.27 19:05
64비트는 울티 이미지가 4번입니다(스타터가 없기때문에) -
참기름 2009.10.28 13:45
덕분에 잘 만들어서 VMware로 설치해 봅니다.
그런데, 위와 같이 만들어진 파일에 한글 랭팩을 통합해서 넣어도 되는지요?
-
밴드맨 2009.10.28 16:46 제가 한번 해볼라고 한글언어팩 다운받아서 보니 .exe 파일로 되어 있어 (언어팩 통합은 cab 파일만 되던구요) rar로 압축을 풀고 MS에서 제공하는 CABARC 로 cab로 만들어 언어팩 옵션에 넣고 Apply 적용해보니 에러나는군요. 그래서 윈도우 설치후 업데이트에서 언어팩 설치했습니다.
-
동반의강자 2009.10.28 19:21 저와 같은 저사양 초보들을 위해 공개할수 없는지요.
아직 초보라 따라해 볼려구 하는데 잘 않되네요.
-
동반의강자 2009.10.29 11:27 초보적인 질문입니다.
5. mount 명령을 실행하기에서
mount 명령을 실행해서 install.wim 파일을 D:\7xtreme32\mount 폴더에 마운트 합니다.
이부분 자세히좀 설명좀 부탁드립니다.
아직 초보라 mount하는데 더 이상 진도가 안나갑니다.
-
참기름 2009.10.29 15:15
D:\7xtreme32\batch 에 있는 mount.bat를 실행시키라는 말이지요.
실행시키면 자동으로 그 폴더에 마운트됩니다.
-
묵촌 2009.11.01 11:19
해볼려고 해도 잘 안되는군요... 설치 화면에서 드라이버가 없다고 나오는군요...
좀만 더 쉽게는 안될런지....
-
밴드맨 2009.11.01 17:53 이미지 완성후 그 이미지로 설치시 드라이버 찾는 화면이 나오면 그 이미지의 sources 폴더에 setup.exe 파일이 없어서 그럴겁니다. 원본이미지의 sources 폴더 안에있는 setup.exe 파일을 복사해서 넣어주세요.
좋은 내용 감사합니다. 그런데 win7 AIK를 설치하고 vlite를 실행하면 vista용 AIK를 설치하라고 나오는데 그것은 어떻게 해결하셨습니까? 아시면 좀 가르쳐 주십시요