본문 바로가기

PE, ImageX, DISM

ImageX 를 통한 WIM 이미지의 마운트 작업이 실패할 때 - WimMount.sys 드라이버 설치하기

"The image could not be mounted because the wimmoun.sys driver is not installed on this machine. To fix this error, install the wimmount.sys driver."


윈도우 7 과 윈도우 8 에서는 ImageX 를 통해 WIM 이미지를 폴더로 마운트하는 작업에 보통은 아무런 문제가 없습니다. 하지만 윈도우 XP 나 윈도우 비스타 사용자는 WIM 이미지를 마운트하려는 경우 보통 위와 같은 오류 메세지를 만나게 됩니다.

해당 오류는 WIM 이미지를 폴더에 마운트하기 위해 필요한 WimMount.sys 드라이버(WIM FS 필터 드라이버)가 설치되어 있지 않으니, 이 오류를 해결하려면 WimMount.sys 드라이버를 설치하라는 의미입니다. 간단하죠? 참고로 이러한 WimMount.sys 드라이버는 윈도우 7 용 자동 설치 키트(Windows AIK) 또는 윈도우 8 용 평가 및 배포 키트(Windows ADK)에 포함되어 있고, 이러한 도구들을 설치하면 함께 설치됩니다.



그래서 예전에는 해당 문제를 만나면 그냥 간단하게 AIK 나 ADK 를 설치하라고 했지만, 문제는 이게 단순히 WIM 이미지 파일을 마운트해서 파일 좀 추가하거나 뭐 그런 간단한 작업만 할 예정인데, 단지 그것 때문에 AIK 나 ADK 를 통채로 설치하기엔 너무 부담스럽다는 겁니다. 이게 용량이 작은 것도 아니고 말이죠.

그런데 사실 굳이 AIK 나 ADK 를 설치하지 않더라도, AIK 나 ADK 에서 따로 WimMount.sys 드라이버만을 추출하여 설치하는 것도 가능합니다. 그래서 WIM 이미지 파일을 마운트하여 편집해야 하지만 딱히 AIK 나 ADK 의 다른 도구들이 필요 없으신 분들은 이처럼 따로 WimMount.sys 드라이버를 추출하여 설치하는 방법을 사용하시면 됩니다.

이번 글에서는 이처럼 따로 AIK 와 ADK 에서 직접 필요한 WimMount.sys 드라이버 설치 파일을 추출하여 설치하는 방법에 대해서 알아보도록 하겠습니다.

※ 시작하기 전에 WIM 마운트 작업의 또 다른 오류인 재분석 지점(reparse points) 오류에 대해서

The volume of the specified mount path does not support reparse points. Please mount to a volume that supports reparse points.

참고로 WIM 이미지를 마운트하려는 경우 이번 글에서 알아보고 있는 WimMount.sys 드라이버 오류가 아닌 위와 같은 재분석 지점 오류가 발생하는 경우도 있습니다. 오류 내용은 간단하게 WIM 이미지를 마운트하려는 폴더가 속한 볼륨이(드라이브가) 재분석 지점을 지원하지 않는다는 것인데요. 이는 WIM 이미지를 마운트하려는 폴더가 NTFS 파일 시스템으로 포맷된 드라이브가 아닌 FAT32 나 exFAT 파일 시스템으로 포맷된 드라이브에 위치한 경우에 발생하게 됩니다. 여기에서 헷갈리지 마셔야 할 것이 이건 WIM 이미지 파일의 위치가 아니라 WIM 이미지를 마운트하려는 폴더의 위치가 문제가 되는 겁니다.

결론만 말하면 NTFS 로 포맷된 드라이브 외에 FAT32 나 exFAT 로 포맷된 드라이브에서는 WIM 이미지를 마운트할 수 없습니다. NTFS 로 포맷된 드라이브에 위치한 폴더에서 마운트 작업을 진행하세요. 해당 오류는 이번 글과는 아무런 상관이 없습니다.








