기 타 iso2wim1m 버전을 왕자님 PE에 활용하여 보았습니다
2022.12.13 13:13
MountISO.exe 전용 cmd 작품을 소개하여 주신 지후빠님께 감사드립니다
덕분에 많은 공부가 되었습니다.
항상 좋은일만 있으시길 바랍니다
ISO에서 wim 추출에 필요한 ISO 마운트 기능을 가진 프로그램중에서 개인적인 생각이지만 MountISO.exe가 최고 인것 같습니다
별도의 드라이버 파일 없이 알아서 빈 드라이브 문자에 마운트로 해주고 마운트한 드라이브 문자값도 알려주고 언마운트도 간단하고
wim 추출용으로는 필요한 기능이 다 있습니다...
그런데...아쉬운 점이 한가지 있습니다..아미 MountISO.exe 프로그램을 만드시는분 PE에서 사용할거라고 생각을 하시지 않으셨나 봅니다
이 프로그램이 wmi를 활용합니다 wbem 폴더가 있어야 하고 dll과 레지도 있어야 하네요.. 결국 저용량 PE에서 사용을 할수가 없습니다
1. 왕자님 저용량이나 일부 다이어트 된 PE에서는 마운트가 되지 않습니다
2. WimBuilder2로 만든 PE에서는 마운트는 됩니다 하지만 마운트한 드라이브 문자값을 리턴하지 못합니다
3. XPE로 만든 PE에서는..마운트 및 드라이브 문자값을 리턴해주고 있습니다
결국 용량이 큰 일부 PE에서만 활용을 할수가 있습니다.
개인적으로 구닥다리 컴퓨터를 사용하고 있어서 wim을 추출한다면 PE보다는 윈도우에서 할것 같아서..윈도우에서 추출하시는 분들께는
전혀 불편이 없으실것 같습니다
지후빠님께서 소개하여 주신 iso2wim1m 버전을 윈도우에서만 실행해보면 재미가 없죠..저도 어떤 파일들이 필요한지 궁금하기도 해서
왕자님 저용량에 dll과 레지들을 추가해서 마운트가 되도록 하여 보았습니다
그리고...원본 iso2wim1m에서 취향대로 구성을 하여 보았습니다
iso2wim1m 버전에는 파일 이름에 사용할수 없는 특수기호를 대체하는 소스가 있습니다
지후빠님께서 이제는 cmd를 암호화(?) 하시는것 같습니다 취향대로 구성하면서 특수기호 관련 부분도 수정을 해야하는데 특수기호에
다른 내용도 기호로 되어 있어서 암호(?) 해독하는데 엄청 오래걸렸습니다...덕분에 공부를 확실히 되기는 하였습니다
지후빠님 작품의 경우 소스가 최대한 간결하게 되어 있어서..이런 방식을 배우고 싶지만..따라하고 싶어도 잘되지 않네요..
항상 이부분이 아쉽운 부분입니다...
1. 원본 iso2wim1m 파일입니다. 사람마다 취향이 달라서...생각에 따라서는 아무것도 아닐수 있습니다..오해가 없으셨으면 합니다
피드백으로 보아 주십시요
2. 윈도우에서 ISO 마운트후 wim 파일 추출이 아주 잘됩니다... 아래 네모에 보시면 (미 입력시 종료) 라는 글이 있습니다
종료를 위한 키 입력없이 바로 종료할수 있어서 편한 방식입니다
3. 인덱스 번호가 1번 부터 시작합니다... 0 번을 입력하여 보겠습니다
4. 0번 키가 종료하는 키인것처럼 종료 메세지가 나옵니다..
5. 인텍스 번호가 아닌 숫자를 넣어 보았습니다..이번에는 인덱스 번호가 올바르지 않다고 합니다
1~8 아닌 다른것은 모두 인덱스 번호가 아닌것이죠...위에서 0 번도 인텍스 번호가 아닌것인데...종료 메세지가 나오고 있습니다
6. (미 입력시 종료) 를 하여 보겠습니다 그냥 엔터를 하면 됩니다
7. 엔터로 cmd 창을 종료하면 메세지가 나오지 않고 바로 cmd창이 종료가 됩니다..메세지가 나오는것하고는 다른 방식입니다
8. (미 입력시 종료) 방식으로 종료를 하는 경우 메세지가 나오지 않고 종료되면서 아래처럼 마운트 한 드라이브를 언마운트 하지 못하는
현상이 있습니다..당연히 언마운트 과정없이 cmd가 종료가 되어서 그렇습니다
9. 남겨진 드라이브는 우클릭 메뉴에서 꺼내기를 하시거나 컴퓨터를 재부팅하면 사라집니다..
10. 마운트된 드라이브가 사라졌습니다...cmd창이 종료되면 언마운트가 되는것이 깔끔하죠
11. cmd 소스를 살펴보았습니다..이번 작품은..모르는것이 너무 많네요... 1번의 || set z=0 은 도저히 알지못해서 포기했습니다
2번 내용입니다. 0 값이 입력되면...3번에 메세지내용을 보시면 종료로 되어 있습니다 0 값도 인덱스 번호가 아니어서 4번이 되어야
할것 같습니다
if %id% equ 0 set err=3& goto end
if %id% lss 0 set err=4& goto end
if %id% gtr %idx% set err=4& goto end
3번에서 err 값에 따라 메세지를 보여주고 있습니다...3번에 보시면 메세지를 보여주기 전에 MountIso.exe -d "%~1" >nul 언마운트 과정이
있습니다
메세지를 보여주지 않는것은 언마운트 과정이 없게 됩니다 그래서 (미입력시 종료) 로 종료시에는 메세지가 없이 cmd가 종료 됩니다
(미입력시 종료)시에도 메세지를 보여주고 종료하면 되죠
12. id값이 "" 없으면..3번 메세지를 보여주고 종료를 하도록 하여 보았습니다.
id 값이 1보다 작거나 인덱스 값보다 크면 4번 메세지를 보여주도록 수정하여 보았습니다
if "%id%" equ "" set err=3& goto end
if %id% lss 1 set err=4& goto end
if %id% gtr %idx% set err=4& goto end
13. 0번은 인덱스 번호가 아니라는 메세지를 보여주고 있습니다
14. (미 입력시 종료)도 확인을 하여 보겠습니다..
15. 엔터를 하였습니다..엔터를 한후..먼저 언마운트가 되고 메세지를 보여주는 과정이 진행됩니다
16. 윈도우 ISO 파일에는 많게는 20~30개 윈도우가 포함되어 있습니다..wim 추출시 1개만 추출하지 않고 여러개를 추출할수도 있습니다
그래서 저의 생각대로 구성을 하여 보았습니다. 우클릭에 등록을 하였습니다
17. 마운트가 되었습니다.. 인텍스 번호 입력시에 실수로 인턱스 범위안의 숫자값이 아닌 다른 키를 입력할수가 있습니다
이때마다 종료가 되면 다시 ISO를 마운트를 해야 합니다 이것이 불편할것 같아서 취향대로 구성을 하여 보았습니다
인덱스 값이 아닌 12를 입력하여 보겠습니다
18. 인텍스 값이 잘못 입력을 하였다는 메세지가 나오기는 합니다 종료 대신에 다시 선택하여 주십시요라는 메세지가 있습니다
잠시후 이메세지는 사라지고..
19. 다시 선택창이 나옵니다..한번 마운트 하면..실수를 해도 종료하지 않고 다시 선택할수가 있습니다
20. 이미지 설명이 파일 이름으로 되어서 추출이 됩니다..이 작업이 오래 걸려서 다른것으로 테스트를 하도록 하겠습니다
21. 마운트가 완료되면 아래와 같은 메세지를 보여줍니다.. 다른것을 마운트 하고 싶으시면 다시 선택 메뉴가 나오고 Y를 제외한 아무키나
누르시면 종료가 됩니다.. 마운트후에 원하는 wim을 다 추출후 종료하면 됩니다
22. 위에서 Y 키를 입력하면 다시 선택창이 됩니다..
23. 2번째 이미지를 추출하였습니다..cmd 실행후 종료하지 않고 이렇에 여러번 추출 작업을 하기 때문에 파일 이름 변수를 다시 초기화를
해주어야 합니다..이 과정에서 특수기호를 대체하는 소스에서 변수를 초기화를 해야하는데 특수기호 소스의 변수들도 기호로 되어 있어서
암호화된 소스를 보는 느낌이었습니다.
24. Y 대신에 종료를 선택하면 종료 메세지를 보여줍니다
25. cmd 내에서 엔터로 cmd를 종료하면 좋지만..그렇지 않고..마우스로 2번처럼 X 를 눌러서 종료할수도 있습니다....
이렇게 종료하는것이 거의 없기는 합니다..만에 하나이지만 이런 경우도 고려를 한것 뿐입니다
26. cmd창의 X를 마우스로 클릭해서 종료하는 경우에도 마운트한 드라이브를 언마운트 하도록 하였습니다
27. 왕자님 저용량 Win10 RS5 PE에 wbem 폴더 및 필요한 dll을 추가했더니 wim 용량이 9MB 정도 늘었습니다
저용량 PE의 최대 장점은 wim 파일 용량이 최소라는것이죠...ISO 마운트를 위해서 추가를 하는것은 좀 그런것 같습니다
다른 프로그램을 좀더 테스트해 봐야겠습니다
28. 우클릭에 등록을 하였습니다 그런데 Win10 PE 이상은 모든 PE에 우클릭 탑재 기능이 모두 있나요..갑자기 궁금해집니다
29. ISO 마운트후 추출까지 하였습니다... 파일 찾는다고 고생한것에 비해서는 간단한 결과입니다
30. 마무리
컴퓨터 관련해서는 같은 기능있더라도 다양한 프로그램들이 있지만 원하는것을 찾는것이 어려운 일이죠...
모든 기능을 갖춘 MountISO.exe가 있는데..다이어트가 된 저용량 PE에서는 작동하지 않는점이 너무 아쉽습니다
하지만..ISO에서 wim 파일 추출을 꼭 pe에서는 할 필요가 없으신분은...윈도우에서 활용하시면 너무 좋은 프로그램인것 같습니다
구글 어디엔가에는 저용량 PE에서도 ISO가 잘 마운트 되는 프로그램이 있을것 같기도 합니다
다시 보물찾기를 해야할 시간이 되었네요.
오늘 하루도 웃음이 가득한 시간이 되시길 바랍니다
댓글 [17]
-
스마일^_^ 2022.12.13 13:44
-
고감맨 2022.12.13 14:44
감사합니다 수고하셨습니다 -
DengJang 2022.12.13 14:50
테스트 피드백 고생하셨습니다.
MountISO에 필요한 누락 파일은 도대체 어떻게 찾는거에요? 엄청 신기...
9mb면 좀 부담스럽긴 하네요~
26. 방법 가르쳐 주시면 감사하겠습니다.ㅜㅜ
-
왕초보 2022.12.13 15:38
pe 관련해서 초보인 제가 할수 있는 방법은 노가다 뿐입니다
WimBuilder2로 만든pe에서 마운트가 되어서 이 PE 파일들을 왕자님 Pe에 추가해서 잘되는 dll 추출하고 레지도 그렇게 추출을
했습니다..리턴값까지 되는 것은 xpe로 만든것이되어서 xpe로 만든것으로 다시 비교해서 찾았습니다
저는 다른 방법은 할줄을 몰라서 그냥 이렇게 노가다로 합니다
26번 관련해서는 불필요한 파일 하나가 추가 됩니다..그냥 꼼수일뿐입니다
cmd의 X 클릭시 종료는..cmd를 X로 하는것이어서 cmd 자체에서는 해결이 되지 않아서 바이러스 검출이 적은 78RePack 에 사용된
pecmd.exe 파일을 중간에 끼어 넣었습니다. cmd에서는 언마운트 하지 않고 pecmd.exe에서 언마운트 합니다
원래는 cmd에서 마운트가 성공한 경우에 리턴값을 주어서 이 값에 따라서 언마운트 실행을 해야합니다만..마운트 실패시에도 언마운
트 명령을 실행해도 숨김 실행이어서 문제가 없어서 그래도 두었습니다
EXEC =%CurDir%\Iso2Wim.cmd %1
EXEC !%CurDir%\MountISO.exe -d %1
Exit
-
DengJang 2022.12.13 16:26
친절한 답변 감사합니다!!
누락 파일 찾기는 글로만 봤는데도 토할 것 같네요.ㅜㅜ
저 같음 알아도 안 할... 엄청난 노가다 수작업이네요.
26번도 글과 그림을 봐도 이해를 못 하겠네요.
일부러 시간내서 자세하게 설명하셨을텐데...ㅜㅜ
그래도 다른 분들에게는 도움이 되었을 거로 생각합니다.
저는 18~19, 21~22에 도전해봐야겠습니다.ㅋ
-
상발이 2022.12.13 16:49
수고하셨습니다.
-
신신라면 2022.12.13 18:16
수고 많으셨어요.
-
sunshine 2022.12.13 21:03
- 왕자님 pe에서 imdisk로 iso 마운트 테스트: 잘 됩니다.
1. 필요한 파일
%windir%\system32\drivers\imdisk.sys --> 이미 설치 되어 있습니다.
%windir%\system32\imdisk.exe / imdisk.cpl
- system32로 복사해도 되고 안 해도 되지만, imdisk.exe과 imdisk.cpl는 함께 있어야 됩니다.
%windir%\system32\imdsksvc.exe --> 없어도 됩니다.
2, 마운트 / 언마운트 명령
2-1. 마운트: [imdisk.exe -a -f iso_path -m #: -o ro], iso_path 예) d:\mount\windows.iso
- [#]은 빈 드라이브를 자동으로 찾아서 마운트를 시켜줍니다.
[#] 대신에 임의의 드라이브 문자를 사용해도 됩니다.
잘 사용하지 않는 [Z]를 이용하면 언마운트할 때 따로 드라이브 문자를 찾을 필요가 없겠습니다.
- [-o ro] 옵션은 생략해도 됩니다. ro=read only
2-2. 언마운트: [imdisk.exe -D -m Z:], Z 는 예를 들면 d:\mount\windows.iso가 마운트된 드라이브 문자입니다.
- 소문자 [d]가 일반적인 언마운트 명령이지만, 대문자 [D]는 강제로 언마운트 시킵니다.
아마 대문자 [D]를 사용해야 될 것입니다.
-
왕초보 2022.12.13 21:16
먼저 MountISO.exe라는 좋은 프로그램을 찾아 주시고 소개를 하여주셔서 감사합니다
덕분에 아주 좋은 프로그램을 알게 되었습니다
왕자님 PE에 드라이버는 포함이 되어 있는줄 몰랐습니다..
Imdisk 명령어도 알려주셔서 감사합니다.
윈도우에서는 MountISO.exe를 사용하고 PE에서는 imdisk를 활용하는것으로 구성을 해봐야겠습니다
win8 이상에서 MountISO.exe를 사용할수 있듯이 모든 PE에서 드라이버 파일 설치하지 않고 사용하는 프로그램이 있으면
최고인데요..
이번 기회에 지난번에 소개하여 주셨던 것에 있는 imgdrivecmd.exe 파일도 공부를 해봐야겠습니다
사랑하시는 가족분들고 행복한 연말이 되시길 기원드립니다
-
지후빠 2022.12.13 23:15
유명세로 가상 드라이브하면 imdisk인데... 정보가 없어서 지나쳤는데, 핵심만 꼭 찝어주셔서 감사합니다. ^^
-
DengJang 2022.12.14 01:09
와우... imdisk
아주 잘 됩니다!!! 정말 감사합니다~
-
샤 2022.12.13 21:02
수고하셨습니다.
-
지후빠 2022.12.13 23:06
피드백 감사합니다. ^^ 마지막에 변수 정리하면서 set z=0 을 set id=0 로 했어야 하는데 빠뜨렸습니다.ㅜㅜ
- 0 감안하여그냥 엔터 누르면 키보드로 입력할 수 없는 백스페이스를 변수에 할당하게 하였습니다.
변수가 짧으면 사용은 편한데 알파벳 1개는 _A 또는 A_처럼 식별이 필요한 편이라서...
또 특수 문자 사용에 소소한 의미를 부여하다 보니 그렇게 되었습니다. 저에게는 이해 쉽도 짧게 쓸 수가 있어서... 암호는 아니구요.
예를 들면, $ 문자열이라는, :-* 별을 제거한다는, %+% +1의 의미로, N+는 이름을 합쳤다는 등... ㅎ~
iso2wim3m.cmd 는 쉽게 수정될 것 같은데, 컨디션이 안좋아 미루고 있습니다. 운동도 쉬고 있다는... ㅎ~
-
왕초보 2022.12.14 00:31
작품을 소개를 해주실때마다 감탄하면서 많이 배우고 있습니다
머리숙여 진심으로 감사드립니다
새로은것을 배우는 재미가 끝내줍니다...다만..스타일을 따라하고 싶어도 아직 초보수준이어서..불가는 하네요
Set z=0 을 전체에서 찾아보아도 없어서 포기를 했었습니다....
한번 추출하고 종료하는 경우에는 인텍스키 입력 하는곳에서 "" 로 해결이 되었지만...이상하게 두번째 다시 추출 Y 입력하는
곳에서는 ""로 해결이 되지 않아서 두번째는 Val 변수에 0 값을 미리 넣어주고 선택이 나오게 해서 처리를 했었습니다..
다행히 제대로 처리한것이네요..
업데이트 버전 감사합니다
눈이 많이 왔습니다.. 건강도 챙시기고..사고없이 편안하신 하루가 되기길 바랍니다
-
지후빠 2022.12.14 00:34
아이디어가 떠올라 pc 다시 켰습니다. ^^
외부 툴인 tasklist.exe 이용하여 26번을 모방합니다. find.exe timeout.exe 는 내장 명령어로 대체할 수 있겠습니다.
- main을 실행하면 감시자로 watch가 최소화로 실행됩니다. main이 정상/비정상 종료하면 watch에서 마운트 해제후 종료합니다.
추가로 watch를 main에 내장 키고, 내보내기하여 실행하고, watch 종료시 자신을 지우고 종료하도록 해봤습니다.
-
왕초보 2022.12.14 00:41
cmd가 실행되면서 cmd를 감시하게 하신것이네요
다른 프로그램 필요없이..cmd로 모두 해결이 되다니.역시 지후빠님이십니다
초 딜레이 주는것도 다른 프로그램이 필요없어서 너무 좋습니다
저야..이번에 바이러스 검출이 작은 pecmd.exe가 생겨서 활용하여 본것입니다
좋은 아이디어가 적용된 선물 감사합니다
저는 윈도우에서는 MountISO.exe를 사용하고 pe에서는 imgdrivecmd.exe룰 테스트 중입니다
imgdrivecmd.exe는 프로버전은 유료네요..이 다음에야 imdisk를 해볼수 있을것 같습니다
지후빠님 cmd 작품 덕분에 제가 재미있는것들을 배우고 있습니다...감사합니다
-
광풍제월 2022.12.14 19:04
수고하셨습니다.
감사합니다.