반응형

WIM Custom Injector v3.0 — WIM 이미지 내부에 폴더 추가하기

 

1. 프로그램 소개

WIM Custom Injector v3.0은 wimlib-imagex를 이용해 기존 WIM 이미지 내부에 사용자가 지정한 폴더와 파일을 추가할 수 있도록 제작된 Windows 유틸리티입니다. Windows 설치 이미지인 install.wim이나 Windows PE 부팅 이미지인 boot.wim 등을 선택한 다음, 수정할 이미지 인덱스와 로컬 소스 폴더, WIM 내부의 대상 경로를 지정하면 해당 폴더 트리를 이미지에 추가합니다. 예를 들어 Windows 설치 이미지에 별도의 유틸리티 폴더를 추가하거나, Windows PE 이미지 내부에 런처 및 자동화 스크립트를 넣는 작업에 활용할 수 있습니다. 이미지를 별도로 탑재해 파일을 복사한 뒤 다시 캡처하는 방식 대신, wimlib-imagex update 명령으로 지정한 경로에 폴더를 추가하고 작업 후 wimlib-imagex optimize를 실행하도록 구성되어 있습니다.

 

주요 특징은 다음과 같습니다.

  • WIM 파일 및 이미지 인덱스 선택

  • 로컬 폴더 트리를 WIM 이미지 내부에 추가

  • WIM 내부 디렉터리 탐색 및 대상 경로 지정

  • 파일 드래그 앤 드롭 및 명령줄 인수 지원

  • Windows 탐색기 우클릭 메뉴 연동

  • 작업 진행 상태 및 로그 확인

  • WIM 최적화 작업 자동 실행

  • 한국어 및 영어 인터페이스 지원

2. 프로그램 인터페이스 구성

 

WIM Custom Injector.exe
1.92MB

 
 
 
 

① WIM 파일 및 인덱스 선택

수정할 WIM 파일을 지정하고 내부에 포함된 이미지 인덱스와 빌드 정보를 확인합니다.

 

 
 
 
 

② 소스 폴더 및 대상 경로 설정

로컬 디스크에 있는 폴더를 선택하고 WIM 이미지 내부에서 파일을 추가할 위치를 지정합니다.

 
 
 
 

③ 작업 진행 및 로그

WIM 수정과 최적화 작업의 진행 상태를 확인하고, 오류 메시지와 작업 기록을 저장할 수 있습니다.

위 이미지는 기능 설명을 위한 참고 이미지이며 실제 프로그램 화면 캡처는 아닙니다.

 

WIM Custom Injector v3.0 사용 방법 - 움짤(GIF)

 

3. WIM 파일 선택

프로그램 상단의 WIM 경로 입력란에서 수정할 이미지 파일을 지정할 수 있습니다. 파일 선택 버튼을 누르면 WIM 파일 선택 창이 열리며, 원하는 파일을 선택하면 경로가 입력란에 표시됩니다. 또한 입력란에 WIM 파일을 직접 끌어 놓는 드래그 앤 드롭 기능도 지원합니다. 프로그램 실행 시 명령줄 인수로 WIM 경로를 전달하는 방법도 제공됩니다. 예를 들어 다음과 같이 실행할 수 있습니다. WIM Custom Injector.exe "C:\sources\boot.wim" Windows 탐색기에서 WIM 파일을 우클릭한 뒤 프로그램을 실행하도록 설정할 수도 있습니다. 이 기능은 아래에서 별도로 설명합니다. 소스에서는 파일 경로를 지정한 뒤 wimlib-imagex.exe info 명령을 실행해 이미지 정보를 분석합니다. 이를 통해 WIM 파일 내부의 인덱스 목록을 구성합니다.

4. WIM 이미지 인덱스 확인 및 선택

WIM 파일 하나에는 여러 개의 Windows 이미지가 포함될 수 있습니다. 프로그램은 WIM 파일의 메타데이터를 분석하여 각 이미지의 인덱스와 이름, 빌드 정보를 목록으로 표시합니다.

 

목록에 표시되는 항목은 다음과 같습니다.

항목설명
Index WIM 내부 이미지 인덱스
Name 이미지 이름
Build 이미지 빌드 번호

 

예를 들어 하나의 WIM 파일에 여러 Windows 에디션이나 PE 이미지가 포함되어 있다면, 목록에서 원하는 인덱스를 선택하여 해당 이미지만 수정할 수 있습니다. 이미지 파일을 선택하면 인덱스 목록을 자동으로 조회하며, 새로고침 버튼을 이용해 다시 분석할 수도 있습니다. 인덱스 정보를 가져오지 못하거나 유효한 이미지 항목이 없으면 작업을 진행할 수 없도록 구성되어 있습니다. 중요: WIM 인덱스는 이미지 내부에서 각각 독립적으로 선택되는 항목입니다. 잘못된 인덱스를 선택하면 의도하지 않은 Windows 이미지가 수정될 수 있으므로, 작업 전 이미지 이름과 빌드 번호를 확인해야 합니다.

