기 타 PE 1회 부팅 - winload.efi 등록 없이 하여 보았습니다.
2023.07.22 12:57
먼저 지니제스트님께 감사드립니다
지니제스트님께서 테스트하시고 글을 남겨주신 덕분에 상상도 하지 못했던것을 알게되었습니다
좋은일만 있으시길 바랍니다
PE 1회 부팅 - winload.efi 파일 경로 문제입니다
https://windowsforum.kr/review/19683461
------------------------------------------------------------------------------------------------------
추가입니다
위 사용기 댓글에 UU自適님께서 사진과 함께 써주신 댓글 내용입니다. 저에게는 아주 반가운 소식입니다
이미 윈포에서 이렇게 사용하는것이 빠르다고 하신 고수님이 있으셨나 봅니다...저는 이글을 보지를 못해서 모르고 있었습니다
좋은 소식을 알려주셔서 감사합니다
TBwinPE가 어떻게 처리하는 것이 아니라 원래 없어도 되는 것같습니다.
저는 bootice로 PE를 추가하는데, 부팅파일(어플리케이션 패스)부분을 삭제하면 부팅이 더 빠르다는 여기 고수님들의 조언에 따라 아주
오래전부터 이렇게 사용해왔지만 다양한 PE에서 부팅에 문제가 생긴적은 없는 것 같습니다.
-------------------------------------------------------------------------------------------------------
위 사용기 댓글에 지니제스트님께서 써주신 댓글에 이제까지 한번도 생각을 해본적이 없는 현상이 있습니다
TBWinPE.exe로 PE 1회 부팅시에 winload.efi 파일 경로가 등록되지 않았는데 PE로 부팅이 됩니다
제의 경우 가상에서 Win10이 설치된 상태로 테스트 해보아도 winload.efi 경로가 무조건 등록이 됩니다
BCD에 winload.efi 경로를 항상 등록하고 있어서 (윈도우에서도 등록을 하고 있죠) winload.efi를 등록하는것이 필수인줄 알았습니다
그런데 winload.efi을 등록하지 않아도 PE가 등록이 됩니다
그냥 상상입니다..BCD에 PE를 등록할때 PE 부팅이라는것을 등록합니다..이렇게 PE로 등록을 하면 BCD에서 winload.efi 경로가 없어도
알아서 System32\boot\winload.efi 경로것을 찾아서 부팅을 하는것 같습니다
수동으로 등록하는 경우 등록한것이 자동보다 우선이 되어서 이 경우 경로에 winload.efi 파일이 없으면 부팅이 되지 않습니다
지니제스트님 말씀처럼 winload.efi를 등록하는것이 정석일것입니다.
MS에는 아래처럼 되어 있네요..
bcdedit /set {GUID} path \windows\system32\winload.exe
경로가 System32로 되어 있습니다..System32 폴더로 하시는 이유가 있는것이었네요...저는 suk님 작품을 보고 따라하게 되면서 boot 폴더에
등록을 한것이어서 PE는 그렇게 하는것인줄 알았습니다
원칙은 등록을 하는것이 맞을것입니다..그래도 등록을 하지 않았는데 부팅이 된다는것은 PE를 BCD에 등록하지 않은 경우에 대해서도 나름
대비가 되어 있는것이라고 생각이 듭니다..만약에 등록이 무조건 원칙이면..미등록시 부팅이 되지 않은것이 당연한것인데..비등록이 부팅이
되어서 그냥 짐작만 하여 보았습니다
UEFI 일때 winload.efi 를 등록하지 않는다면 UEFI를 체크 할 필요가 없어서 소스가 몇줄 들어듭니다
그래서 winload.efi 를 등록하지 않는 버전을 만들어 테스트를 하여 보았습니다
1. bootice로 PE를 등록하는 경우 boot 폴더에 있는 winload.efi 파일을 등록하고 있습니다 이것이 원칙으로 알고 있습니다
2. 부팅파일 경로가 빈공간입니다...winload.efi 경로가 설정되지 않았습니다
3. 전문가 모드에서 확인을 하였습니다..winload.efi 파일 경로가 설정되어 있지 않습니다 PE의 경우 2번처럼 PE라고 설정을 해줍니다
이 설정이 PE로 되어서 winload.efi 경로를 등록하지 않으면 boot폴더의 winload.efi로 부팅을 하는것이 아닌가 하고 상상을 해봅니다
4. winload.efi 파일 경로가 설정되지 않았는데도 PE로 부팅이 되었습니다..지니제스트님께서 지난 사용기에서 TBWinPE.wim으로 PE로 부팅
을 한 경우에도 winload.efi 경로가 설정되지 않았는데도 부팅이 되었습니다.. 제가 가상에서 TBWinPE.exe로 부팅시에 winload.efi 경로가
설정되지 않은 경우가 없어서 아쉬움이 있기는 합니다
5. UEFI 체크하는 부분과 winload.efi 등록하는 부분을 삭제한 버전입니다
6. 메세지 없이 진행을 하도록 설정을 하였습니다
7. 윈도우를 백업한 Win10.wim 파일을 1회 부팅을 하였습니다..PE가 아니어서 아래처럼 메세지가 나옵니다..PE인지 아닌지만 체크를 하기
때문에 체크 하는 시간이 짧아서 우클릭에서 진행시 PE인지부터 체크를 합니다
8. System32 폴더에 있는 파일 2개를 이름을 변경하여 놓았습니다
9. boot 폴더에 파일들이 있습니다
10. 1회 부팅을 하겠습니다..BCD 방식이 TBWinPE.exe 보다 재시작이 빠르다는것도 하나의 장점이죠..클릭하면 바로 재부팅합니다
11. PE로 부팅을 하였습니다. BCD에 winload.efi 파일 경로는 등록되어 있지 않습니다..원칙을 등록하는것이 맞습니다
등록하지 않아도 부팅이 되는데는 이유가 있을것입니다..BCD에 PE라로 등록이 되어서 인지는 모르겠습니다만..부팅이 된다는것이 중요
하죠..BCD에 모르는 기능이 있나 봅니다
12. Xemom1 PE는 System32 폴더에 winload.efi 파일이 없고 boot 폴더에만 있는 PE입니다
13. PE로 부팅을 하였습니다.. winload.efi 파일경로는 없습니다
14. 다른 PE로 부팅을 하여 보겠습니다..
15. PE 부팅이 되었습니다
16. 이 PE는 지니제스트님 댓글에 글이 있어서 확인을 하여 본것입니다.. 특이한 구조로 되어 있는 PE네요
17. 여기에 프로그램 파일들이 있는 방식입니다..
18. 1회 부팅을 하여 보겠습니다
19. 저는 PE인지만 구분을 해서인지 바로 PE로 부팅이 되었습니다..
20. 마무리
지니제스트님의 특별한 사진들 덕분에 BCD에 PE 등록시에 winload.efi 파일을 등록하지 않아도 PE 부팅이 된다는것을 알게되어서 PEBoot
프로그램에 적용을 하여 보았습니다
최소한 지니제스트님의 실컴에서 TBWinPE.exe로 부팅시에 winload.efi 파일을 등록하지 않아도 부팅이 되었고 저의 경우 가상이지만 Wi10
이 설치된 UEFI 시스템에서 winload.efi 를 BCD에 등록하지 않아도 PE로 부팅이 되었습니다
서로 다른 컴퓨터 환경인데 winload.efi를 등록하지 않아도 부팅이 된것은 BCD에 알지 못하는 기능이 있는것 같습니다
PE 1회 부팅 관련해서는 많은 분들이 직접 만드신 작품들이 있는것으로 알고 있습니다
winload.exe나 winload.ef 파일 경로를 등록하지 않고 PE 부팅을 하여 보시는것도 재미가 있으실것 같습니다
다양한 컴퓨터 환경에서 다른 분들도 PE 부팅이 잘된다면 정석은 아닐지 몰라서 BCD에 자동 검색하는 능력이 있는것으로 생각해도 될것
같습니다
winload.exe나 winload.efi 를 등록하는것이 필요가 없다면 UEFI 구분을 할 필요가 없고 winload.efi 파일 경로에 대해서도 신경을 쓰지
않아도 되어서 조금은 편해질것 같습니다
지니제스트님 감사합니다..덕분에 신기한것을 알게 되었습니다
서울을 해가 있습니다..저녁부터 비가 온다고 합니다
피해가 없으시길 바랍니다
댓글 [18]
-
스마일^_^ 2023.07.22 13:34
-
dakija 2023.07.22 13:52
연구가 대단하십니다
수고 많으셨습니다
-
모세 2023.07.22 14:25
대단하십니다. 수고하셨습니다.
그리고 멀티부팅 문제는
각각의 파티션에서 백업한 것으로만 정상 부팅이 되었습니다.
제가 아직 모르는 것이 있는지는 모릅니다. 감사합니다.
-
왕초보 2023.07.22 21:03
가상에서 테스트 할때 Win10 백업 파일로 Win10-2에 복원을하고 레지에서 드라이브 문자 레지만 모두 삭제하고 하는 경우
같은 컴퓨터여서 바로 부팅이 되었습니다.
다른 컴퓨터에서의 부팅은 드라이버등 관련 파일들 때문인것 같습니다..
무봉인으로 만들거나 봉인을 해서 백업을 해야 하나 봅니다
-
우인 2023.07.22 15:15
수고많이하셨습니다.
-
개골구리 2023.07.22 15:42
수고많이하셨습니다.
-
고감맨 2023.07.22 17:17
수고하셨습니다.
-
suk 2023.07.22 18:03
MS는 오래전 윈도우 7도 윈도우와 PE [boot.wim 또는 winre.wim]의 Path를 구분했습니다
윈도우는 \windows\system32\winload.xxx
PE는 \windows\system32\boot\winload.xxx
xxx는 exe 또는 efi 입니다
저도 초창기에 만든 wim 부팅 배치 파일에서는 \windows\system32\winload.xxx으로 했습니다
그래도 윈도우나 PE나 보통 2가지 경로에 전부 부팅 파일이 있기 때문에 별 문제는 안 되는데요
가끔 경량 PE 중에서 2가지 중에 1개 파일이 삭제된 경우가 있어서 부팅 오류가 생길 수 있습니다
보통 \windows\system32\winload.xxx를 삭제하시더군요
스샷은 윈도우7 SP1 순정 iso의 bcd 입니다
bcd 파일을 외부로 추출하여 확인했습니다
winload.exe만 올렸습니다만 winload.efi도 경로가 같습니다
아..bcd 파일의 수정한 날짜가 현재 시간으로 되어 있네요. bcd는 확인만 해도 수정한 날짜가 변경됩니다.
확인해보신 분들은 아시겠습니다만, 스샷만 보시면 오해하실 수 있어서 내용 추가합니다
예전에 윈도우 7 ~ 윈도우 11까지 확인했습니다. 전부 스샷을 올리면 길어지니까 1가지만 올립니다
-
왕초보 2023.07.22 21:00
이렇게 자세히 설명을 해주셔서 진심으로 감사드립니다
윈도우는 \windows\system32\winload.xxx
PE는 \windows\system32\boot\winload.xxx
이렇게 설명을 해주시고 ISO 파일이서 BCD 경로에 표시된것까지 알려주셔서 이해를 하는데 큰 도움이 되었습니다
Windows7 부터 이렇게 활용을 하고 있었네요..
그런데 다른 부분들에서 PE 등록할때 \windows\system32\winload.xxx 방식으로 하는 설명들이 있어서 둘가지에서 혼란이
되었던것 같습니다
아래 링크는 유명하신분 블러그 입니다
윈도우 7 - WIM 이미지를(PE 를) 부팅 목록에 추가하기
https://shinb.tistory.com/305
이 블러그에 MS 문서에 관한 링크가 있습니다
http://technet.microsoft.com/ko-kr/library/cc721886(WS.10).aspx
여기에서는 아래처럼 설명을 하고 있습니다
bcdedit /set {GUID} path \windows\system32\winload.exe
아래 사진은 Win7 실컴에서 Winre.wim 등록 경로 입니다]
여기에서도 \windows\system32\winload.exe 로 등록이 되어 있습니다..이런 부분들 때문에 혼란이 있었던것 같습니다
BCD 관리에 사용되는 bootice에서 PE 등록시에 windows\system32\boot\winload.xxx 경로에 등록을 하는것도 이유가 있을것입니다
이번 기회에 winload.xxx 등록 경로에 대해서 정리가 되었으면 좋겠습니다. 그래야 PE를 만드시는 분도 한곳에만 파일을 추가해도 되어서 편하실것 같습니다
사용기에의 경우 아예 winload.xxx 파일 경로를 등록하지 않아도 BCD에서 알아서 \windows\system32\boot\winload.xxx 경로에
있는 파일로 부팅을 합니다..정확한 문서가 없어서 확인을 되지 않지만 경로 등록을 하지 않은 경우 BCD에서 알아서 boot 폴더에 있는
파일을 찾아서 활용을 하는것 같습니다. 좀더 관련 자료들을 찾아보아야 할것 같습니다
-
suk 2023.07.22 22:06
winre.wim 부분은 제가 전부 확인한 것은 아닙니다. (winre.wim은 위에서 쓸까말까 했는데, 괜히 추가한 듯 하네요)
boot.wim은 윈도우 설치 iso으로 위에 스샷처럼 전부 확인했었습니다
저는 이론/설명을 말씀드린 것이 아니라, 실제 윈도우 설치 iso에 boot.wim이 어떻게 등록되어 있는가를 말씀드린 겁니다
위에 댓글에 썼듯이, 사실 어떻게 path를 등록해도 보통은 2군데 전부 해당 파일이 있기 때문에 문제가 되지 않는데
종종 경량화 때문에 파일이 삭제되어서 문제될 수 있습니다
제가 말한 것은 bootice.exe도 참고한 것입니다 (MS의 부팅 path와 동일)
말씀대로 윈도우는 System32 폴더, PE는 System32\boot 폴더의 winload.xxx로 등록됩니다
path를 생략하는 방법은 저도 처음 알게된 방법인데요. 조금 충격적이더군요
wim 부팅 가능성이 많아져서 좋지만, path가 없으면 의문을 가지시는 분들도 계실 듯 합니다
-
왕초보 2023.07.22 22:48
suk님께서 말씀하여 주신 부분이 실제 활용이 되고 있는 부분이라는것이 맞는 말씀입니다
윈도우는 \windows\system32\winload.xxx
PE는 \windows\system32\boot\winload.xxx
이렇게 실제 사용이 되고 있는데 다른 분들의 경우 \windows\system32\winload.xxx 경로를 사용하는분들이 있으셔서 이런분들의
경우 MS 문서나 Winre.wim이 등록된 경로를 보고 \windows\system32\winload.xxx를 활용을 하실수도 있어서 이런것들로 인해서
혼동이 되고 있는것 같아서 댓글에 추가를 하게 된것입니다
MS 문서나..Winre.wim이 PE는 \windows\system32\boot\winload.xxx 이렇게 등록을 해야 한다고 명시를 해주었다면 두가지
방식이 사용되는 방법은 없을것 같습니다
이번 기회에 PE는 \windows\system32\boot\winload.xxx 이렇게 통일을 하는 방향으로 한다면..PE를 만드시는 분이나 PE를 등록
하시는분 또는 1회 부팅을 하는 프로그램을 만드는분들도 모두 같은 방식이어서 윈포에서 만큼은 부팅이 되지 않은 경우가 생기지
않을것 같습니다
제가 좀 방향이 엉뚱한 댓글을 쓰는 바람에 불편을 드려서 죄송합니다
suk님의 글로 \windows\system32\boot\winload.xxx 방식으로 등록을 해야 하는것에 대한 믿음이 더 커졌습니다
감사합니다
winload.xxx를 아예 등록하지 않은 경우도 부팅이 되는 것을 보면 BCD에 등록되지 않은 경우에 \windows\system32\boot\winload.xxx 을 활용해서 부팅을 하도록 기능이 내장이 되어 있나 봅니다..등록하는것이 필수라면 등록하지 않을때 부팅이되지 않아야 하는데..
부팅이 될때에는 이유가 있을것 같습니다... BCD 관련 MS 문서에는 \windows\system32\winload.xxx 경로로 등록하는 것이 설명이
되어 있는데 ISO 파일에 실제 사용한것은 \windows\system32\boot\winload.xxx 경로처럼 MS 문서에는 없지만 실제 BCD에 어떤
기능이 있어서 winload.xxx 가 등록되지 않은 경우에 대한 조치가 있을수도 있을것 같습니다
자세한 답글에 진심으로 감사드립니다
항상 좋은일만 있으시길 바랍니다
-
pria 2023.07.22 19:23
수고하셨습니다.
-
광풍제월 2023.07.22 19:32
수고하셨습니다.
-
GreenTea 2023.07.22 21:31
왕초보님 감사드립니다.
지난 댓글로 인해 해결되었습니다.
즐거운 주말 되세요~!
-
왕초보 2023.07.22 21:48
저도 궁금했었습니다.
이렇게 결과를 알려주셔서 감사합니다
편안하신 시간이 되시길 바랍니다
-
개골구리 2023.07.23 03:38
수고하셨습니다.
-
매화꽃 2023.07.23 07:49
수고많으셨습니다.
-
상발이 2023.07.23 09:54
수고하셨습니다.
수고하셨습니다.