설치 / 사용기

기 타 suk님 새로운 1회부팅, BCD 흔적 삭제를 적용하여 보았습니다

2023.07.27 13:01

왕초보 조회:730 추천:17

먼저 좋은 지식을 배풀어 주신 suk님께 진심으로 감사드립니다

 

새로운 PE 1회 부팅방법이 너무 좋습니다.. 이렇게 좋은 방법이 있었다니..그 동안 노력이 헛고생을 한것 같은 느낌입니다

기존의 1회 부팅에서는 BCD 삭제, 램옵션 등록, 메뉴에 등록 이렇게 3번에 걸쳐서 cmd의 경우 for 문을 사용을 합니다..

이 방식이 for문이 없는것에 비해서는 시간이 걸립니다

 

suk님 방식에서는 새로운 PE 1회 부팅방법에서는 GUID 값을 고정된것을 사용하기 때문에 for문이 필요가 없습니다

구불구불한 길을 가다가 일직선으로 뻗은 길을 가면 그만끔 빠르겠죠..제가 느끼기에는 확실히 빨라졌습니다

 

suk님께서 소개를 하여 주신 방법이 2가지 입니다

 

가. 외국 PE에서 BCD에 흔적을 삭제하는 소스입니다

   외국 PE에서는 bcdedit.exe를 실행시에 GUID 값을 나타내는 identifier 항목이 현지어로 나와서 기존 소스로는 삭제를 하지 못합니다

   이것을 해결하기 위해서 nov님께서는 System32 폴더에 있는 bcdedit.exe를 Windows 폴더에 복사후 사용하는 방법을 알려주셔서

   저의 경우 오토잇과 cmd 버전 둘다 이방식을 적용을 하였습니다

 

   suk님께서는 bcdedit.exe가 System32폴더에 있어서 identifier 가 현지어로 보이는것을 Find.exe를 사용해서 GUID 값을 추출하는 방법

   입니다.

   댓글에 업데이트 해주신 cmd는 아주 잘됩니다.. 

  

  결론부터 말씀을 드리겠습니다., Find.exe가 여러번 사용이 되어서 속도가 느립니다.. suk님께서 고민을 하시고 만들어 주신 소스입니다만

  이소스는 새로운 PE 1회 부팅방법 때문에 전혀 필요가 없게 되었습니다

 

  suk님께서 업데이트 해주신 내용입니다

 

for /f "tokens=2" %%a in ('"bcdedit /enum all  /v | find "   {" | find "-""') do bcdedit /enum %%a | find "description   " | find /i "   PEBoot" && bcdedit /delete %%a /f /cleanup

 

나  새로운 PE 1회 부팅방법 입니다

 

   저의 기준입니다만..이 방법이 최고인것 같습니다.. suk님 감사합니다

   아래는 suk님께서 알려주신 방법입니다. GUID 값이 고정값이어서 등록 삭제시 for 문이 필요없어서 속도가 빠릅니다

   GUID 값이 고정이어서 등록할때마다 먼저 삭제후 등록을 해주어야 합니다

 

bcdedit /delete {11111111-1111-1111-1111-111111111111} /f /cleanup >nul 2>nul

bcdedit /delete {00000000-0000-0000-0000-000000000000} /f /cleanup >nul 2>nul

 

bcdedit /create {11111111-1111-1111-1111-111111111111} /application osloader /d "PEBoot"

bcdedit /create {00000000-0000-0000-0000-000000000000} /device /d "PEBoot"

 

   결론부터 말씀드리겠습니다 위의 소스는 그대로 사용을 할수가 없습니다..하지만 답이 같이 있습니다

   {00000000-0000-0000-0000-000000000000} 값이 문제입니다

 

   저는 처음에 {11111111-1111-1111-1111-111111111111}로 BCD 메뉴에 등록한것이 문제가 있는 줄 알았습니다

   검색하던중에 찾은 소스입니다 아래는 러시아 사이트에서 있는 것입니다.. 2017년 3월에 쓴 글이네요..

   {11111111-1111-1111-1111-111111111111} 로 BCD 메뉴에 등록을 하는 소스입니다  

   {11111111-1111-1111-1111-111111111111} 와 {ramdiskoptions} 를 사용하고 있습니다..잘 됩니다

 

bcdedit /create {11111111-1111-1111-1111-111111111111} /d "Asp.Style" /application osloader >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} device ramdisk=[%systemdrive%]\bost\boot.wim,{ramdiskoptions} >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} inherit {bootloadersettings} >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} locale ru-ru >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} nointegritychecks yes >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} testsigning yes >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} osdevice ramdisk=[%systemdrive%]\bost\boot.wim,{ramdiskoptions} >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} systemroot \windows >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} detecthal yes >nul

bcdedit /set {11111111-1111-1111-1111-111111111111} winpe yes >nul

bcdedit /displayorder {11111111-1111-1111-1111-111111111111} /addlast >nul

bcdedit /create {ramdiskoptions} >nul

bcdedit /set {ramdiskoptions} ramdisksdidevice partition=%systemdrive% >nul