5. 소스 폴더 지정

소스 폴더는 WIM 이미지 내부에 추가할 파일과 하위 폴더가 들어 있는 로컬 폴더입니다. 프로그램의 소스 폴더 입력란에서 폴더 선택 버튼을 눌러 지정하거나, 폴더를 입력란에 직접 끌어 놓을 수 있습니다.

 

예를 들어 다음과 같은 폴더 구조를 준비할 수 있습니다.

C:\WIM_Add

LaunchBar

Scripts

Start.cmd

 

위 예시는 설명을 위한 폴더 구성입니다. 실제로 추가되는 파일은 사용자가 선택한 소스 폴더의 내용에 따라 결정됩니다. 프로그램은 지정된 폴더를 WIM 내부의 대상 경로에 추가하도록 wimlib-imagex update 명령을 구성합니다. 폴더 내부의 하위 디렉터리와 파일도 함께 추가할 수 있습니다.

6. WIM 내부 대상 경로 지정

소스 폴더를 선택했다면 다음으로 WIM 이미지 내부에서 파일을 저장할 위치를 지정합니다. 대상 경로 입력란에 경로를 직접 입력하거나, 옆의 ... 버튼을 눌러 WIM 내부 디렉터리 구조를 탐색할 수 있습니다.

대표적인 대상 경로는 다음과 같습니다.

대상 경로추가 위치
빈 경로 WIM 이미지 루트
LaunchBar WIM 루트의 LaunchBar 폴더
Windows\System32 Windows\System32 폴더
Windows\Setup\Scripts Windows 설치 스크립트 폴더

 

예를 들어 대상 경로를 LaunchBar로 지정하면 소스 폴더의 내용이 WIM 이미지 내부의 해당 경로에 추가됩니다. 이 기능은 Windows PE에 별도의 런처를 넣거나, 설치 이미지에 자동화 스크립트 및 유틸리티 파일을 추가하는 작업에 활용할 수 있습니다.

 

6-1. WIM 내부 디렉터리 탐색

대상 경로 옆의 탐색 버튼을 누르면 WIM 내부의 디렉터리 구조를 트리 형태로 확인할 수 있습니다.

프로그램은 wimlib-imagex dir 명령을 사용하여 선택한 인덱스의 디렉터리 정보를 조회합니다.

  •  
  • 루트 디렉터리부터 하위 폴더 탐색

  • 선택한 폴더의 하위 디렉터리 확인

  • 원하는 폴더를 대상 경로로 지정

  • 루트로 설정 버튼을 이용해 WIM 루트를 대상으로 지정

  • 취소 버튼을 눌러 탐색 종료

디렉터리 트리는 지연 로딩 방식으로 구성되어 있습니다. 처음부터 모든 하위 폴더를 한꺼번에 읽는 대신, 사용자가 특정 폴더를 확장할 때 해당 폴더의 하위 디렉터리를 조회합니다. 따라서 디렉터리가 많은 이미지에서도 필요한 위치를 단계적으로 탐색할 수 있습니다.

7. 폴더 트리 추가 작업

WIM 파일, 인덱스, 소스 폴더 및 대상 경로를 지정하면 선택한 내용으로 WIM에 추가 버튼을 이용해 작업을 시작할 수 있습니다. 작업을 실행하기 전에 프로그램은 선택한 인덱스와 대상 경로를 표시하는 확인 창을 보여줍니다. 사용자가 확인해야 실제 이미지 수정이 진행됩니다.

 

전체 작업 순서는 다음과 같습니다.

1. WIM 파일 및 인덱스 확인

수정 대상 이미지 선택

 

2. 소스 폴더 및 대상 경로 확인

추가할 파일과 WIM 내부 위치 지정

 

3. wimlib-imagex update 실행

선택한 인덱스에 폴더 트리 추가

 

4. WIM 이미지 최적화

wimlib-imagex optimize 실행

 

5. 작업 결과 확인

성공 또는 실패 메시지 및 로그 확인

 

7-1. WIM 업데이트 명령 구성

프로그램은 임시 명령 파일을 생성하고 다음과 같은 형태의 명령을 기록합니다.

add "소스 폴더 경로" "/WIM 내부 대상 경로"

 

이 명령을 wimlib-imagex update에 전달하여 선택한 인덱스에 폴더를 추가합니다. 대상 경로를 비워 두면 WIM 루트를 대상으로 처리하며, 지정한 경로는 WIM 내부 경로 형식으로 변환됩니다. 작업 중 생성한 임시 명령 파일과 출력 파일은 작업이 끝난 후 삭제하도록 구현되어 있습니다.

 