WimMount.sys 드라이버 설치하기 - 자동 설치 파일

일단 아래는 제가 미리 AIK 에서 필요한 파일들을 추출하여 자동으로 WimMount.sys 드라이버를 설치할 수 있도록 구성해놓은 자동 설치 파일입니다. 현재 사용 중인 윈도우의 비트 버전에 맞는 녀석을 다운로드 받아 실행하시면 됩니다.


32비트 윈도우용 자동 설치 파일 Wimmount_Install_x86.exe
64비트 윈도우용 자동 설치 파일 Wimmount_Install_amd64.exe


파일을 실행하면 자동으로 WimMount.sys 드라이버를 설치하며, 설치가 완료되면 아래와 같이 설치 완료 메세지가 출력됩니다.



이후 다시 ImageX 를 통해 WIM 이미지의 폴더 마운트 작업을 진행하면, 이번엔 아래와 같이 정상적으로 마운트 작업이 진행되는 것을 확인하실 수 있습니다.

WimMount.sys 드라이버 설치 후 정상적으로 마운트 작업이 진행되는 모습.


참고로 현재 제공해드린 자동 설치 파일은 윈도우 XP 도 지원하기 위하여 AIK 에 포함된 WimMount.sys 드라이버를 토대로 제작하였습니다. 그 점은 참고로 알아두시고요. 일단은 제가 제공해드린 자동 설치 파일을 사용하시면 간단하게 WimMount.sys 드라이버를 설치할 수 있으니 실제로 작업할 땐 이 자동 설치 파일을 사용하시면 될 듯 합니다.

그럼 이제 어떻게 AIK 와 ADK 에서 WimMount.sys 드라이버만을 따로 빼내어 설치하는지 그 방법을 알아보도록 하겠습니다.






WimMount.sys 드라이버 설치하기 - 수동 작업

일단 시작하기 전에 먼저 윈도우 버전별 WimMount.sys 드라이버의 내장 여부와 설치 가능한 버전을 정리해보았습니다.

WimMount.sys 내장 여부 설치 가능한 드라이버 버전
윈도우 XP 없음. AIK
윈도우 비스타 없음. AIK, ADK
윈도우 7 AIK 와 동일한 버전 내장. AIK, ADK
윈도우 8 ADK 와 동일한 버전 내장. AIK, ADK


보신 것처럼 윈도우 7 과 윈도우 8 에는 이미 WimMount.sys 드라이버가 내장되어 있기 때문에 따로 설치할 필요는 없습니다. 뭐 원한다면 내장된 버전을 제거한 후 다른 버전을 새로 설치할 수 있습니다.

다음으로 ADK 에 포함된 WimMount.sys 드라이버는 윈도우 XP 에서는 설치가 불가능합니다. [ADK 는 윈도우 XP 를 지원하지 않습니다.] 그래서 만약 자동으로 설치하는 것을 구성하고자 한다면 윈도우 XP 까지 고려하려면 AIK 버전을 기준으로 삼으시는 게 좋을 듯 합니다.

마지막으로 사실 AIK 버전의 WimMount.sys 드라이버나 ADK 버전의 WimMount.sys 드라이버나 사실상 크게 다른 것도 없습니다. 그래서 AIK 버전을 사용할 것이냐, ADK 버전을 사용할 것이냐는 그렇게까지 크게 고민할 내용은 아니라고 생각하네요.

아무튼, 그렇게 알고 시작하도록 하겠습니다.




1. Windows AIK 버전의 WimMount.sys 드라이버 설치하기

일단 AIK 에서는 설치된 AIK 폴더 하위의 Tools 폴더에 작업에 필요한 파일들이 아키텍쳐(x86, amd64, ia64)에 맞춰 준비되어 있습니다. ia64 는 아이태니엄 아키텍쳐 CPU 를 위한 것이니 필요 없고요. 32비트 윈도우용 파일들은 x86 폴더에, 64비트 윈도우용 파일들은 amd64 폴더에 준비되어 있습니다. 일반적으로 32비트 윈도우에 AIK 가 설치되어 있다면 아래와 같은 경로에 파일들이 준비되어 있습니다. [압축 파일은 두 폴더만 따로 추출하여 압축한 파일입니다.]

