강좌 / 팁

윈 도 우 WIM 일괄 추출

2022.05.05 21:14

CraXicS 조회:1406 추천:14

Windows 10부터 매월 정기 MSDN이 출시되면서 개인이 Sysprep를 활용하여 업데이트를 통합하는 작업에 대한 부담은 줄어들었습니다.

 

하지만 달마다 출시되는 새로운 Windows 버전을 기존 설치 이미지에 추가하고, 오래된 버전의 이미지를 삭제하는 일은 여간 번거로운 일이 아니었습니다.

 

 

2022-05-05 20 52 07.png

 

 

저는 부팅 USB를 하나 두고, 그 안에 설치할 수 있는 모든 Windows 버전을 모아서 하나의 install.wim(install.swm)을 생성하여 보관해두었습니다. 반년 마다 한번씩 최신 Windows 이미지를 다운받아 기존 install.wim에 추가하고, 통합된 install.wim의 이미지 순서(Index)를 다시 정렬하는 작업, 오래된 버전을 퇴출하는 작업까지 손수 작업했습니다. (WIM 포맷은 Windows NT 6.0에서 처음 도입되었습니다.)

 

그래서 이러한 번거로운 작업을 쉽게 자동화해줄 파이썬 스크립트를 작성했습니다. 사용자는 최신 ISO를 다운받고 프로그램을 실행한 뒤 완성된 install.wim을 USB에 복사하는 작업만 하면 됩니다. 그 중간 과정은 스크립트가 알아서 install.wim을 추출하고 index를 정렬합니다.

 

전체적인 프로그램의 순서도는 다음과 같습니다.

 

WIM 일괄 추출기.png

 

 

 

프로그램이 실행되면, settings.json 파일에 지정된 디렉터리를 재귀적으로 탐색하여 *.iso 파일을 찾아냅니다. iso 파일을 열어 wim 파일을 추출합니다.

 

2022-05-05 20 44 29.png

 

추출이 다 끝나면, settings.json에서 설정한 정렬 기준대로 예) 언어 -> 설치 종류 -> 버전 -> 에디션 -> 아키텍처 순으로 정렬하고 그 결과를 보여줍니다.

 

2022-05-05 20 54 19.png

 

이제 단일 wim 파일로 통합합니다. DISM 명령 /export-image를 수행합니다.

 

2022-05-05 20 53 06.png

 

옵션에 따라 swm로 분할하는 작업을 수행합니다.

 

2022-05-05 20 53 55.png

 

DISM API를 직접 활용하려 했으나, 시간적인 여유가 없어 DISM 명령을 Wrapping 하여 콘솔 리디렉션으로 string 하나하나 비교해가며 구현했습니다. 컴파일된 EXE 실행파일이기에 안티바이러스에서 감지하므로, 검사 예외 경로에서 실행하셔야 합니다. 본 바이너리는 파이썬 스크립트를 포팅한 것입니다.

 

아직 실전으로 모든 케이스에 대해 테스트해보지 않아 버그가 있을 것으로 예상됩니다.....

 

WIM_Exporter.zip

 

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4362 윈 도 우| winpe 시작 화면 Shutdown 메뉴 수정 [10] sunshine 860 18 07-25
4361 소프트웨어| winpe 시스템 계정에서 Edge 상위버전 적용 [8] sunshine 569 15 07-24
4360 소프트웨어| Total Commander 주요 단축키 설명 [3] VᴇɴᴜꜱGɪ 1007 11 07-23
4359 윈 도 우| 없이는 살 수 없는 Windows 바로 가기 키 11개 [5] VᴇɴᴜꜱGɪ 2965 31 07-18
4358 윈 도 우| Windows 11에서 모니터에 적합한 색 프로필을 얻는 방법 [3] VᴇɴᴜꜱGɪ 1506 2 07-17
4357 소프트웨어| 탐색기 컨텍스트 메뉴에 토탈커맨더에서 열기 추가 [15] 지후빠 971 23 07-16
4356 윈 도 우| RunOnce 레지스트리 키(간단 메뉴얼) [3] 過客 927 14 07-16
4355 소프트웨어| GPT 파티션 삭제 및 재구성 / EASEUS Partition Master 16 [9] 무월 1512 29 07-14
4354 소프트웨어| iVentoy 만능윈도우(WIM) 자동 설치 [20] 무월 4252 66 07-08
4353 소프트웨어| iVentoy PXE 부팅 네트워크 OS 설치 [25] 무월 1722 39 07-02
4352 기 타| 배치 파일 %~1 [13] bangul 1611 14 07-02
4351 윈 도 우| Microsoft Edge 브라우저 제거 [23] 무월 2400 36 06-30
4350 모 바 일| 동영상을 원 속에 넣어 합성하는 방법 Mobile PowerDirect... [1] 무림거사 1004 2 06-29
4349 윈 도 우| 윈도우11,10 MS계정 없이 로컬 계정으로 설치하기 [31] 무월 3895 33 06-23
4348 윈 도 우| 윈도 에러 생길때, 모든 이벤트 로그 한꺼번에 보기 [10] zerojiddu 1265 10 06-23
4347 윈 도 우| OneDrive 설치 방지, Microsft Edge 바로가기 생성 방지 [3] 무월 1040 11 06-23
4346 윈 도 우| 윈도우10 & 11 작업표시줄 시계에 요일 나오게 하는 방법! [28] 무월 2392 33 06-21
4345 윈 도 우| 한글 자음 모음 분리 현상 해결 방법 [7] 무월 1314 14 06-21
4344 기 타| 레마클로님 wifi on/off 스크립트 (수정) pnputil 추가 [10] 슈머슈마 889 7 06-20
4343 윈 도 우| 윈도우11 네트워크 인터넷 연결 없이 설치하기 [6] 무월 2321 16 06-20
XE1.11.6 Layout1.4.8