제목 : W8 Roket PE x86 에서 레지 파일을 하이브로 하여 보았습니다..
왕초보좋은 작품을 선물로 주셨는데..허락없이 임으로 수정을 한 부분에 대해서는 작품을 선물을 주신 콜*오님께 양해를 부탁드립니다
다른 불순한 마음은 전혀 없습니다..reg파을 pe부팅시에 등록하는것이 아니라 reg파일을 미리 하이브로 다 등록을 하면 좀더
부팅이 빨라지지 않을께 하는생각에..진행을 하여 본것입니다..그런데 하다보니까 욕심이나서 다른 방향으로 빠지기는 하였습니다
혹시..다른분들께서도 오해가 없으시길 간곡히 부탁드립니다..
reg 파일을 하이브로 등록을 하면서..pecmd.ini에서 부팅순서도 조금 바꾸어 보았습니다..
pe부팅이 되었다는 시점이 어디가 기준인지를 잘 몰라서..pe의 작업표시줄이 보이는 시점을 pe가 부팅이 된 시점으로 잡았습니다
그래서 부팅관련해서 explorer.exe 가 실행되지전에 있는 작업들은 최대한 explorer.exe 이후로 미루어 보았습니다
아래의 내용은..혹기심에...부팅이 좀더 빠르게 느껴질수 있지 않을까 하는 초보의 생각에 진행하여 본것입니다
부팅관련한 올바른 방법이 아닐수도 있습니다.. 이런 부분을 감안하고 보아 주십시요
1. 제일먼저 winpeshl.ini 원본입니다..
- start.cmd 파일을 wim 파일에 없습니다..그래서 필요가 없습니다
- Shortcuts.cfg 은 파일확장자와 프로그램을 연결하는 내용입니다..pecmd.ini보다 먼저 진행할 필요가 없습니다
[LaunchApps]
"hiderun.exe /w start.cmd"
"Shortcuts.exe -f Y:\Programs\8_32_config\Shortcuts.cfg"
"Pecmd.exe Main %SystemDrive%\Windows\System32\Pecmd.ini"
2. winpeshl.ini 을 아래처럼 수정을 하였습니다
- 원래은 wpeinit.exe 경우 startnet.cmd 에서 자동으로 실행을 시켜 주고 있습니다.. 그런데 startnet.cmd 에서 실행될 경우 pecmd.ini에서
explorer.exe 를 제일 먼저 실행 할경우 pe부팅완료후 B: C: 드라이브만 보입니다.. 그래서 순서상 pecmd.ini보다 확실히 먼저 실행하기 위해서
explorer.exe 에 있는것은 삭제를 하고 이리로 옮겼습니다.. pe부팅에서 wpeinit.exe 필수죠
[LaunchApps]
wpeinit.exe
"Pecmd.exe Main %SystemDrive%\Windows\System32\Pecmd.ini"
3. autorun.cmd 원본 파일입니다
pecmd.ini나 autorun.cmd 파일이 어느것이 먼저 실행이 되는지는..정확히 모르고 있습니다..비슷한 시기에 진행이 되었던것으로 알고 있습니다
부팅 진행과정 관리를 위해서..아래에서 샐행되는 cmd 파일을 모두 pecmd.ini로 이동을 시켜 보았습니다..
@Echo off
If Exist "%SystemDrive%\Users\Public\Desktop\desktop.ini" del /q /f "%SystemDrive%\Users\Public\Desktop\desktop.ini" & del /q /f /A:R /A:H /A:S /A:A "%SystemDrive%\Users\Public\Desktop\desktop.ini"
If Exist "%SystemDrive%\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" Attrib +S +H "%SystemDrive%\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
If Exist "%SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" Attrib +S +H "%SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
drvload.exe %SystemRoot%\inf\battery.inf
%SystemRoot%\system32\swb.exe 0 0
hiderun.exe IMEReg.cmd
hiderun.exe Y:\Programs\8_32_config\PE_config.cmd
hiderun.exe Y:\Programs\8_32_config\PE_Setting\net32add.cmd
start pecmd load Y:\Programs\8_32_config\PINTOOLS.INI
start pecmd load Y:\Programs\NetworkTools\WIN8_DRIVERS\INST_NET.INI
exit
4. 수정된 autorun.cmd 입니다.. 여기에서 따로 실행되는것은 없습니다.
@Echo off
If Exist "%SystemDrive%\Users\Public\Desktop\desktop.ini" del /q /f "%SystemDrive%\Users\Public\Desktop\desktop.ini" & del /q /f /A:R /A:H /A:S /A:A "%SystemDrive%\Users\Public\Desktop\desktop.ini"
If Exist "%SystemDrive%\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" Attrib +S +H "%SystemDrive%\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
If Exist "%SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" Attrib +S +H "%SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
drvload.exe %SystemRoot%\inf\battery.inf
%SystemRoot%\system32\swb.exe 0 0
exit
5. 아래는 pemcd.ini 원본입니다..
- explorer.exe 실행되기 전에 ReMount.cmd, StartImDIsk.exe, StartImDIsk.exe(해상도설정) 이 진행되고 있습니다
- EXEC !=%SystemRoot%\System32\AU3381.exe LetterSwap.au3 /auto /log %temp%\LetterSwap.log /IgnoreLetter XYB
이 명령어가 맨 아래에 있습니다..ReMount.cmd 된 다음에 윈도우일때 드라이브 순서로 정리를 하고 있습니다. 옵션 때문에 가능한 일이죠
/IgnoreLetter XYB 이옵션에서 XYB 드라이브는 정렬에서 제외 되었습니다.. ReMount.cmd 에서 Y: 변경한 드라이브 그대로 두고 작업을
하여서 Y: 드라이브가 그대로 있는것이죠..이미 고수님들은 다 아시는것이지만..정리를 하여 보았습니다
최신 LetterSwap.exe에서는 아래 LetterSwap 대신에 작업을 해주는 옵션도 있습니다 참고만 하여 주십시요
EXEC !%WinDir%\System32\LetterSwap.exe /auto /bootdrive U:\PETools\ud /Log %WinDir%\System32\LetterSwap.log
LOGS %WinDir%\System32\Pecmd.log
TEAM EXEC =!%Windir%\System32\ReMount.cmd
EXEC =!%SystemRoot%\System32\StartImDIsk.exe 50 % B: RAMDisk "NTFS Compressed" "B:\Temp"
CALL OSInit
CALL LoadShell
//CALL Shortcuts
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB OSInit
DISP W1024 H768 B32 F60
_END
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB LoadShell
//HOTK Ctrl + S,PECMD.EXE SHUT // The Shutdown button
SHEL %SystemRoot%\explorer.exe
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\X\_LabelFromReg=W8 Roket PE
_END
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB Shortcuts
//EXEC =%SystemRoot%\system32\shortcuts.exe -f %SystemRoot%\System32\Win8PE.cfg
//EXEC =%SystemRoot%\system32\PinTool.exe -debug Y:\Programs\8_32_config\PINTOOL.cfg
//EXEC =%SystemRoot%\system32\shortcuts.exe -f Y:\Programs\8_32_config\Shortcuts.cfg
_END
////////////////////////////////////////////////////////////////////////////////////////////////
EXEC =!%SystemRoot%\system32\startnet.exe -wg WORKGROUP
EXEC !X:\Program Files\Imagine\Imagine.exe /assocext /regcontextmenu
EXEC !=%SystemRoot%\System32\AU3381.exe LetterSwap.au3 /auto /log %temp%\LetterSwap.log /IgnoreLetter XYB
6. 위에 있는 pemcd.ini를 아래처럼 수정을 하였습니다.
부팅하는데 필요한 최소한만 남겨 놓았습니다 개인적으로 추가를 하였던 LOGO 나 메세지를 보여주는 TEXT 도 제외를 하였습니다
- pecmd.ini에서 Call 로 호출하는것도 아까워서 지워버렸습니다
- 해상도를 설정하는 DISP 명어는 제외를 하였습니다 8pe부터는 pe부팅시 기본적으로 1024*768로 부팅이 되어서 명령어를 제외한것입니다
- 가장먼저 explorer.exe를 실행해서 작업표시줄이 보이게 하였습니다.
- IMEReg.cmd 를 실행시켜서 오른쪽 아래에 트레이에 아이콘이 보여서 부팅이 되었다는 느낌을 먼저 주도록 하였습니다
- 이제서야 작업표시줄아이콘이나 바탕화면 아이콘을 보여주기 위해서 ReMount.cmd를 실행하였습니다
- 바탕화면에 아이콘이 없는 경우가 있어서...작업표시줄 아이콘이 먼저 보이도록 하였습니다
- 바로가기 파일 복사가 진행이 됩니다 이렇게 부팅시에 보이는 가시적인 부분들이 먼저 실행이 되도록 하였습니다
- 부팅시에 꼭 먼저하지 않아도 되는 StartImDIsk.exe, LetterSwap.au3, Shortcuts.exe, net32add.cmd, INST_NET.INI 등을 아래 순서대로
진행을 하였습니다
- PE_config.cmd 파일에서는 reg파일을 모두 하이브 하여서 Reg-add.cmd 는 실행시키지 않았습니다.
- explorer.exe 실행이 너무 빨라서...PENetwork.exe가 실행되기 전에 탐색기를 열면 B: C:가 보일수도 있습니다.. 이럴경우 어쩔수없이
아래 위치정도에 탐색기 재시작을 넣으시면..드라이브가 모두 보입니다
Kill explorer.exe
EXEC !Y:\Programs\8_32_config\PE_Setting\net32add.cmd
LOGS %WinDir%\System32\Pecmd.log
SHEL %SystemRoot%\explorer.exe
EXEC !%Windir%\System32\IMEReg.cmd
EXEC =!%Windir%\System32\ReMount.cmd
load Y:\Programs\8_32_config\PINTOOLS.INI
EXEC !Y:\Programs\8_32_config\PE_config.cmd
EXEC =!%SystemRoot%\System32\StartImDIsk.exe 50 % B: RAMDisk "NTFS Compressed" "B:\Temp"
EXEC !%SystemRoot%\System32\AU3381.exe LetterSwap.au3 /auto /log %temp%\LetterSwap.log /IgnoreLetter XYB
EXEC %SystemRoot%\system32\Shortcuts.exe -f Y:\Programs\8_32_config\Shortcuts.cfg
EXEC !Y:\Programs\8_32_config\PE_Setting\net32add.cmd
load Y:\Programs\NetworkTools\WIN8_DRIVERS\INST_NET.INI
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\X\_LabelFromReg=W8 Roket PE
EXEC =!%SystemRoot%\system32\startnet.exe -wg WORKGROUP
EXEC !X:\Program Files\Imagine\Imagine.exe /assocext /regcontextmenu
7. pe가 부팅하자마자 explorer.exe 되어서 작업표시줄이 보이고 IMEReg.cmd 로 인해서 한/영 전환아이콘이 보입니다
그리고 PINTOOLS.INI 가 샐행이 되어서 작업표시줄에 아이콘들이 생겨나고 있는중이니다.
explorer.exe가 실행되어서 작업표시줄 바가 보이는것으로 부팅 시점으로 본다고 생각하고 이렇게 하여 본것입니다
8. 작업표시줄에 아이콘이 다 생기고 나서 다음 순서인 바탕화면에 아이콘이 복사가 되었습니다. 다른 작업들은..보이지 않은곳에서 진행이 되어서 체감하지 못하는 부분들입니다...
부팅시에 explorer.exe가 빨리실행되고 아이콘들이 보이면 부팅이 된것으로 보일것 같습니다
9. 네트워크 관련이 시간이 많이 걸립니다..그럴수 밖에 없는것이 관련파일들이 wim밖에 있어서 압축을 해제하고 드라이버 설치후 서비스등을 진행하는데 시간이 많이 걸리네요..
네크워크는 부팅시가 아니더라고 바탕화면에 네크워크 설치 아이콘을 만들어서 필요시에만 설치하게 하는 pe들도 많죠..
PENetwork 실행되기까지 시간이 많이 걸립니다...
10. wpeinit.exe 와 explorer.exe 실행시점이 좀 뒤바뀌면..B: C:만 보였습니다.. 순서대로 진행을 하니까 이제서야 드라이브가 다 보입니다
11. reg파일을 다 하이브 하여서..reg파일을 등록하는 cmd 자체를 실행하지 않았습니다
12. 원래 바탕화면 아이콘부터 복사가 되네요..
13. 7-zip,RAR 레지 하이브 한것을 확인을 하여 보았습니다.. RAR reg파일 용량이 제일 크죠..
14. RAR를 우크릭에서 진행하여 본 모습입니다
15. 파일 연결을 확인하기 위해서 ini를 마우스로 클릭을 하여보았습니다..reg 관련파일에서 잘 모르는것이 있어서 제대로 하이브 된것인지는 저도 모두 확인하지 못하였습니다..
16. INST_NET.INI 파일의 경우 윈도우에서 열어보면..Notpad2로 열립니다..이때 보이는것이 외계어로 보입니다.전 암호화가 되어 있는줄 알았습니다
그런데 pe에서는 정상으로 열리네요...다른 이름으로 저장을 해서 윈도우에서 확인을 해보고 필요한부분들은 참고을 해야할것 같습니다..
저도 이내은 사용기를 쓰려고 준비하면서 알게 된것입니다....사용기 쓰다보면 이렇게 횡제할때도 있죠...땡 잡았습니다
17. INST_NET.INI 파일이 유니코드로 저장이 되어 있네요.. 저장시넹 ANIS로 저장을 하였습니다..
18. 이제서야 제대로 보이네요...공부하는데 도움이 될것 같습니다. 바탕화면 PENetwork 바로가기 이름도 여기에서 바꾸면 되네요
19. 마무리
초보의 생각에 pe부팅시에 explorer.exe 를 실행시켜 작업표시줄이 보이고 아이콘들이 먼저 보이면 부팅으로 생각하실것 같아서 진행을 하여
보았습니다..
reg파일을 하이브하면 부팅에 도움이 되지 않을까 하고 시작한 일이..이상한 방향으로 진행이 되어 버렸습니다.
초보가...잘 모르고 혼자의 상상한것을 해보았네 하여 주십시요
이론상(?)으로는 부팅이 좀 바르게 느껴질것 같지 않나요..실제 가상에서 부팅을 해보면..그런것 같기도 하고 아닌것 같기도 하고 잘 판단이
되지를 않네요
좋은 선물에..초보가 엉뚱하게 뱀 다리를 그려 넣은것은 것 같기도 합니다
그저 초보가 다 그렇지 하시면서 웃으시면서 넘어가 주십시요
좋은일만 있는 한주가 되시길 바랍니다
댓글 [8]
오짜
- 2018.12.17
- 16:27:35
레지하이브는 조금은 해 보았는데 아직도 이해도가 부족해서 어렵습니다.이글에 레지 하이브에대한 좋은내용이 담겨 있어서 스크랩해두면 공부 하겠습니다.수고 많으셨습니다. 감사합니다.
수고많으셨습니다. 좋은 강좌 감사합니다.