7-2. WIM 파일의 읽기 전용 속성 처리

WIM 파일에 읽기 전용 속성이 설정되어 있으면 프로그램은 해당 속성을 해제한 뒤 수정 작업을 진행합니다. 이를 통해 읽기 전용 속성으로 인해 이미지 수정 작업이 제한되는 상황을 줄입니다. 단, 읽기 전용 속성을 해제하는 것은 파일 자체의 속성을 변경하는 작업입니다. 원본 보존이 필요한 WIM 파일이라면 작업 전에 별도 복사본을 만들어 사용하는 것이 좋습니다.

 

7-3. WIM 최적화

폴더 추가 작업이 성공하면 프로그램은 이어서 wimlib-imagex optimize 명령을 실행합니다. 최적화는 WIM 이미지 내부의 저장 공간을 정리하는 작업으로, 이미지 수정 이후 최적화를 자동으로 진행하도록 구성되어 있습니다. 최적화가 성공하면 성공 로그를 기록합니다. 반대로 최적화에 실패하면 경고 메시지와 별도 오류 로그를 남깁니다. 최적화 단계가 실패하더라도 폴더 추가 작업 자체가 이미 성공했을 수 있으므로, 업데이트 결과와 최적화 결과를 구분하여 확인해야 합니다.

8. 진행률 표시 및 작업 로그

프로그램에는 진행률 표시줄과 작업 로그 영역이 포함되어 있습니다.

작업 과정에서 주요 단계별 진행 상태를 표시하고, 메시지를 시간과 함께 기록합니다.

 

로그는 다음과 같은 유형으로 구분됩니다.

  • 정보: 파일 선택, 이미지 분석 및 작업 준비

  • 성공: 폴더 추가 및 최적화 완료

  • 경고: 인덱스 확인 실패 또는 최적화 관련 경고

  • 오류: 파일 누락, WIM 업데이트 실패 및 실행 오류

하단에는 로그를 지우거나 텍스트 파일로 저장하는 버튼이 있습니다. 작업 중 오류가 발생하면 로그에 표시된 내용을 확인할 수 있으며, WIM 업데이트 실패 시에는 별도의 log.txt 파일에 실행 정보와 오류 출력을 기록하도록 구현되어 있습니다. 이 기능을 활용하면 작업 실패 원인을 확인하거나, 나중에 문제를 재현하고 분석할 때 참고 자료로 활용할 수 있습니다. 참고로 진행률 표시줄은 소스에서 정의한 작업 단계별 값으로 갱신됩니다. 따라서 실제 처리량을 실시간으로 측정한 정밀한 백분율이라기보다는 현재 작업 단계를 나타내는 표시로 보는 것이 정확합니다.

9. Windows 탐색기 우클릭 메뉴 연동

WIM Custom Injector에는 Windows 탐색기의 우클릭 메뉴에 프로그램을 등록하는 기능이 포함되어 있습니다. 프로그램 하단의 메뉴 등록 버튼을 누르면 WIM 파일의 컨텍스트 메뉴에 WIM Custom Injector으로 열기 항목을 추가합니다. 등록한 뒤에는 WIM 파일을 우클릭하여 프로그램을 실행할 수 있으며, 선택한 파일 경로가 명령줄 인수로 전달됩니다.

 

등록 기능은 다음 레지스트리 경로를 사용합니다.

HKEY_LOCAL_MACHINE
\SOFTWARE\Classes\SystemFileAssociations\.wim\shell\WIMCustomInjector

 

메뉴 등록 시 프로그램 실행 경로와 아이콘, 메뉴 이름을 기록하고 하위 Command 키에 실행 명령을 설정합니다. 이미 등록된 상태라면 버튼을 통해 메뉴를 해제할 수 있습니다. 이 기능은 WIM 파일을 수정할 때마다 프로그램을 먼저 실행한 뒤 파일을 찾아야 하는 번거로움을 줄여 줍니다. 레지스트리를 변경하므로 관리자 권한이 필요합니다.

10. 로그 저장 및 탐색기 열기

프로그램 하단에는 작업을 편리하게 관리할 수 있는 추가 기능이 배치되어 있습니다.

로그 지우기

 

현재 로그 영역의 내용을 삭제하고 로그가 초기화되었다는 메시지를 기록합니다.

로그 저장

 

현재 표시된 로그를 .txt 파일로 저장합니다. 기본 파일명에는 날짜가 포함되므로 작업별 기록을 구분하는 데 도움이 됩니다.

탐색기 열기