32비트용 : C:\Program Files\Windows AIK\Tools\x86
64비트용 : C:\Program Files\Windows AIK\Tools\amd64


x86 이나 amd64 나 파일의 구성은 똑같습니다. 그러니 x86 을 기준으로 살펴보도록 하죠. 폴더의 내용을 살펴보면 아래와 같습니다.



이렇게 준비된 파일을 통해 WimMount.sys 드라이버를 설치하거나 제거할 때는 WimMountInstall.exe 를 사용하는 방법과 WimMount.inf 파일을 사용하는 방법이 있습니다.




A. WimMountInstall.exe 를 사용하는 방법

먼저 미리 준비된 WimMountInstall.exe 도구를 사용하는 방법입니다. 이렇게 WimMountInstall.exe 도구를 사용하실 때는 x86(또는 amd64) 폴더를 통채로 준비하셔야 합니다. 32비트 윈도우라면 x86 폴더를 64비트 윈도우라면 amd64 폴더를 적당한 위치에 준비한 후 아래와 같이 명령을 내리면 됩니다.

▼ 설치

WimMountInstall.exe /Install



▼ 제거

WimMountInstall.exe /Uninstall



명령을 내리면 설치 창이 잠깐 떴다가 금새 사라지고 명령 프롬프트 상으로 별다른 내용은 출력되지 않습니다.




B. WimMount.inf 를 사용하는 방법

다음으로 WimMount.inf 설치 파일을 사용하는 방법입니다. 참고로 INF 설치 파일을 사용할 때는 다른 파일들은 필요 없고 아래의 세 파일만 따로 준비하면 됩니다.



이렇게 설치에 필요한 세 개의 파일을 준비했으면 INF 파일을 통해 설치를 진행하면 되는데, 흔히 이와 같은 INF 파일은 마우스 오른쪽 버튼으로 클릭한 후 메뉴에서 설치를 선택하는 방법으로 설치를 하게 됩니다. 하지만 해당 방법으로는 오직 설치 밖에 진행하지 못한다는 단점이 있죠. 그래서 RunDll32.exe 를 통해 설치하는 방법을 사용하도록 하겠습니다.

▼ 설치

rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 D:\x86\wimmount.inf



▼ 제거

rundll32.exe setupapi.dll,InstallHinfSection DefaultUninstall 128 D:\x86\wimmount.inf



마찬가지로 명령을 내리면 설치 창이 잠깐 떴다가 금새 사라지고 명령 프롬프트 상으로 별다른 내용은 출력되지 않습니다. 간단하죠? 글에서 제공해드린 자동 설치 파일은 바로 이 방법을 사용한 것입니다. 참고로 이 때 RunDll32.exe 를 통해 INF 파일의 설치를 진행하는 것은 아래의 박스를 참고하시길 바랍니다.

※ RunDll32.exe 를 통한 INF 설치

RunDll32.exe setupapi.dll,InstallHinfSection {Section} {intMode} {infFile}

* {Section} 은 INF 파일에 포함된 섹션을 사용합니다. [정확한 섹션은 메모장으로 INF 파일을 열어보세요.]

* {intMode} 는 아래와 같은 값을 가집니다.

0 재부팅하지 않음.
1 무조건 재부팅.
2 항상 사용자에게 재부팅 여부 묻기.
3 재부팅이 필요하면 묻지 않고 재부팅.
4 재부팅이 필요하면 사용자에게 재부팅 여부 묻기.
128 설치용 INF 파일의 경로를 직접 지정.

참고로 [129 = 설치용 INF 파일의 경로를 직접 지정하고, 무조건 재부팅 (1 + 128)] 과 같이 두 값을 더하여 intMode 를 지정할 수 있습니다.

