제목 : Snapshot Cmd를 간단히 GUI로 활용하여 보았습니다..
왕초보지난 사용기에서 Snapshot 백업,복원을 cmd로 구성해서 백업,복원 및 복구시스템에 활용을 했었습니다
도스 시대가 아니나 윈도우 시대죠...그리고 초보분들의 경우 이왕이면 마우스로 간단히 클릭을 해서 사용하는것을 더 선호하셔서 하이이잌님께서
소개하여 주셨던 Launcher 를 활용해서 GUI 처럼 하여 보았습니다
이 런처는 하이이잌님 작품에서 활용되고 있어서 아래의 하이이잌 작품에서 구하실수 있습니다..
Launcher 윈본에서 입니다님께서 기능을 추가하여 주셔서 cmd 숨김실행 및 버튼 클릭시 Launcher 숨김, Launcher 종료 기능등이 추가 되어 있는
버전입니다...그리고 하이이잌님 작품에 포함되이 있는 exe는 x64 버전입니다..윈도우가 x86인 경우에는 cmd 숨김 실행을 위해서 x86으로 만들어진
Launcher를 활용하시거나 VBS를 활용하셔야 할것 같습니다
cmd에서 메세지를 보여주는 프로그램도 하이이잌님 작품에 같이 포함되어 있습니다.. 이 프로그램 x86 버전이어서 저처럼 x64 전용 PE를 활용하시는
경우 아쉽게도 활용을 할수가 없습니다
19H2_2011P
https://windowsforum.kr/index.php?mid=gallery&page=2&document_srl=14606247
다운 받은 PE의 Windows\WINREC\ 폴더에 있는 recovery.exe 파일이 Launcher 입니다 RES 폴더에 MSGBOX.exe 파일이 있습니다
이미 런처나 메세지 프로그램을 활용하시는 분들은 이미 다 아시는것이어서 재미가 없습니다 그냥 통과하여 주십시요
1. MSGBOX 의 간단한 사용법입니다
MSGBOX.exe를 마우스로 클릭을 하시면 아래처럼 사용법을 자세히 보여 주고 있습니다
예) MSGBOX.exe /C:윈도우 백업 선택 /M:윈도우 파티션 C: Windows \n백업파일 E:\Backup\Backup.sna /W:15 /T:67
/C: 다음에 오는 문장이 메세지의 제목입니다
/M: 여기에는 메세지 가운데에 보이는 내용이 들어갑니다
내용에서 줄 바꾸기를 하고 싶으신 경우에는 \n 을 활용하시면 되십니다
/W: 메세지를 보여주는 시간을 설정합니다.. 시간은 초입니다
/T: 메세지에 보여주는 아이콘 값과 메세지에서 사용되는 버튼 종류 값을 합한것입니다
아래는 VBS에 사용되는 메세지 아이콘값과 버튼 종류 값입니다 /T: 에서 이 값을 활용하고 있습니다.. 저는 이것을 복사해서 cmd에 맨 아래에 넣어
놓고 필요할때 참고하여 있습니다
:: vbCritical 16 치명적 에러 (원형 X표)
:: vbQuestion 32 경고 물음 (원형 ?표)
:: vbExclamation 48 경고 (삼각형 !표)
:: vbInformation 64 정보 (원형 !표)
:: vbOKCancel 1 확인(OK)과 취소(Cancel)
:: vbAbortRetryIgnore 2 중단(Abort), 다시 시도(Retry) 그리고 무시(Ignore)
:: vbYesNoCancel 3 예(Yes), 아니오(No) 그리고 취소(Cancel)
:: vbYesNo 4 예(Yes)와 아니오(No)
:: vbRetryCancel 5 다시 시도(Retry)와 취소(Cancel)
:: 줄바꾸기 \n
예에서 사용된 /T:67 은 64 (아이콘은 정보) + 3( vbYesNoCancel 버튼) 입니다.. Snapshot Cmd에서 사용한것은 /T:36 /T:64 /T:48 입니다
테스트 cmd를 만들어서 입력하여 보시면 MSGBOX.exe 사용이 간단하다는것을 바로 아실것 같습니다
2. Launcher 사용법입니다
이 Launcher 파일을 Launcher.ini없이 exe만 실행하시면 예제 Launcher.ini를 자동으로 만들어 줍니다..이것을 보고 공부하셔도 되십니다
Launcher.ini에서 기본이 되는것 몇개를 정리를 하여 보았습니다
[gui]
Title=Snapshot
FormWidth=190
FormHeight=300
AreaX=0
AreaY=0
AreaWidth=190
AreaHeight=300
Picture=
Margin=5
Row=1
실제 활용한 ini에서 [gui] 부분입니다
AreaX=0
AreaY=0
이 부분은 GUI 전체 폼에서 버튼이 생기는 영역의 시작 위치를 정해주고 있습니다..저의 경우 그림없이 바로 버튼이 나와서 0, 0 값입니다
AreaWidth=190
AreaHeight=300
버튼이 만들어지는 영역 크기 입니다..만들어 지는 버튼이 많아지만 버튼 높이가 작아지고 갯수가 적으면 높이가 높아지기 때문에 갯수에 맞추어서
AreaHeight를 조절하여 주시면 되십니다... 이렇게 버튼 모양이 정해지면.. FormWidth= FormHeight= 여기 값을 적용하시면 됩니다
Row= 버튼이 열을 설정합니다..저는 Row=1 이어서 버튼이 한줄로 구성이 되었습니다
[4]
Plan=HideRun
name=Snapshot
hint=
Accelerators=
exe=Snapshot\Snapshot.cmd
arg=
icon=Files\Snapshot.ico
LargeIcon=1
RunMeAct=Hide
[5]
Plan=Exit
name=프로그램 종료
icon=Files\Exit.ico
LargeIcon=1
실제 활용한 내용입니다..
Plan=HideRun 인 경우 실행하는 cmd 파일을 숨김으로 실행을 하여 줍니다
Plan=Exit Launcher를 종료합니다
RunMeAct=Hide 인 경우 지정된 프로그램 실행후 Launcher 자체를 숨겨주는 기능입니다..실행된 프로그램이 종료 되면 Launcher가 다시
보이게 됩니다
hint= 는 버튼에 마우스를 가져갔을 경우 설명을 보여줍니다..
Accelerators= 는 버튼의 단축키를 등록할수가 있습니다..백업인 경우 이렇게 등록을 할수가 있습니다 Alt + b
arg= 실행되는 프로그램의 옵션을 넣을수 있습니다..
exe=CMD.exe
arg=/C
3. 바이러스 검사 결과 입니다
- MSGBOX의 경우 x86 버전입니다만..아래처럼 검출이 전혀 되지 않고 있습니다
- Launcher 의 경우 오토잇으로 되었지만 x64 버전이이서 아래처럼 2개가 검출이 되고 있습니다..아주 양호한 수준이죠
MSGBOX.exe 나 Launcher 에서 수정해 보시면서 테스트 하시면 바로 아실수 있는것들이지만 몇개 정리를 하여 보았습니다
아래 사용기는 지난 사용기에서 만들었던 cmd 파일에서 정보를 보여주는 부분은 MSGBOX.exe 를 사용하고 실행은 cmd 파일이어서 숨김실행을
하기 위해서 Launcher 를 활용한것입니다..
처음 시작은 알지 못하는것들이서 당연히 어려울것입니다..하지만 cmd 관련해서는 바로 검색을 하시면 자료들을 찾으실수 있으십니다
더구나..MSGBOX.exe 나 Launcher 가 있어서 cmd를 보기 좋은 GUI처럼 꾸밀수도 있습니다..
실제 해보신적이 없으시다면...한번 도전하셔서 나만의 백업,복구 프로그램을 만들어 사용하시는것도 좋으실것 같습니다
1. 1회성 PE는 C:가 아닌 아무곳에나 있어도 됩니다..지난 사용기에서 sources 폴더에 wim 파일이 있는것은 ISO 파일을 모두 풀어서 Grub에서 사용
하던것을 그대로 복사해서 그렇습니다..
1회성 부팅용 PE를 이렇게 Backup 폴더에 같이 넣어두면 관린하기가 좀더 편하실것 같습니다..
2. BCD에 숨김 등록을 해놓은것이 개인적으로 편해서 이렇게 사용하는것 뿐입니다
3. MBR에일때에는 grub로 PE를 부팅해서 윈도우 파티션이 날라가도 pe부팅하고는 전혀 상관이 없었습니다..UEFI의 경우 pe가 BCD에 등록이 되어서
boot.sdi 파일의 위치가 아주 중요해졌습니다..suk님도 boot.sdi는 안전한 곳에 있는것을 좋다고 하신것 같습니다
사용기란에서 Active@Disk Image 사용기를 보신분들은 아실것 같습니다. Active@Disk Image에서 윈도우 복원 실패시 윈도우 파티션이 날라갑니
다 다른 백업,복구 프로그램은 다를수도 있습니다.. 이렇게 윈도우 파티션이 날라가는 경우 boot.sdi 파일이 윈도우 파티션에 있다면..등록해 놓은
PE가 아무런 의미가 없어집니다..
UEFI 시스템이시라면 PE를 처음 등록하시는 경우 ESP 파티션에 접근이 어려우신 분은 귀찮지만 복구시스템 구성시에는 윈도우에 있는 boot.sdi
를 활용하셨더라도 PE 부팅후 ESP 파티션에 boot.sdi 저장후 설정을 변경하시는것이 좋으실것 같습니다
4. Launcher는 윈도우용 PE용으로 2개를 구성하였습니다..버튼에 보이는 글자 크기가 윈도우용과 pe용에서 달라지는것도 있지만 이렇게 구분해 놓으
면 각각 사용하는 cmd만 활용을 해서 관리하기도 편한점도 있습니다.
5. 그림을 Launcher에 나오게 할수 있지만..처음 시도하시는 경우 버튼만 있는것이 간단해서 아래처럼 구성을 하였습니다
6. 입니다님께서 Launcher 자체 종료 옵션을 넣어 주셔서 Launcher 종료를 편하게 할수가 있습니다
7. 기존 cmd에서 정보 부분만 메세지로 바꾸었습니다..Snapshot 수동 실행을 위해서 오히려 Snapshot.cmd가 추가가 되었습니다
cmd 파일이 어러개여서 어수선해 보이지만 cmd 내용은 간단해서 처음 만드시는 분들은 일단 이렇게 활용을 하기고 나중에 한개의 cmd로 합치셔도
되십니다
8. 메세지의 내용이 긴 경우 아래처럼 변수에 미리 입력후 활용하시면...관리하시기가 편합니다.
메세지 버튼의 클릭값은 각각 다릅니다..YesNo 버튼의 Yes의 경우 6 입니다..이 값은 %errorlevel%의 값을 비교해서 활용을 하시면 됩니다.
9. Launcher가 관리자 권한으로 실행이 되어야 cmd 숨김실행이 정상적으로 진행이 됩니다
10. 윈도우용 Launcher가 실행이 되었습니다..
11. 메세지 옵션이 /T:36 값으로 설정이 되었있습니다... 물음표 아이콘 32 YesNo 버튼 4 의 합입니다
Launcher 옵션에서 RunMeAct=Hide 주어서 아래처럼 cmd가 실행시 Launcher는 숨김이 됩니다
12. cmd가 종료후 Launcher가 다시 보입니다
13. 윈도우에서 백업중입니다
14. 윈도우에서 복원을 진행하였습니다...재부팅 안내를 하고 있습니다
15. 메세지의 대기시간인 /W:2 를 활용해서 아래처럼 메세지로 안내를 해주었습니다..
16. 재부팅후 복원중입니다
17. 1회성 PE로 부팅후 복원하는것을 진행하여 보겠습니다
18. 1회성 PE인 cmdpe로 부팅을 하였습니다...
19. 복원을 GUI에서 진행중입니다.. 아래 1번, 2번이 보이시죠...둘다 복원으로 표시가 되어 있습니다..나중에 특이한 현상이 있는것을 보여드리겠습니다
20. BCD에 등록된 pe로 부팅을 하였습니다..pe용 Launcher가 실행이 되었습니다.
21. 수동 실행을 하여 보았습니다..
22. 백업 메세지까지만 확인하였습니다
23. 현재 가상에서 BCD에 등록된 pe로 부팅을 한것입니다...바로 위에 있는 사진에 사용된 pe에서 아래처럼 SysWOW64 폴더에 있는 파일만 삭제를
하여서 전용 x64pe로 만든것입니다..
24. snapshot64.exe에서 복원중입니다..1번에는 복원으로 되어 있지만...2번에는 백업으로 보입니다..그리고 빈공간도 있습니다.
활용하는 왕자님 PE중에서 boot.wim 용량 때문에 IFW만 적용이 되어서 백업,복구 프로그램에 따라서 필요한 dll등이 모두 추가되지 않은 것입니다
문제가 있는것이죠..
snapshot 한글화 관련 사용기 쓸때 아래 모습을 보신적이 있으실것 같습니다...다른분께서 가상에 문제가 있다고 하셔셔서 저도 그런줄 알았습니다
오늘 사용기에서 사용된 cmdpe랑 비교를 해보면..잘하면 원인을 찾을수 있을것 같습니다..
25. 사용기에서 사용된 cmdpe에서 SysWOW64 폴더안의 파일을 삭제했을때에도 정상적으로 단어를 보여주고 있습니다..
저는 SysWOW64 폴더에 파일이 없어서 그런줄 알았습니다..저의 착각이었습니다..system32 폴더만 비교를하면 될것 같습니다..찾으면 사용기에
추가를 하도록 하겠습니다
26. 마무리
Snapshot 백업,복구에 cmd만으로 구성이 되어 있도 사용하시는데에는 아무 문제가 없을것입니다...
이왕이면 다홍치마죠..그리고 cmd도 만들었는데...조금만 더 고생을 하면..간단히 마우스 클릭만으로 할수 있는 GUI로 만들수 있다면..GUI로 활용
하시것이 좋을것 같습니다
하이이잌님 작품에 포함되어 있는 MSGBOX.exe 나 Launcher만 있으면 cmd로 GUI로 간단히 변신을 할수가 있어서 활용을 하여 보았습니다
새로운 한주가 시작되었습니다..
좋은일만 있으시길 바랍니다
--------------------------------------------------------------------------------------------------------------------
추가입니다
해결이 가능할것 같은 생각은 그저 꿈이었습니다...
1. 사용기에 있는 사진을 가져온것입니다.. Snapshot 으로 복원시 2번에 저장으로 3번은 표시가 되지 않습니다
2. 복원중입니다..이번에는 정상적으로 보입니다..그런데 더 큰 문제가 발생을 합니다
3. dll 파일로 해결이 되지 않고 pecmd.ini에서 한글 관련인 CTFMON.EXE를 실행하지 않아야 Snapshot 복원시 정상으로 보입니다
1회성 pe의 경우 cmdpe여서 CTFMON.EXE가 실행되지 않아서 정상적으로 보였던것입니다...
아쉬운 결말입니다..
수고하셨습니다 감사합니다