WIM 파일이 지정되어 있으면 탐색기에서 해당 파일을 선택한 상태로 엽니다. WIM 파일 경로가 입력되어 있지 않으면 일반 탐색기 창을 실행합니다. 이러한 기능은 이미지 수정 작업을 반복하거나 여러 WIM 파일을 관리할 때 유용합니다.

11. 한국어 및 영어 인터페이스 지원

프로그램은 한국어와 영어 인터페이스를 지원합니다. 상단의 언어 선택 콤보박스에서 언어를 변경하면 프로그램 제목, 탭, 버튼, 안내 메시지 및 도움말 내용이 선택한 언어로 갱신됩니다. 언어 설정은 WIM Custom Injector.ini 파일의 Settings 섹션에 저장되며, 다음 실행 시에도 설정을 유지합니다. 또한 프로그램이 중복 실행되는 것을 방지하는 기능을 제공하며, 관리자 권한으로 실행하도록 구성되어 있습니다.

12. 외부 도구 및 파일 구성

WIM 이미지 정보를 조회하고 수정하기 위해 wimlib-imagex.exe와 libwim-15.dll을 사용합니다.

프로그램은 다음 경로에서 해당 파일을 확인합니다.

%Windows%\wimlib\wimlib-imagex.exe
%Windows%\wimlib\libwim-15.dll

 

필요한 파일이 없으면 프로그램에 포함된 파일을 해당 경로에 배포하도록 구현되어 있습니다.

주요 파일의 용도는 다음과 같습니다.

파일용도
wimlib-imagex.exe WIM 정보 조회, 디렉터리 탐색, 이미지 수정 및 최적화
libwim-15.dll wimlib 실행 파일에서 사용하는 라이브러리
WIM Custom Injector.ini 언어 설정 저장
log.txt WIM 수정 및 최적화 실패 시 상세 오류 기록

 

프로그램은 AutoIt으로 제작되었으며, 관리자 권한과 필요한 외부 파일을 이용하여 이미지 수정 작업을 실행합니다.

13. 주요 기능 요약

구분기능
WIM 파일 선택 파일 선택 창, 드래그 앤 드롭, 명령줄 인수
이미지 인덱스 이미지 인덱스, 이름 및 빌드 정보 조회
소스 폴더 로컬 폴더 트리 선택
대상 경로 WIM 내부 저장 경로 직접 입력
디렉터리 탐색 WIM 내부 폴더 트리 탐색 및 선택
폴더 추가 wimlib-imagex update 실행
이미지 최적화 wimlib-imagex optimize 자동 실행
파일 속성 WIM 파일의 읽기 전용 속성 해제
로그 관리 로그 초기화, 텍스트 저장 및 오류 기록
탐색기 연동 WIM 파일 우클릭 메뉴 등록 및 해제
다국어 한국어 및 영어 지원
실행 관리 관리자 권한 및 중복 실행 방지

14. 활용 예시

WIM Custom Injector는 다음과 같은 작업에 활용할 수 있습니다.

  • boot.wim 내부에 Windows PE용 유틸리티 추가

  • Windows PE 이미지에 런처 및 자동화 스크립트 추가

  • install.wim의 특정 인덱스에 필요한 파일 추가

  • WIM 이미지 내부의 지정된 폴더에 도구와 설정 파일 배치

  • Windows 설치 이미지에 별도 제작한 폴더 트리 추가

예를 들어 Windows PE에서 사용할 프로그램 모음이 있다면 해당 폴더를 소스 폴더로 지정하고, WIM 내부의 LaunchBar 경로를 대상으로 선택하여 추가할 수 있습니다. 이후 수정된 WIM 이미지를 실제 설치 또는 부팅 환경에서 사용하기 전에, 추가된 파일이 올바른 인덱스와 경로에 들어갔는지 확인하는 것이 좋습니다.

15. 마무리

WIM Custom Injector v3.0은 WIM 이미지 내부에 필요한 폴더와 파일을 직접 추가할 수 있도록 제작된 이미지 수정 유틸리티입니다. 이미지 인덱스 선택, WIM 내부 디렉터리 탐색, 대상 경로 지정, 폴더 트리 추가 및 최적화 작업을 하나의 인터페이스에서 처리할 수 있어 Windows PE와 Windows 설치 이미지의 사용자 정의 작업을 간소화하는 데 도움이 됩니다. 특히 Windows 탐색기 우클릭 메뉴 연동과 명령줄 실행을 지원하므로, 여러 WIM 파일을 반복해서 수정하는 작업에도 활용할 수 있습니다. 다만 이 프로그램은 선택한 WIM 파일을 직접 수정합니다. 작업 전 원본 이미지를 백업하고 올바른 인덱스와 대상 경로를 지정해야 하며, 수정이 완료된 이미지는 실제 사용 환경에서 정상적으로 동작하는지 확인하는 것을 권장합니다.

 

반응형

+ Recent posts