기 타 PE 1회 부팅 - winload.efi 파일 경로 문제입니다
2023.07.22 09:51
고수님들께서 만들어 주시는 PE 1회 부팅이나 TBWinPE.exe로 PE 1회 부팅을 하는 경우 PE인데도 PE로 부팅을 하지 못하는 경우가
있으실것입니다
어떤 경우는 잘되는데 어떤 경우에는 부팅이 되지 않은 것은 이유가 있을것입니다
저의 경우에서 BR 시리즈에서 TBWinPE.wim으로 PE 1회 부팅을 하고 있어서 이 부분에는 관심이 많습니다
이와 관련한 글들이 있지만 따로 사용기에 정리된것이 없어서 간단히 정리를 하여 보았습니다
PE를 BCD에 등록하는 프로그램은 여러가지가 있을것입니다..
사용기는 Bootice를 애용하고 있어서 이것과 suk님의 PE 부팅등록 + 우클릭에 1회성 PE 부팅하기.bat 을 기준으로 정리를 하여 보았습니다
사용기를 보시면 PE 1회 부팅을 하셨을때 PE가 부팅되지 않은 여러가기 이유중에서 winload.exe나 winload.efi 파일 경로 관련해서는 궁금
증이 해소가 되실것 같기도 합니다
1. BCD에 등록된 경로를 Bootice로 확인을 하여 보았습니다. 윈도우의 경우 아래처럼 등록이 되었습니다
2. PE가 등록된 것을 확인을 하여 보았습니다..여기에 등록된 것은 bootice으로 등록을 한것입니다
UEFI여서 winload.efi 파일이 등록이 되었습니다..윈도우가 등록된 것 하고 경로가 조금 다르죠 boot 폴더에 있는 winload.efi가 등록이 되어
있습니다.. 이 차이가 중요합니다.
3. bootice로 PE를 등록하는 메뉴입니다
4. bootice에서 자체적으로 MBR인지 UEFI인지 판단후 System32\boot 폴더에 있는 winload.efi 파일을 등록을 합니다
5. 재미있는것은 TBWinPE.exe에서 1회 부팅에 사용하는 것을 등록시에는 1번 처럼 등록을 합니다
\Windows\system32\winload.efi
bootice으로 수동 등록할때에와는 경로가 다릅니다 \Windows\system32\boot\winload.efi
이렇게 차이가 나는 부분때문에 어떤 PE는 부팅이 되고 어떤 PE는 부팅이 되지 않은 문제가 발생을 합니다
복구시스템에 사용하는 왕자님의 Win10 RS5 PE는 System32 폴더에 winload.efi 파일이 있어서 TBWinPE.exe로 1회 부팅이 됩니다
6. suk님의 bat 파일 내용입니다 MBR UEFI 겸용이어서 UEFI인지 체크를 하고 등록을 하고 있습니다
PE 1회 부팅하는 윈도우가 MBR일수도 있고 UEFI 일수도 있어서 이렇게 확인후 등록을 하는것이 좋죠..
set ext=efi
bcdedit | find /i "winload.exe" >nul && set ext=exe
bcdedit /set %guid% path \Windows\System32\boot\Winload.%ext%
7. 보통 PE에는 System32 폴더에 아래처럼 2개 파일이 있을수 있습니다 하지만 PE의 용량을 줄이려고 이 2개 파일을 삭제하는 경우 이 파일
들이 없을수도 있습니다..
8. System32\boot 폴더에 아래 2개 파일이 있습니다..여기는 PE라면 당연히 있는것으로 보아야 할것입니다
9. System32 폴더에 있는 winload.efi 파일을 삭제를 한 경우 입니다..boot 폴더에 winload.efi 파일이 있습니다
10. 고수님 작품으로 1회 부팅을 하여 보겠습니다
11. PE로 부팅을 하였습니다.. 남아 있는 흔적을 살펴보았습니다.. winload.efi 파일 경로가 System32\boot 경로 입니다
12. System32 폴더에 있는 winload.efi 는 남겨놓고 boot 폴더에 있는 winload.efi 파일을 이름을 변경을 하고 PE 1회 부팅을 하여 보았습니다
13. 에러가 발생을 하였습니다..에러에 자세히 설명이 되어 있습니다..System32\boot\winload.efi 파일이 없네요
PE 등록은 System32\boot\winload.efi 로 되어 있어서 파일을 찾을수 없는 경우입니다
14. 복구시스템에 사용되는 RecoveyPE.wim에서 System32 폴더에 있는 winload.efi 파일 이름을 변경하여 보았습니다
TBWinPE.exe 파일은 System32 폴더에 있는 winload.efi 파일을 등록 합니다. 파일이 없다면 문제가 생길것입니다
15. 복원을 위해서 TBWinPE.exe 파일로 PE 1회 부팅을 합니다
16. PE 1회 부팅이 되지 않았습니다. 에러 메세지에 System32\winload.efi 경로에 파일이 없다고 합니다
17. 저도 어떤분의 댓글에 있는 내용을 보고 알았습니다.. 아래 PE는 wim 용량을 줄이기 위해서 System32 폴더에 winload.efi 파일이 없습
니다 이 PE는 System32\winload.efi 경로로 PE 1회 부팅시에는 바로 위의 사진과 같은 에러가 발생합니다
18. Xemom1 PE를 TBWinPE.exe로 1회 부팅시 에러가 발생한 모습입니다..경로에 파일이 없는 경우입니다
19. 마무리
PE 1회 부팅시에 등록하는 과정에서 winload.exe와 winload.efi 파일을 어떤 경로에 있는것을 등록하냐에 따라서 PE 1회 부팅이 되는것도
있고 되지 않은것도 있습니다
최소한 winload.exe와 winload.efi 경로 문제는 에러 메세지에 내용이 있어서 어떤 문제일지를 파악을 할수 있어서 다행입니다
고수님들께서 만들어 주신 PE 1회 부팅 프로그램에 따라서 winload.exe와 winload.efi 경로가 다를수 있고 TBWinPE.exe의 경우 System32
폴더 경로를 기준으로 하기 때문에 PE를 만드시는 분들은 System 폴더와 System32\boot 폴더 2가지를 고려를 해주여야 할것 같습니다
PE 1회 부팅 관련 프로그램을 직접 만들어 사용을 하시는 분들의 경우에는 bootice나 suk님,지니제스트님 작품의 경우를 보았을때 프로
그램에서 등록하는 경로는 System32\boot 폴더의 파일을 등록하는것이 좀더 다양한 PE가 1회 부팅이 될것 같습니다
suk님 작품처럼 한줄이면 MBR과 UEFI가 구분이 될수 있어서 구분해서 등록을 하는것도 좋은 방법으로 생각이 됩니다
아직 구형 컴퓨터는 MBR이 많아서 그렇습니다.
이미 다 아시는 내용 일것 같기도 합니다
고수님들께서 만들어 주시는 PE 1회 부팅 프로그램으로 나만 1회 부팅이 되지 않고 에러 메세지에 winload.exe와 winload.efi 경로 문제가
표시가 된다면 PE에서 winload.exe와 winload.efi 파일이 어떤 경로에 있는지 확인하여 보시는것도 좋을것 같습니다
오늘 하루도 즐거운 일만 있으시길 바랍니다
댓글 [18]
-
스마일^_^ 2023.07.22 10:20
-
지니제스트 2023.07.22 10:26
안녕하세요.
써주신 내용이 흥미로워서 저도 테스트 해보았습니다. 결과는 좀 다르게 나요네요.
참고로 실컴 테스트이며, uefi 인 상태입니다.
테스트할 PE에는 system32\winload.efi 파일이 없습니다. 그리고 tbwinpe.exe로 부팅 등록을 했으며,
잘 등록이 되었다고 나오네요.
재부팅하기전 bcd 확인해보니, 애플리케이션 패스가 등록되지 않았습니다.
재부팅후, PE 진입이 잘 되었습니다.
말씀하신데로 TBWinPE.exe를 이용할경우 system32\winload.efi 가 없어도 잘 되는 경우도 있습니다.
-
왕초보 2023.07.22 10:57
와! 귀한 정보 감사합니다
아니 이런 경우가 있네요...경로가 없는데 부팅이 되다니 세로운것을 배웠습니다
잘하면 BCD에서 경로 등록을 하지 않아도 되는 경우가 있을것 같습니다
혹시나 잘못했나해서 가상에서 확인을 다시하여 보았습니다..가상과 실컴 UEFI에서 차이가 발생을 할수도 있나 봅니다
등록된것에서 winload.efi 파일 경로를 삭제후 PE로 부팅이 잘됩니다...BCD에 bootice로 등록한것에서 winload.efi 파일 경로를 삭제
한것도 잘 됩니다.. winload.efi 경로가 없으면 BCD에서 알아서 찾아서 등록을 적용을 하나 봅니다
그러면 PE 1회 부팅에서 winload.efi 구분할 필요없이 아예 등록을 하지 않아도 될것 같은데요
공부를 해보야겠습니다
1. 가상이어서인지 저의 경우에는 winload.efi 파일이 등록이 되고 있습니다
2. 명령어를 바꾸어 보아도 winload.efi 파일 경로가 등록이 되고 있습니다
3. 옵션없이 등록을 하여 보았습니다
4. winload.efi가 등록이 됩니다
5. winload.efi 파일이 없이 진행을 해도 winload.efi 경로가 등록이 됩니다 윈도우 상황에 따라서 다를수 있나 봅니다
다이어트된 Win10 입니다
6. 등록된 경로에 winload.efi 파일이 없어서 에러가 발생을 합니다
7.winload.efi 경로를 삭제를 하여 보겠습니다
8. 삭제를 확인하였습니다
9. PE로 부팅이 되었습니다..winload..exe, winload.efi 파일 경로가 없어도 되는것이었네요..등록이 되어 있으면 등록된것이 적용이 되고요.
당연히 등록하지 않은것이 부팅 에러가 줄것입니다
10. Bootcie로 등록한 것에서 winload.efi 경로를 삭제를 하여 보았습니다.성공하다면 winload.efi 등록 자체를 할 필요가 없네요
11. winload.efi 경로를 등록하지 않은 경우 BCD에서 알아서 찾아서 부팅을 하나 봅니다..강제로 등록할 이유가 없을것 같습니다
좀더 테스트를 해보도록 하겠습니다
12. 지니제스트님 좋은것을 배웠습니다...PEBoot에서 winload.efi 관련채서 uefi 체크나 등록 소스가 줄어 들것 같습니다
감사합니다
-----------------------------------------------------------------------------------------------------------------
생각해 보면 당연한 것일것입니다.. 확인차원에서 하여 보았습니다
1. boot 폴더에 있는 winload.efi 파일 이름을 바꾸어 놓았습니다..BCD에는 winload.efi 경로가 없습니다
2. 에러가 발생을 합니다..BCD에 winload.efi 경로가 없는 경우 boot\winload.efi 파일을 찾아서 부팅을 하네요
1회 부팅에 winload.exe winload.efi 경로는 등록을 할 필요가 없는것 같습니다.
-
지니제스트 2023.07.22 11:04
원래는 어플리케이션 패스에서 exe인지 efi 인지 ... 정확히 입력이 되어야 하는게 맞습니다.
이게 정석이기도 하구요. 그러나 TBwinPE의 경우 어떻게 처리하는 루틴인지 모르겠습니다만
등록하는 경우도 있고 아닌경우도 있네요. 그렇다고 어플리케이션 패스를 삭제하시는건 좀 우려되긴
합니다. 원래 정석 방법을 무시하면 언젠간 어디서 무슨 변수가 발생할지 모르기 때문입니다.
-
왕초보 2023.07.22 11:21
저의 경우 BCD에 대해서 정확히 알지는 못합니다
현재 테스트 해본것으로는 bcd에 등록된 winload.efi 경로를 삭제한 경우에도 PE 부팅이 되었습니다
제 짐작이 틀릴수도 있습니다.. 등록이 되지 않은 경우 BCD에서 자동으로 잧아서 부팅을 한다..수동으로 winload.efi 경로가 있는 경우
수동으로 등록된 winload.efi 경로가 우선 적용된다..이런 방식이면...등록을 하지 않아도 될것 같기도 합니다
좀더..다양한 컴퓨터에서 테스트를 해보기를 해야 할것 같습니다
저는 무조건 winload.efi 경로가 있어야 되는줄 알았습니다
저에게는 삭제해도 부팅이 되는다는 것 자체가 새로운 발견입니다 BCD에 등록하는것에 대해서 좀더 공부를 해보야겠습니다
-
UU自適 2023.07.22 12:26
TBwinPE가 어떻게 처리하는 것이 아니라 원래 없어도 되는 것같습니다.
저는 bootice로 PE를 추가하는데, 부팅파일(어플리케이션 패스)부분을 삭제하면 부팅이 더 빠르다는 여기 고수님들의 조언에 따라 아주 오래전부터 이렇게 사용해왔지만 다양한 PE에서 부팅에 문제가 생긴적은 없는 것 같습니다.
-
왕초보 2023.07.22 13:24
이렇게 글을 남겨주셔서 감사합니다..
너무나 반가운 소식입니다.
윈포에서 고수님들께서 조언을 해주셨다면..어느분이신지 궁금하네요..
이것을 몰라서 winload.efi 등록을 위해서 UEFI 체크까지 했었습니다..
이제는 좀더 쉽게 PE 등록을 할수가 있을것 같습니다
감사합니다.
-
상발이 2023.07.22 10:30
수고하셨습니다.
-
우인 2023.07.22 10:34
수고많이하셨습니다.
-
過客 2023.07.22 11:03
지후빠님과 제가 사용하는
for /f "skip=3 tokens=1*" %%a in ('%be% /enum {default}') do set $%%a=%%b
wimlib-imagex dir "%~1" --path=%$path% >nul 2>&1 || set $path=%$path:2=2\boot%
---> pe.wim에서 찾는법임.
차이나는 피이 System32\폴더에 있는 winload.efi 파일
제맘피이 System32\boot 폴더에 있는 winload.efi 파일
구분 잘함
-
왕초보 2023.07.22 11:16
글을 남겨주셔서 감사합니다
Xemom1 PE 에서 System32 폴더에 winload.efi 파일이 없는것을 댓글을 남겨주신것을 보고 알았습니다..감사합니다
boot 폴더에 있는 winload.efi 파일을 등록을 하면.. wimlib-imagex 로 파일 유무를 검사하는 과정이 필요가 없습니다.
그리고 제니제스트님 글을 보고 BCD에 등록한것에서 winload.efi 경로를 삭제한 경우에도 BCD에서 자동을 boot\winload.efi 파일을
찾아서 등록을 해주고 있습니다
아마..등록하지 않은 경우 BCD에서 자동으로 찾는 기능이 있나 봅니다..자동으로 찾는다면 winload.efi를 등록할 이유가 없을것 같습니다
-
過客 2023.07.22 12:25
제 댓글은 TBWinPE.exe를 이용 안하는 경우입니다.
그리고 왕초보님 말씀대로 path부분을 빼고
bcdedit.exe이용한 배치파일로 bcd에 등록하면 (no TBWinPE.exe)
아래처럼 됩니다.Xemom1_22621_KO3-0-.wim
path가 등록이 안되죠. 당연한 겁니다. 자동으로 되는게 아니란 말씀입니다.
wimlib-imagex 로 파일 유무를 검사하는 과정은
pe.wim안을 들여다 보고 winload.***의 정확한 경로를 알아내어 bcd에 등록하는 과정입니다.
가장 확실한 방법인거죠.
-
왕초보 2023.07.22 13:05
가장 좋은 방법은 말씀하신것처럼 wimlib-imagex 파일로 위치를 확인하고 등록을 하는것입니다
bootice의 경우 BCD 관련해서 PE등록에 많이 사용되는 프로그램입니다..
모든 PE가 다 그렇다는것을 확인하지 못하였지만..boot 폴더에 winload.exe, winload.efi 파일이 항상 존재하는 필수 파일이라면
wimlib-imagex 파일로 따로 검사할 필요가 없을수도 있습니다..
suk님이나 지니제스트님의 경우 boot 폴더에 있는것을 등록을 하고 있습니다..아직 이 파일 경로로 문제가 되어서 부팅이되지 않은
피드백은 없었던것으로 알고 있습니다
그리고 지니제스트님 댓글로 알게된 것은 winload.efi 파일 경로를 등록하지 않아도 PE가 부팅이 되는 경우가 있다는것입니다
실제 확인을 하여보았더니winload.efi 를 등록하지 않은 경우 boot\winload.efi 파일이 있으면 PE 부팅이 되었습니다 그래서 boot
폴더에 winload.efi 파일 경로를 하는것이 좋을수 있습니다
지니제스트님의 댓글처럼 winload.efi 를 등록하지 않아도 되는 경우가 다양한 컴퓨터에서도 모두 부팅이 된다면 BCD에 우리가 몰랐던
기능이 내장되어 있어서 그럴수 있을것입니다.. winload.efi 등록없이 모든 PE가 부팅이되면..땡잡을것 일수도 있습니다
저는 이왕이면 winload.efi 등록 없이도 되었으면 좋겠습니다
-----------------------------------------------------------------------------
UU自適님께서 남기신 댓글을 참고하여 주십시요
윈도에서 어느 고수님께서 말씀을 하셨는지는 모르겠지만 이미 winload.efi 를 등록하지 않고 사용하는 방법에 대해서 말씀을하신
분이 있으셔서 직접 오랫동안 사용하셔도 문제가 없으셨던것 같습니다
winload.efi 등록없이도 PE 부팅에 문제가 없다면..등록할 이유가 없을것 같습니다
한번 winload.efi 등록없이 PE를 부팅을 해보시는것도 좋을것 같습니다
-
네트워크빌런 2023.07.22 12:22
결론적으로 winload.exe(efi)가 system32\boot에 있는 경우 ApplicationPath를 따로 지정 안해줘도 system32\boot에서 부팅해간다는 이야기이지요?
-
왕초보 2023.07.22 13:10
지니제스트님 실컴과 저의 Win10 가상에서 테스트 한경우 winload.exe(efi)를 등록하지 않아도 PE로 부팅이 잘되었습니다
등록하는 경우 등록한것이 우선 적용이 되어서 경로에 winload.exe(efi) 파일 없는 경우 에라가 발생을 합니다
자동으로 찾는데 수동으로 되어 있으면 수동이 우선 적용되는 스타일 같기도 합니다
좀더 다양한 컴퓨터에서 테스트를 해봐야 하기는 합니다
한번 사용하는 컴퓨터에서 bootice로 PE를 등록하신후 winload.exe(efi) 등록부분을 삭제를 하시고 PE 부팅을 해보시는것이 빠른것
같습니다
혹시 직접 테스트를 해보셨다면 사진한장 부탁드립니다
-
광풍제월 2023.07.22 19:37
수고하셨습니다.
-
개골구리 2023.07.23 03:44
수고하셨습니다.
-
매화꽃 2023.07.23 07:50
수고많으셨습니다.
수고하셨습니다.