bcdedit /set {ramdiskoptions} ramdisksdipath \bost\boot.sdi >nul

 

이 러시아분 소스에는 Winload.xxx를 등록하는 path 부분이 없습니다..외국에서 이렇게 활용하시는 분이 있으셨네요

위의 소스를 보고 문제가 있다고 한 내용을 아시는 분도 있으실것 같습니다

 

아래는 {00000000-0000-0000-0000-000000000000} 를 구글에서 검색했을때 나오는 것들중에 하나입니다

 

https://stackoverflow.com/questions/7001362/guid-of-00000000-0000-0000-0000-000000000000-causing-merge-index-violation

 

{00000000-0000-0000-0000-000000000000} 값이 주로 에러가 발생할때 보이는 값인것 같습니다..GUID를 만들었는데 이 값이 유효

하지 않는 값이라고 하네요...이 값대신에 잘되는 {11111111-1111-1111-1111-111111111112} 것에서 숫자하나만 바꾸었습니다

이 값으로는 아주 잘됩니다

 

저는 앞으로 PE 1회 부팅에 suk님게서 알려주신 새로운 PE 1회 부팅방법을 사용할것 같습니다

 

사용기의 사진들을 보시면 쉽게 이해가 되실것 같습니다

 

1. 1번처럼 inedtifier 항목에서 GUID 값을 찾아서 메뉴를 삭제하고 있습니다 외국 PE에서는 이 부분이 현지어로 나와서 GUID 값을 찾지

  못해서 작동을 하지 못합니다

  

   2번 제가 bcdedit.exe 대해서 아는것이 없어서 램옵션을 만들때 만들고나서 이름을 바꾸는 방식을 했었습니다..3번에 보시면 이름으로

   바로하는 소스가 있는데 제눈에는 보이지 않았나 봅니다..DengJang님 댓글을 보고 갑자기 생각이 나서 적용을 해보았더니 아주 잘됩

  니다...DengJang님 감사합니다..

1.jpg

 

2. 중국 PE로 여러번 부팅을 한 상태입니다.. 그동안은 사용기를 쓰기 위해서 PE 부팅 확인 메세지가 있었습니다..이것 없이 테스트를 하던중

  에 보이까 이상하게 중국 PE에서 몇초 딜레이가 있네요..윈도우에서는 바로 재부팅이고 왕자님 저용량 PE에서는 윈도우보다는 느리지만

  순간이 지나면 재부팅이 됩니다..이렇게 딜레이가 되는 PE가 있을수 있어서 메세지 프로그램에 아래 기능을 추가를 하였습니다

   cmd에서 PE일때만 실행이 되도록 하였습니다.. 한글이 네모로 보여서 한글이 아닌 경우 영문으로 보이게 하였습니다

2.jpg

 

3. cmd 실행시 삭제를 하지 못해서 위에 4개 아래에 4개가 등록이 되었습니다

3.jpg

 

4. suk님께서 업데이트 해주신 소스입니다..find.exe가 3번 사용이 되고 있습니다

4.jpg

 

5. cmd 실행시에 휙~하고 지나가는것 아니라 하나씩 삭제가 되고 있구나 하는것을 느낄수 있습니다..find.exe를 3번 사용하고 있어서 조금

  느릴수 밖에 없을것 같습니다...아쉽게도 이 소스는 새로운 PE 1회 부팅방법 때문에 실전에 활용하지 못하게 되었습니다

5.jpg

 

6. 깨끗히 삭제되었습니다..suk님 감사합니다..

6.jpg

 

7. GUID 값을 {11111111-1111-1111-1111-111111111111}와  {00000000-0000-0000-0000-000000000000}를 활용한것입니다

   PE에서는 간단한 메세지를 보여주도록 하였습니다.. 고정된 GUID값을 사용하면서 for 문이 없어져서인지 재부팅이 빨라졌습니다

7.jpg

 

8. 랩옵션이나 메뉴 등록시에 for문이 필요가 없습니다.. 저는 path에 등록 없이 활용을하고 있습니다

8.jpg

 

9. 사용기용으로 메세지가 있게 했습니다만..메세지없이 진행을 하여 보겠습니다..윈도우에서는 바로 재부팅이 됩니다

9.jpg

 

10. 저 같은 초보에게는 어려운 순간이죠..다행이 가상에서 테스트를 한것이어서 ISO 파일로 부팅을 진행하였습니다

10.jpg

 

11. 러시아분 소스를 보기전에는 BCD 등록 메뉴를 여러번 살펴보아도 잘못된 부분이 없었습니다

11.jpg

 

12. 램옵션 등록도 잘못된 부분이 없습니다..이유는 GUID 값 때문으로 생각을 했습니다

12.jpg

 

13. 다른 램옵션으로 설정을 변경하여 보았습니다

13.jpg

 

14. 이 램옵션이 적용이 되었습니다

14.jpg

 

15. 부팅이 되지 않습니다

15.jpg

 

