"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 용 설치 파일을 통해 설치를 진행하면 됩니다.


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

 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 지나가다 2013.06.14 11:14 신고  댓글주소  수정/삭제  댓글쓰기
    관련된 질문은 아닌데 질문 좀 드리겠습니다. 자식 VHDX 이용하려고 구성을 했는데 부팅하면 블루스크린이 뜨는데 왜 그런지 좀 알 수 있을까요? 윈포 http://windowsforum.kr/4676583 여기에 질문해둔 건데요. 일단 방법은 틀린 것 같지는 않은데 부팅이 안되네요.ㅠㅠ 캐플님이라면 잘 아실 것 같아 여기에 남겨둡니다.

    VHDX는 여간 까다로와 어렵네요.ㅜㅜ
    • BlogIcon CApple 2013.06.14 12:00 신고  댓글주소  수정/삭제
      현재 부모 vhdx 가 {default} 겠죠? 자식 vhdx 를 만든 후에 명령 프롬프트에서 아래와 같이 작업합니다.

      bcdedit /copy {default} /d "자식 VHD 부팅 이름"

      하면 현재 부모 vhdx 의 부팅 항목을 복사해서 새로운 부팅 항목을 만듭니다. 이렇게 복사된 걸 자식 VHDX 의 부팅 항목으로 사용할 겁니다. 아무튼, 복사가 되면 {guid} 가 출력되죠. 그럼 해당 {guid} 대로 다시 수정합니다.

      bcdedit /set {guid} device vhd=[C:]\VHD\Child1.vhdx
      bcdedit /set {guid} osdevice vhd=[C:]\VHD\Child1.vhdx
      bcdedit /displayorder {guid} /addlast

      그리고 부팅해보세요.
    • BlogIcon CApple 2013.06.14 20:14 신고  댓글주소  수정/삭제
      bcdedit /set [rb]{guid}[/rb] device vhd=[C:]\VHD\child1.vhdx

      여기에서 {guid} 를 그대로 {guid} 로 입력하신 건 아니죠? displayorder 에선 guid 를 입력하신 걸 보니 그러신 것 같진 않은데 말이죠. 그럼 일단 자식 VHDX 의 생성을 복구 모드로 부팅해서 작업하지 마시고, 윈도우 설치 DVD 나 USB 로 부팅해서 작업해보세요.

      참고로 이 때 굳이 모든 작업을 PE 에서 하실 필요는 없고요. 자식 VHDX 부팅 항목은 미리 부모 VHDX 로 부팅한 상태에서 {current} 를 통해서 생성해두어도 됩니다.

      그리고 혹시나 위와 같이 DVD 나 USB 로 부팅해서 작업해도 안 된다면요. 일단 자식 VHDX 를 생성하고 부팅 항목을 생성하는 작업 자체에는 문제가 없습니다. 그럼 다른 곳에 원인이 있을 수도 있다는 건데요. VHDX 파일의 용량을 굉장히 타이트하게 잡으신 건 아니죠? VHD 에 비해 VHDX 는 어느 정도 여유 공간이 있어야 합니다. 너무 용량을 빠듯하게 잡은 경우 문제를 일으키는 경우가 있더라고요.
    • 지나가다 2013.06.14 20:17 신고  댓글주소  수정/삭제
      해보니까 역시 블루스크린이 뜨네요.ㅜㅜ
      자식 VHDX를 생성하고 아래처럼 했습니다.

      bcdedit /copy {default} /d "child 1 boot"
      bcdedit /set {guid} device vhd=[C:]\VHD\child1.vhdx
      bcdedit /set {guid} osdevice vhd=[C:]\VHD\child1.vhdx
      bcdedit /displayorder {guid} /addlast

      bcdedit /copy {default} /d "child 2 boot"
      bcdedit /set {guid} device vhd=[C:]\VHD\child2.vhdx
      bcdedit /set {guid} osdevice vhd=[C:]\VHD\child2.vhdx
      bcdedit /displayorder {guid} /addlast

      이렇게 했는데 역시 블루스크린이 뜨네요. ㅜㅜ {guid}란 글자 그대로 입력한건 아니에요. 첫줄 입력해서 뜨는거 넣었어요. 그리고 복구 모드에서 작업을 했습니다. '자식 VHDX 부팅 항목은 미리 부모 VHDX 로 부팅한 상태에서 {current} 를 통해서 생성해두어도 됩니다.' 이게 무슨 말인지 궁금하네요.

      현재 테스트를 위해서 2TB HDD에 부모 VHDX 50GB로 잡았기 때문에 여유공간은 충분한 상황입니다. 일단 USB는 없어서 윈도우8 DVD 상에서 한번 해보겠습니다. 고맙습니다.
    • BlogIcon CApple 2013.06.14 20:35 신고  댓글주소  수정/삭제
      참고로 이미 작업을 시작하셨는지 모르겠지만, 모든 자식을 한 번에 작업하지 마시고, 일단은 하나씩 작업해보세요.
    • 지나가다 2013.06.14 22:07 신고  댓글주소  수정/삭제
      이렇게 하니 되긴 되네요. 자식 vhdx 생성하고 아래처럼 했습니다. 참고로 댓글에선 역슬래시 기호가 표시가 안되네요.

      sel vdisk file=c:\child1.vhdx
      attach vdisk
      lis vol --> 문자 확인 F로 나왔어요.
      exit
      bcdboot F:\windows /l ko-kr
      -------------------------------
      sel vdisk file=c:\child2.vhdx
      attach vdisk
      lis vol --> 문자 확인 F로 나왔어요.
      exit
      bcdboot F:\windows /l ko-kr

      이렇게 하니까 되긴 됐어요. 근대 부팅 메뉴에는 부모와 자식 딸랑 하나만 뜨네요? 일단 http://windowsforum.kr/4679392 에도 글 남겼는데 일단 성공하긴 했어요.ㅜㅜ 교차부팅이 가능해 졌네요. WinRAR 평가판 깔아 테스트도 해봤습니다.

      근데 뭔가 좀 복잡하고 깔끔한 맛이 없긴 하네요. 위의 타이핑 방법으로 자식 1, 2번 둘다 부팅 메뉴에 뜨게 하던지 아니면 VHD_등록하기.cmd로 하면 자식 1, 2번 둘다 부팅 메뉴에 뜨니까 이걸루 부팅가능하게 하던지 좀 연구를 해봐야 할 것 같습니다.
    • BlogIcon CApple 2013.06.14 22:57 신고  댓글주소  수정/삭제
      그래도 어떻게든 해결이 되셨다니 다행이네요. ^^

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com