질문과 답변

윈 도 우 vLite와 DISM 도구를 이용해서 윈도우7 덩치 줄이기

2009.10.27 02:22

밴드맨 조회:19503

 작업전에 필요한 것들

  - 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비트) 프리셋으로 하겠습니다.)


2. 다운 받은 7xtreme32을 적당한 곳에 같은 이름의 폴더생성으로 압축을 풉니다. 전 D:\7xtreme32 폴더로 하겠습니다. 7xtreme32 폴더에는 각각 batch source wtools 폴더가 포함되어 있습니다. batch 폴더안에 있는 setupcfg.txt 문서를 열어서

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 폴더에 마운트 합니다.mount.jpg


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는 왜 선택안했는지....전 공유기능 전혀 사용안하기 때문에 아래와 같이 선택했습니다. 설치 완료하면 내장방화벽도 사용을 못하게 되는데(서비스 시작은 되지만 중간에 에러로 정지됩니다.) 프리셋 제작자가 언체크 한 이유는 아마도 체크하고 이미지 만들면 윈도우 설치시 에러가 뜨지 않을까...하는 깊은 이유가 있을거라 조심스럽게 생각해봅니다.

network.jpg

- Services : 윈도우의 많은 서비스들을 삭제할수 있습니다. 저의 선택은 이렇습니다.

services.jpg 

Application Experience는 호환성모드 제공하는 기능입니다. 아직 필요할 것 같습니다. 실제로 제 사블라이브 설치시 이 기능으로 설치해야 완벽하게 설치가 됩니다. 이 기능을 제거하면 실행파일의 속성탭에 호환성탭이 없어집니다. Offline Files도 제거해도 될 것 같은데, 제가 못보고 넘어간 듯 싶습니다. 

 

- System : 제가 선택한 것은 아래와 같습니다. 중요한 것은 익스트림 프리셋에는 Crash Dump Support 까지 체크가 되어 있습니다. 이것을 체크하게 되면 최대절전모드를 사용못합니다. 제가 이것때문에 한번 재설치 했습니다. 이건 아마도 제작자의 실수 인 듯 싶습니다. Windows SAT는 체험지수같은 기능을 제공하는 것 같습니다.

system.jpg


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에 있는 도움말 중 패키지관련 내용이 있어 올립니다.

번호 제목 글쓴이 조회 등록일
[공지] 질문과 답변 게시판 이용간 유의사항 gooddew - -
» 윈 도 우| vLite와 DISM 도구를 이용해서 윈도우7 덩치 줄이기 [15] 밴드맨 19503 10-27
8233 토렌토 사용하면서 궁금한거 있습니다. 맹이리 2232 10-27
8232 윈7 에서 iso파일을 dvd로 구울수 있나요? [2] 박재홍 3053 10-27
8231 시스템 구성에서 시작프로그램 목록지우는 방법좀.. [4] HeeD 2935 10-27
8230 토런트 사용질문있습니다 [3] 조롱이 2268 10-27
8229 자료실 윈도우7올인원포레버 설치 후 인터넷이 이상해졌습... [1] paranoid 3807 10-27
8228 자동 백업 기능에 대해서 문의드립니다.(하드용량 관련) [2] 구루네 2269 10-27
8227 한글입력기가 나타나지 않습니다. [3] 조아라 2655 10-27
8226 자료실에있는 올인원 파일요.. [2] PURUM 2481 10-27
8225 새하드 추가후 디스크 0,1 이 변경되었습니다. [5] 당나귀 5301 10-27
8224 7 64bt 다이렉트11 에서 다이렉트 9로...호환되요?? [9] NaHan 4884 10-26
8223 프로그램 실행시 팝업 뜨는 문제와 아이콘 방패 관련 질문 [2] 포티즌 4703 10-26
8222 usb메모리 시디영역은 용량 제한이 없는건가요? [2] KokoroZzin 2660 10-26
8221 램디스크 사용으로 램에 무리가 가는 걸까요? [3] 유리엘 2451 10-26
8220 사용중 멈춤 현상 [4] 마넙 2893 10-26
8219 [질문]OEM PC에 하드를 장착해서 비스타 설치.. [5] E.st 2214 10-26
8218 [질문] slic2.1가상 바이오스 삭제는 햇는데.. [2] 초보7 2754 10-26
8217 윈도우 7 설치시 질문? [1] ckj8201 2279 10-26
8216 자료실 포레버버전 최적화 해야하나요? [4] IS진 3751 10-26
8215 윈7 msnd + 단축키 패치.iso [3] 사나이 3057 10-26
XE1.11.6 Layout1.4.8