16. 이 부분을 삭제를 하여 보겠습니다..사용기에서는 이미 다 알고 정리를 하는것이어서 간단히 해결이 된것처럼 보일것 같습니다

  구글에서 검색을 하다가 러시아어로 된것에서 {ramdiskoptions}를 사용하는것을 보고 하나씩 테스트하여 보면서 알게된것입니다

16.jpg

 

17. 아예 램옵션을 삭제를 하였습니다

17.jpg

 

18. 윈도우에서 1회 부팅을 한것으로 부팅이 되었습니다..BCD 메뉴가 아니라 램옵션이 문제였습니다

18.jpg

 

19. 구글에서  {00000000-0000-0000-0000-000000000000}로 검색을 하면 에러시에 이 값이 나오는것 같아서 잘되는 BCD 메뉴값에 숫자

  하나만 바꾸어 보았습니다..

19.jpg

 

20. BCD 흔적 삭제 테스트를 위해서 PE 부팅시에 우클릭에 자동 등록이되게 하였습니다

20.jpg

 

21. GUID값을 바꾸어서 PE로 부팅이 잘되었습니다..우클릭에 자동 등록이 되었습니다

21.jpg

 

22. cmd가 실행이 되면 제일먼저 BCD 흔적부터 삭제를 합니다

22.jpg

 

23. for문이 있을때 보다 빨라져서 아래 안내글이 보이고 바로 재부팅이 되네요

23.jpg

 

24. 중국 PE에서도 재부팅이 빨라진 느낌입니다

24.jpg

 

25. 여러번 부팅을 해도 cmd 실행시에 기존것을 삭제하고 새로 등록을 하기 때문에 항상 1개만 있습니다

25.jpg

 

26. 윈도우 부팅후 깨끗이 삭제가 되었습니다

26.jpg

 

27. 마무리

suk님께서 알려주신 새로운 PE 1회 부팅방법 때문에 저 나름대로는 열심히 공부했던것들이 다 소용이 없게 되어서 좀 허무하기는 합니다

그래도..너무 좋은 방법이죠..소스도 간단해지고..속도도 빨라지고..저만의 생각일수도 있지만 PE 1회 부팅에는 제일 좋은 방법 같습니다

PE 1회 부팅에 관심이 많으신 분이시라면 한번 활용해 보시는것이 좋을것 같습니다

 

suk님 좋은것을 배웠습니다..진심으로 감사드립니다

 

장마가 끝나고 무더위가 시작되었습니다

건강에 유의하시길 바랍니다

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
10031 기 타| [종료]pe_boot (bcdedit) .cmd [Final] [19] DengJang 894 63 07-30
10030 기 타| [공유] Windows11XPE_23511_1000 [92] 우인 1588 196 07-30
10029 기 타| IFW BR에 다국어 Language.ini 를 적용을 하여 보았습니다 [9] 왕초보 703 26 07-30
10028 모 바 일| 갤럭시 A32 5G 액정 교체하기 [8] gooddew 986 15 07-29
10027 기 타| [종료]pe_boot (bcdedit) .cmd - v5 [20] DengJang 754 46 07-29
10026 소프트웨어| [공유] Windows11 XPE 22H2(22621.2070) [98] 시종일관 2833 226 07-28
10025 기 타| 파일 교체 요 [38] 집앞의_큰 1237 91 07-27
10024 기 타| PE 1회 부팅 PEBoot에 새로운 방식을 적용하여 보았습니다. [8] 왕초보 776 27 07-27
10023 윈 도 우| July 26, 2023—KB5028254 (OS Build 22621.2070) [5] 4k8k 540 19 07-27
10022 기 타| [종료]pe_boot (bcdedit) .cmd - v3 [24] DengJang 797 45 07-27
10021 기 타| 19045.3271 무봉인 설치 파일 [44] 집앞의_큰 1125 102 07-27
» 기 타| suk님 새로운 1회부팅, BCD 흔적 삭제를 적용하여 보았습니다 [13] 왕초보 730 17 07-27
10019 윈 도 우| Lightning11pe_230623_FIX 업데이트(2ea) [31] sunshine 1475 72 07-27
10018 소프트웨어| [종료]소프트메이커 오피스 단일파일(0726) [19] DengJang 769 44 07-26
10017 기 타| cmd RunOnce Boot PE [3] GreenTea 568 10 07-26
10016 기 타| bcdedit.exe를 temp 폴더에 두고 사용을 하여 보았습니다 [5] 왕초보 655 15 07-26
10015 기 타| 외국 PE에서 BCD 흔적이 삭제가 되지 않습니다 [12] 왕초보 744 13 07-26
10014 기 타| [종료]pe_boot (bcdedit) .cmd - 수정본 [17] DengJang 776 45 07-26
10013 기 타| BCD 에서 ramdiskoptions 을 원하는 이름으로 하기 입니다 [10] 왕초보 688 23 07-25
10012 윈 도 우| 바로가기 아이콘에... [30] 집앞의_큰 816 59 07-25
XE1.11.6 Layout1.4.8