소프트웨어 PE 부팅 등록 스크립트 (30일 16:50수정)
2017.10.25 22:19
CApple님의 XARS 자동 복구 시스템 설치 스크립트를 기초로 하여 만들어졌습니다.
자세한 내용은 http://cappleblog.co.kr/544 를 참조하세요.
O 모 사이트 게시자와 저는 같은 사람입니다.
기본적인 동작 확인은 하였으나,
발생하는 모든 오류 및 각자가 사용하는 PE의 저작권 관련하여 일절 책임지지 않습니다.
이 파일에는 PE가 포함되어있지 않습니다.
저는 수정/재배포에 관여하지 않습니다만,
13년도에 CApple님이 다른분에게 댓글로 단 내용입니다.
따라서 1차 제작자인 CApple님의 소스를 기반으로 했다는 주석을 지우지 마시기 바랍니다.
개인적으론 상업적인 용도로는 안쓰셨으면 하는 바램이 있습니다만 제가 뭐 확인할수도 없는 노릇이니..
다운로드 (수정됨) : PE부팅 등록 스크립트.zip / 마지막 수정 10월 30일 16시 50분
공개 공유하려니까 수정하고싶은게 막 불어나서...잦은 수정 죄송합니다.
가장 최근 수정내역 :
10월 30일 13시 03분
-Recovery.cmd 에서 백업 프로그램이 IFW로 지정되어있고, 압축률이 빠름일때 오류가 생기는걸 수정
바로가기 재생성 파일 (reprec.cmd) 약간 수정
shell:programs에도 바로가기 복사하도록 추가
Remove.cmd 각 수정된 사항에 맞게 갱신
이미 설치된 경우엔 실행후 "update"를 입력하세요.
// IFW로 복원을 시작할때 배치파일 배경색이 경고창 이후로 계속 빨간색인걸 경고창 이후엔 파란색으로 변경
///복구 시스템 삭제 이후에 백업된 이미지파일은 남겨야하는데 같이 지워지는 문제 수정
지난 수정 기록 :
10월 26일 12시 03분 - UI수정
10월 26일 12시 26분
- 12시 03분에 업로드한 자료가 " 한개가 없어서 오류나는것을 수정
10월 26일 13시 18분
- Winload.exe 경로를 system32\winload.exe에서 system32\boot\winload.exe로 변경
(일부 환경에서 Winload.exe가 블루스크린이 뜨는데, boot\winload.exe로 교체시 해결됐음. 그냥 winload.exe로 되는 PC들도 있어서
정확한 원인은 파악 불가, 임의로 수정하시려면 설치할때 쓰는 배치파일과 setup\command\reprec.cmd를 수정하세요.)
기타 UI 수정
10월 26일 16시 52분
- GB상태로 SET /A 연산시 소숫점을 버리면서 결과값 오차가 커지는 등의 문제 근본적 해결을 위해
모든 계산시에 MB단위로 계산 후, 표시할때만 GB로 바꿔서 출력
- 수정된 용량 계산 배치파일 (참고용) : 용량계산.cmd 7에서 작동안함
최대압축으로는 될듯 한데 빠른압축으로는 안될거 같을때 기존엔 용량이 없다고 팅겼으나
최대압축으로 변경 한 뒤 안내문구 출력하도록 변경
10월 27일 13시 35분
- UI 자잘한 개선 , 사용자 임의 지정에서도 각종 입력값 오류 검사, 오류 검사하지 않는다는 경고창 삭제
사용자가 몇몇 변수를 쉽게 수정할 수 있도록 배치파일 상단에 따로 변수 수정하는곳을 만듦
기타 코드 최적화 / 알아보기 쉽도록 단계별 주석 추가
10월 27일 14시 26분
- 윈도7과 윈도10 diskpart 명령 출력 결과 사이 공백 한줄 차이가 있어서 7에서 오류가 생기는걸 해결
수정된 참고용 파일 (skip 줄 수만 하나씩 줄임) -용량계산.cmd
10월 27일 15시 48분
- reprec.cmd 약간 수정
10월 27일 16시 12분
- :NOWIMEXIST 로 GOTO될 때 CLS 추가 (PE가 없다는 오류창 출력될때 불필요한 문구가 출력되는것 방지)
PE 없이 테스트하고싶으면 메모장으로 열어보라고 문구 추가
10월 28일 10시 55분
- 기본경로를 boot\10pe.wim에서 sources\boot.wim으로 변경 (PE빌더 기본경로)
사소한 변경이라 제목 수정시간은 갱신하지 않음.
10월 29일 17시 46분-
이미 설치된 상태에서 설치파일을 다시 실행하면 제거 외에도 업데이트 기능 추가,
XCOPY /D 명령을 통해 새로운 파일만 덮어씌움
recovery.cmd와 같은 폴더에 Image For Windows가 존재한다면 DISM말고 IFW로 백업/복원을 실행함.
ifw.ini (등록 정보 파일) 와 ifwlang.dll(언어 파일) imagew64.exe, imagew.exe 를 사용하려는 PE의 비트에 맞게 넣어 주세요.
(Image For windows는 상용 프로그램이며 첨부파일에 포함되어있지 않습니다.)
SET PROGRAM=DISM
SET PEBIT=32
IF EXIST "X:\windows\syswow64\" set PEBIT=64
IF "%PEBIT%"=="32" IF EXIST imagew.exe set PROGRAM=TBI&&set TBIEXE=imagew.exe
IF "%PEBIT%"=="64" IF EXIST imagew64.exe set PROGRAM=TBI&&set TBIEXE=imagew64.exe
를 통해 알맞은 프로그램을 지정하기때문에, 64비트 PE에서는 꼭 64비트 실행파일을 넣어주셔야합니다.
64비트 PE이면 32비트 실행파일을 찾지 않아요.
배치파일을 메모장으로 열면 최상단에 위치한 항목들을 통해 주요 변수를 수정할 수 있습니다.
기본값이 \sources\boot.wim 으로 지정되어있으므로, (PE빌더 기본경로)
반드시 본인이 가진 PE에 알맞게 1,2 번 변수는 수정해주시거나 PE의 Wim파일의 이름을 10pe.wim으로 바꾼뒤 boot 폴더 아래에 놓으셔야합니다.
WIM 파일의 경로를 변경한 경우, 반드시 setup\reprec.cmd도 같이 수정하시기 바랍니다.
위와 같은 과정을 거쳐서 백업 파티션의 용량과 압축률을 정합니다.
빠른 압축일땐 사용중인 C: 용량의 70%를, 최대 압축일땐 60%를 지정합니다.
※주요 기능 요약
윈도우 버전 체크
파일 시스템 체크
Bootmgr 8.1보다 낮을 경우 8.1용 Bootmgr로 업데이트 (10PE 호환)
UEFI/MBR 부팅 상태 체크, 알맞은 방식으로 부팅 등록
디스크 공간 및 사용량, 여유공간 체크 후 알맞은 설치 형태 권장
용량이 부족한 파티션에 설치 시도시 오류 메시지 반환
파티션 분할 및 디스크 번호, 파티션 번호 변수화시킨 후 저장
생성하려는 파티션이 시스템 파티션과 동일 물리장치인지 판단 후 동일하다면 최대압축 권유등 위의 내용 모두 자동 분석
설치할 드라이브만 수동 선택 + 사용자 임의 변수 편집 기능 제공
백업/복원 DISM 스크립트 포함 (압축파일 설명\복원모드 진입 이후\ 폴더 참조, 같이 들어있는 recovery.exe를 통해 PE에서 실행 가능)
언인스톨 스크립트 제공 (파티션 삭제는 수동)
- 바탕화면 바로가기 또는 설치된 상태에서 다시 설치 스크립트를 실행하여 "REMOVE"를 입력
=================================================================================
이 밑으로는 그냥 설치 과정 사진입니다.
<같은 드라이브, 용량 매우 부족함, 백업파일 저장 태그 생성 안함>
<다른 드라이브, 용량 여유로움>
<빠른 압축으로는 부족하지만 최대 압축으로는 가능할 때>
<수정[E] 화면>
삭제시엔 대문자로 REMOVE 입력 (대소문자 구분함)
파티션은 삭제해주지 않습니다.
댓글 [23]
-
cungice 2017.10.25 22:44
-
지연서연아빠 2017.10.26 10:29
잘사용하겠습니다. 감사합니다.
-
쏘가리차차 2017.10.26 10:52
좋은 강좌군요...
-
동방오타 2017.10.26 12:20
수고하셨습니다.
고맙습니다. ^^;
-
드림캐쳐 2017.10.26 13:30
좋은 툴이네요 감사합니다. 8PE이상들은 일반적으로 system32\boot\winload 이므로 이 기준으로 하시면 왠만한 PE들은 부팅시 문제는 없을 것 같습니다.
-
왕초보 2017.10.26 14:29
좋은 강좌에..소중한 선물까지 포함이 되어 있네요..
감사합니다..
추천요
-
NaDa 2017.10.26 19:00 히이이잌님 매우 유용한 자료 고맙습니다.
-
초보자여 2017.10.26 19:34
이런 좋은 자료 감사합니다.
-
sis 2017.10.26 20:22
고생하셨습니다.
-
tuzki 2017.10.26 20:43 감사합니다.
-
샤 2017.10.26 21:25
수고하셨습니다.
-
ehdwk 2017.10.26 23:14
수고하셨습니다. -
Playing 2017.10.27 10:13
하이이잌님 글 잘 봤습니다
XP 관련 부팅 도움을 많이 받은 케플님 글이 나와서 더욱 반가웠네요
아직 충분히 이해하진 못하였지만 그동안 노력하신바 잘 알겠습니다!
필요하신 분들께 취지대로 널리 전달되길~!
-
까칠한곰탱이 2017.10.27 11:44
감사합니다~~~ ^^
-
suno 2017.10.27 21:01
고맙습니다.
배치 파일을 관리자 권한으로 실행
하게 하는 코드는 없나요???
pe(x64) 넣고 부팅 했는데
이럽니다.
-
히이이잌 2017.10.28 10:32
장치가 없다는 블루스크린은 wim파일을 찾을 수 없다는 의미인데,
배치파일 최상단 변수수정 부분에서 pe wim파일 경로 수정안하신것 같습니다.
(PeCheck 변수는 배치파일 실행을 막는데에만 사용되며, 실질적인 BCD 생성에 쓰이는건 그보다 한칸 아래인 PE_WIM 변수입니다.)
pe의 wim 파일 이름을 10pe.wim으로 바꿔서 boot폴더 안에 넣거나,
글에 적힌대로 배치파일을 메모장으로 열어서 wim파일 경로를 수장하세요. (setup/command/reprec.cmd도 같이)
이미 설치된 PE는 해당 수정작업을 거친 reprec.cmd를 설치된 파티션의 REC\command\reprec.cmd에 덮어씌운 다음 바탕화면 바로가기에서 R을 눌러 복구를 시도해보세요. 또는 Bootice 등의 툴을 이용하여 현재 연결된 BCD의 경로가 올바른 PE의 위치를 가르키는지 확인하고,올바르게 가르키도록 배치파일 변수를 수정해주셔야합니다.
불필요한 공백이라던가, \가 하나 더 들어가있던가 그런게 아닌지 다시한번 점검해보세요.
잘 모르겠으면
1. Bootice -> BCD -> 현재 시스템의 BCD파일 (쉬움 모드) → '시스템 복원' 항목을 클릭한 상태의 스크린샷2. 설치할때 사용한 배치파일을 메모장으로 열어서 변수설정 부분의 스크린샷
두장 찍어서 보여주세요.
-
suno 2017.10.28 12:03
고맙습니다.
위 글대로 하니까 잘 됩니다.
감사합니다.
-
히이이잌 2017.10.28 10:33
관리자권한 얻는거는 배치파일 자체로는 불가능하고, vbs 스크립트를 echo 리다이렉션으로 즉석 작성해서 먼저 띄우는 방법밖에 없습니다.
배치파일 관리자권한 vbs 등의 검색어로 구글링해보세요.@echo off :: BatchGotAdmin :------------------------------------- REM --> Check for permissions >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" REM --> If error flag set, we do not have admin. if '%errorlevel%' NEQ '0' ( echo Requesting administrative privileges... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) pushd "%CD%" CD /D "%~dp0" :--------------------------------------
-
suno 2017.10.28 12:03
고맙습니다.
-
K연구원 2017.10.27 23:37
수고하셨습니다.
-
퉁가리 2017.10.29 12:36
감사함니다...혹시 uefi 시스템에서도 사용가능한건지요?
-
히이이잌 2017.10.29 12:44
가능합니다.
현재 부팅된 운영체제의 BCD 정보를 읽어서, 로더가
winload.efi인지 winload.exe인지를 통해 현재 시스템이 어떤 방식으로 부팅되었는지 판단하고 자동으로 결정합니다.
적어도 아직까지 잘못 선택되는 경우는 못봤습니다만,
혹시라도 문제가 생기거나 어떤식으로 동작하는지 보시려면 메모장으로 배치파일을 열어
'XBoot'를 검색해보세요. -
일망 2017.10.30 08:46
고생 많이 하셨습니다.
히이이잌님 수고 많으셨습니다. 감사합니다.