* {infFile} 에서 경로를 지정할 때 공백이 있더라도 경로 전체를 큰 따옴표로 묶지 않습니다.





2. Windows ADK 버전의 WimMount.sys 드라이버 설치하기

ADK 에서도 마찬가지로 설치된 ADK 폴더 하위에 필요한 파일들이 아키텍쳐(x86, amd64)에 맞춰 준비되어 있습니다. ADK 의 경우엔 각 아키텍쳐 폴더 하위에 다시 DISM 로 따로 준비가 되어 있고, 폴더 경로가 상당히 깊기 때문에 전체적인 경로 구성은 따로 설명은 하지 않겠습니다. 그냥 아래 박스에서 경로만 참고하시길 바랍니다. [압축 파일은 마찬가지로 두 아키텍쳐 폴더에서 DSIM 폴더만 따로 추출하여 압축한 파일입니다.]

32비트용 : C:\Program Files\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\x86\DISM
64비트용 : C:\Program Files\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\amd64\DISM


마찬가지로 x86 이나 amd64 나 기본적인 파일의 구성은 똑같습니다. 그런데 AIK 때와는 달리 INF 설치 파일이 제공되지 않고 WimMountADKSetup<architecture>.exe 형태의 설치 파일만 제공됩니다. 그래서 ADK 버전의 WimMount.sys 드라이버는 INF 파일을 통해 설치하는 방법은 없습니다. 그 점을 먼저 알아두시고요. 일단 x86 아키텍쳐용 DISM 폴더를 기준으로 파일의 구성을 살펴 보면 아래와 같습니다.



AIK 때와 설치 파일의 이름만 달라졌을 뿐 설치 파일의 명령 구성은 동일합니다.

▼ 설치

WimMountADKSetupx86.exe /Install
WimMountADKSetupamd64.exe /Install



▼ 제거

WimMountADKSetupx86.exe /Uninstall
WimMountADKSetupamd64.exe /Uninstall



그런데 ADK 에선 이게 끝이 아닙니다. AIK 에서는 함께 필요한 파일인 wimserv.exe 를 자동으로 설치하지만, ADK 에서는 딱 WimMount.sys 만 설치합니다. 그래서 해당 작업을 마친 후 따로 함께 포함된 wimserv.exe 파일을 \Windows\System32 폴더로 복사를 해줘야 합니다.



끝입니다. 뭐 그렇게 어려운 것은 없죠?




3. WimMount.sys 드라이버 교체하기

"WimMount.sys 드라이버를 새로 설치하기 위해선 이전에 설치된 WimMount.sys 드라이버를 제거해야 한다."

일단은 이게 기본입니다. 그리고 WimMount.sys 드라이버는 해당 버전에 맞는 설치 파일을 통해 제거해야 합니다. 그래서 윈도우 7 에 내장된 WimMount.sys 를 ADK 버전으로 교체하기 위해선, 먼저 윈도우 7 에 내장된 WimMount.sys 드라이버 버전과 동일한 AIK 용 설치 파일을 이용하여 윈도우 7 에 내장된 WimMount.sys 드라이버를 제거한 후, 다시 ADK 용 설치 파일을 통해 설치를 진행하면 됩니다.


간단하게 자동 설치 파일만 제공해드리려고 했던 글이 어쩌다가 여기까지 온 것인지 모르겠습니다. 미리 설정해둔 글의 진행 방향을 벗어나서 내용이 추가되면 왜 항상 글이 이렇게 정신 사나워지는지 모르겠네요. 너무 정신 사나워서 계속 다듬었는데도 글의 전체적인 구성이 매끄럽지 못한 게 계속 걸립니다. 예전 같았으면 깔끔하게 엎어버리고 다시 처음부터 작성했을텐데, 요즘은 그러기엔 너무 피곤하군요. 급 우울해집니다. ㅜ_ㅜ 흠... 이번 글은 여기까지 하도록 하겠습니다. ^^;;