개발 / 자작 WimTools beta2 테스트
2023.07.16 00:31
스샷을 못해서 자료실에 올립니다.
오늘은 bcdedit wim boot 관련 자료만 정리하였습니다.
내일은 TBWinPE 관련 메뉴정리, WIM optimize/convert, ISO to WIM extract, 우클릭 메뉴 구성 ... 등을
시간되면 정리해보려고 합니다. 몸 상태 안좋으면 수요일 쯤...
WimTools-beta2.zip
Wim2BCDadd.cmd ; 윔을 부트 메뉴에 추가(bcdedit,wimlib,findstr 필요)
- ex) Wim2BCDadd.cmd path\pe.wim
ramdiskoptions.cmd ; boot.sdi 경로 수정(bcdedit,boot.sdi 필요)
- ex) ramdiskoptions.cmd
WimBootOnce.cmd ; WIM 1회 부팅 또는 1회 숨겨진 Entry BCD 에서 제거(bcdedit,wimlib,findstr 필요)
- ex) WimBootOnce.cmd path\pe.wim
- ex) WimBootOnce.cmd
WimBootOnce.vbs ; WIM 1회 부팅, boot.sdi TBWinPE_BootWIM 관련 파일 삭제
- ex) WimBootOnce.cmd path\pe.wim
- ex) WimBootOnce.cmd path\boot.sdi
- ex) WimBootOnce.cmd
Boot1SelDel.cmd ; 재부팅시 진입할 항목 선택/제거하기(bcdedit 필요)
Boot1SelDelW.cmd ; 재부팅시 진입할 항목 선택/제거하기 gui버전(bcdedit,Wselect 필요)
Boot1Select.vbs ; 재부팅시 진입할 항목 선택 vbs버전(bcdedit,wmic 필요)
부속파일 ; boot.sdi, wimlib-imagex.exe, libwim-15.dll, TBWinPE.exe, Wselect.exe, MkWimboot.exe
토요일도 근무해서 퇴근 후 저녁 먹고 정리하다 보니 졸려서 테스트 스샷은 못하였습니다.
수정중인 자료이므로 기존에 접해보신 분만 테스트 부탁드립니다.
차후 모두 준비되면 정리하여 게시하겠습니다.
편히 주무십시오. ^^
댓글 [12]
-
過客 2023.07.16 01:10
-
지후빠 2023.07.16 10:55
지금 테스트하였는데 문제 없어 보입니다.^^
bcdedit 버전별 차이가 있으면 결과가 다를 수도 있겠습니다.
혹시 PE에서 사용도 고려하여 findstr도 가능한 안쓰려고... 만약 쓴다면,
for /f "tokens=1*" %%a in ('bcdedit /enum {ramdiskoptions} ^| findstr ramdisk') do set "%%a=%%b"
create에서 {ramdiskoptions}가 있으면 내부적으로 오류가 있을 뿐 수정에 문제가 되지는 않습니다.
말씀하신 내용 고려하여 다음처럼 수정해봤습니다. 문제 없는지 확인 부탁드립니다.^^
ramdiskoptions-findstr.cmd@echo off& prompt $h& color 2f& mode 60,5& title boot.sdi 경로 수정
bcdedit >nul 2>&1 || (powershell start -verb runas '%0' & exit)
for /f "tokens=1*" %%a in ('bcdedit /enum {ramdiskoptions} ^| findstr ramdisk') do set %%a=%%b
if not exist "%ramdisksdidevice:~-2%%ramdisksdipath%" (
if not defined identifier bcdedit /create {ramdiskoptions}
bcdedit /set {ramdiskoptions} ramdisksdidevice partition=%~d0
bcdedit /set {ramdiskoptions} ramdisksdipath %~p0boot.sdi
echo fixed to ramdisksdipath=%~dp0boot.sdi
) else echo {ramdiskoptions} is intact.
echo.&pause
외출로 답신은 오후 늦게나 확인할 수 있을 것 같습니다. ^^
-
過客 2023.07.16 15:07
말씀처럼 oter.cmd에 findstr 이 안보이네요.^^
-
지후빠 2023.07.18 23:59
다이어트 많이된 PE에는 findstr.exe가 없는 경우가 많아서 다른 방법으로 대체하려고 합니다.^^
-
cungice 2023.07.16 08:15
수고 많으셨습니다. 감사합니다.
-
쌍무지개 2023.07.16 08:18
수고하셨습니다...!^^
-
馬井理 2023.07.16 08:28
수고하셨습니다
-
qnd 2023.07.16 17:40
수고많으셨습니다,
감사합니다.^^
-
REFS 2023.07.16 19:03
수고하셨습니다..
-
개골구리 2023.07.16 20:10
수고하셨습니다..
-
가로등 2023.07.17 16:58
수고 많으셨습니다. 감사합니다.
-
강뉴 2023.07.19 21:33
수고하셨습니다
이전버전
fix-ramdiskoptions.cmd에서
for /f "skip=3 tokens=1*" %%a in ('%$b% /enum {ramdiskoptions}') do set "%%a=%%b"
set "sdi=%ramdisksdidevice:~-2%%ramdisksdipath%"
를
for /f "tokens=1*" %%a in ('bcdedit /enum {ramdiskoptions} ^| findstr "ramdisksdidevice ramdisksdipath"') do set %%a=%%b
set "sdi=%ramdisksdidevice:~-2%%ramdisksdipath%"
로 바꾸어야 변수를 정확하게 받는것 같습니다.
그리고 바로 밑에
if defined identifier (if not exist "%sdi%" call :ramdisk repair) else (call :ramdisk create)
identifier가 안먹혀서 call :ramdisk create로만 갑니다.
어차피 create로 가도 존재하면 만들지 않고 repair를 진행하더라구요.
제가 잘못한건지 ....지식이 부족해서ㅠㅠ
boot.sdi파일은 많은 테스트는 거치지 않았지만 960KB인것이 부팅도 빠른듯(?)...
러시아나 중국피이에서 사용하더군요.
아 허리불편하다고 하셨는데..
건강 잘챙기세요.^^
건강이 복입니다.