기 타 PureBasic - Bootice Menu 쉬운,고급,Uefi 부팅으로 구성하여 보았습니다
2024.05.22 09:49
PE를 활용하게 되면서 Bootice이 필수 프로그램이 되었습니다..
Bootice은 기본, 쉬운(초보), 고급으로 3가지 모드가 있습니다 쉬운, 고급 모드로 들어가기 위해서는 몇번의 클릭이 필요합니다
그리고 Uefi 시스템일 경우 재부팅시에 바이오스 설정으로 들어가는 기능도 있습니다..이것도 클릭을 여러번 해야 하기는 합니다
입니다님께서 전원 버전에 BIOS, UEFI 구분을 할수 있고 Uefi 시스템의 경우 바이오스로 부팅을 할수 있는 기능을 추가해주셨습니다
저의 경우 재시작, 종료를 각각 프로그램으로 만들어 바로 부팅을 하는것으로 하고 있어서.. 바이오스 부팅을 활용하기 Bootice을 쉬운 고급
으로 바로 실행하는 프로그램을 별도로 만들어 활용을 하여보았습니다
시작은 윈도우에서 간단하게 사용하는것으로 했습니다
PE에서 Bootice으로 BCD를 편집하려고 하는 경우 대화상자에서 BCD 파일을 선택을 하는 과정이 있어서 이 부분이 불편합니다..
저도 이부분이 불편하기는 하였습니다..테스트 하시는 분도 이 부분에 대한 요청이 있으셨지만..bcdedit.exe 명령어로 부팅 파티션을 찾으려
고 하는 경우 MBR은 드라이브 문자 추출이 가능합니다..Uefi의 경우 bcdedit.exe 명령어에 있는 ESP 드라이브 이름과 PE에서 숨김파티션을
해제한 ESP 드라이브 이름(볼륨명이 아닙니다)이 달라서 바로 부팅 파티션으로 BCD 파일을 찾을수가 없습니다
아쉽게도 모든 고정식 드라이브에서 bcd 파일을 검색해서 선택후 bootice를 실행하는 방식으로 하였습니다
이부분이 많이 아쉽기는 합니다.. 아직은 능력 부족입니다 아쉬운 마음에 괜히 글이 길어졌네요
아래는 입니다님께서 소스를 공개하여 주신 프로그램입니다. 입니다님 감사합니다
레지 등록 기능과 DPI 지원이 새로 추가가 되었습니다...혹시 구버전을 다운 받으신분들을 새로 받으십시요
전원 단추 - BIOS 설정 API. 레지등록. HighDPI 지원
https://windowsforum.kr/review/20705349
1. BCD 관련해서 쉬운,고급 모드를 사용하기 위해서 바로기가에 명령어 옵션을 주어서 아래처럼 3개 바로가기를 사용하고 있습니다
바로가기 갯수가 3개나 되는것이 좀 그렇죠..
2. GPT 파티션의 속성 설정을 할수 있는 이 버전을 사용하고 있습니다..x86 버전이어서 64ibt 전용 PE에서는 사용할수가 없습니다
3. 펌웨어 설정으로 바로 부팅을 할수 있는 메뉴가 있습니다...
4. 체크를 하면 아래처럼 안내 메세지가 나옵니다..나오지 않는 한글 버전도 있는것 같기도 합니다...확인후 재시작을 하면 됩니다
5. 바이로스 설정으로 부팅이 되었습니다...이미 다 알고 계시는 내용이실것입니다..모르셨던분들은 참고만 하여 주십시요
6. bootcie.exe 파일이 같이 있습니다 제목창에 UEFI 모드 표시가 되고 펌웨어로 부팅을 할수 있는 버튼이 보입니다
7. 기본 버튼 클릭시에는 bootice를 실행합니다
8. 실해한 bootice를 종료하면 다시 메뉴가 나옵니다
9. 쉬운모드로 실행이 되었습니다..윈도우에서는 bootiec에서 알아서 BCD를 찾아 이렇게 실행을 해주고 있죠..
10. UEFI 버튼 클릭시에는 바이오스 설정으로 부팅을 한다는 메세지가 나옵니다 Bootice Menu에서는 아이콘 dll 파일을 사용하지 않아서
윈도우에 있는 dll 아이콘을 보여주고 있습니다
11. 바이오스 설정으로 부팅이 되었습니다
12. PE에서 실행한 모습입니다.. UEFI 모드 표시를 하고 있습니다
bootice로 쉬운,고급 모드를 사용을 하려고 하면 BCD를 찾아주어야 합니다
13. 버튼을 클릭하면 BCD를 찾아서 아래처럼 바로 실행을 합니다. 아래는 BCD가 1개만 있는 경우어서 바로 실행이 된것입니다
14. BCD가 1개만 있어서 전문가 모드도 바로 실행이 되었습니다
15. 바이오스 설정으로 부팅 확인 메세지입니다
16. 바이로스 설정으로 부팅이 되었습니다
17. ESP 파티션에 있는것 외에 다른 파티션에 efi 폴더를 추가를 하여 보았습니다..테스트용입니다
18. 프로그램을 실행하였습니다
19. PureBasic에서는 처음으로 메세지에 라디오 버튼을 넣어 보았습니다..새로운 폼을 만드는것보다는 컬러바가 있어서 보기가 좋은것 같습
니다.. 검색된 BCD 파일이 2개 이상이면 아래처럼 선택 메세지가 나옵니다..
20. 추가한 efi 폴더가 ISO 파일에 있는것이어서 아래처럼 보입니다
21. 두번째 것을 선택하여 보았습니다
22. 윈도우에서 사용하는 BCD 입니다..bcdedit.exe 명령어에 있는것으로 파티션을 특정할수 있으면 선택 메세지도 필요가 없습니다
ESP 파티션을 숨김해제하는 경우 bcdedit.exe 명령어에 있는것도 다른것으로 표시가 되어서 특정할수가 있습니다..앞으로도 더 열심히 배
워야 할것 같습니다
23. 전문가 모드 실행시에도 선택 메세지가 나옵니다
24. 선택한 BCD로 전문가 모드가 실행되었습니다
25. 다른 파티션에 efi 폴더를 추가를 하여 보았습니다
26. 검색된 BCD를 모두 보여주고 있습니다
27. 선택한 BCD로 쉬운 모드가 실행 되었습니다
28. MBR 시스템입니다..boot 폴더를 2개 만들어 보았습니다
29. 제목창에 BIOS로 표시가 되었습니다..UEFI 버튼은 없습니다
30. BCD 파일이 2개여서 선택 메세지가 나왔습니다
31. 선택한 BCD 파일로 쉬운 모드가 실행되었습니다
32. 전문가 모드로 실행을 하였습니다..선택 메세지가 나왔습니다
33. 선택한 BCD 파일로 전문가 모드가 실행 되었습니다
34. PureBasic을 만든 64bit 프로그램입니다..아래처럼 검출이 되었습니다
35. 마무리
입니다님께서 BIOS, UEFI를 구분할수 있는 소스를 공개하여 주신 덕분에 이렇게 새로운 프로그램 활용을 할수가 있었습니다
입니다님 진심으로 감사드립니다...좋은일만 있으시길 바랍니다
PE에서 부팅 파티션의 BCD를 바로 찾을수만 있으면 좋을것입니다...
UEFI에서 ESP 파티션이 하드 각각에 있는 경우 특정할수가 없을것 같기도하고 해서 결국은 BCD를 모두 검색하는것으로 한것이 아쉬운
부분입니다..
bootcie에서 BCD 파일을 대화상로 찾는것보다는 편한것에 만족을 해야 할것 같습니다
오늘 하루도 즐거운 일만 있으시길 바랍니다
-------------------------------------------------------------------------------------
여담입니다...사용기에 있는 내용중에서 BCD 검색을 하게 된 사연입니다
1. UEFI 시스템일때 PE에서 bcdedit.exe 실행 결과 입니다...1번에 표시면 BCD가 있는 파티션을 표시하여 주고 있습니다
ESP 파티션을 숨김 해제한 상태입니다..
2. bcdedit.exe와 방식이 조금 다른가 봅니다..오토잇으로 검색한 결과 입니다..ESP 파티션이 숨김 해제가 되어서 bcdedit.exe에서 보여주는
이름으로 표시가 되지 않고 디스크번호, 파티션 번호로 보입니다..다른 숨김 파티션이 여러개 일때 bcdedit.exe에서 보여주는 파티션이라고
특정할수가 없습니다
3. PureBasic으로 만든 프로그램도 오토잇과 같은 방식이어서 숨김이 해제된 ESP 파티션을 디스크 번화 파티션 번호로 보여줍니다
4. MBR 시스템입니다..너무 좋죠...드라이브 문자로 보여줍니다..MBR에서도 숨김파티션이 있고 활성으로 되어서 부팅 파티션이 따로 있는
경우도 있습니다 이 경우에는 확인을 하지 못하였습니다
---------------------------------------------------------------------------------------------------------
추가 입니다
UEFI 시스템의 경우 mountvol.exe로 ESP 파티션을 숨김해제를 할수가 있습니다..
확인을 해보았더니 mountvol.exe로 ESP를 숨김해제 하는 경우 bcdedit.exe와 같은 결과가 나옵니다..
아예..사용하지 않은 B: 드라이브로 해제를 한다면 검색 할 필요도 없을것 같습니다..다양한 환경에서 테스트를 해봐야 할것 같습니다
1. mountvol.exe로 ESP 파티션을 숨김해제를 하고 나서 다른 숨김 파티션 해제를 위해서 SHOW를 하였습니다
2. mountvol.exe로 해제한 경우 bcdedit.exe와 같은 이름으로 됩니다.. 이름이 일치하는것을 찾기보다는 마운트한 드라이브를 찾는것이 더
바람직한 방법인것 같습니다..
---------------------------------------------------------------------------------------------------------
추가 입니다
mountvol.exe을 활용을 해볼까 했습니다만..이것이 ISO로 부팅을 하는 경우에는 ESP 파티션을 마운트 하지 못합니다
하드에 있는 BCD로 부팅을 하는 경우 ESP 파티션을 찾을수 있나 봅니다..Ventoy로 부팅을 하는 경우에도 BCD를 사용하지 않아서 같은
현상이 있을것 같기도 합니다
1. 두번째 윈도우의 ESP-2에 있는 BCD로 PE 부팅을 하였습니다..부팅에 활용한 BCD가 있는 파티션을 mountvol.exe에서 Z:로 마운트를 하여
주었습니다
2. ISO로 부팅을 한 경우 입니다..ISO에 있는 BCD가 사용이 되어서 이 BCD가 있는 드라이브를 마운트해야 하는데 ISO 파일이어서 CD롬
입니다.. 결국 하드에 있는 ESP 파티션들을 마운트가 되지 않았습니다...이 방식을 활용을 할수가 없을것 같습니다..
---------------------------------------------------------------------------------------------------------
추가 입니다
MBR에서도 하드 맨앞에 FAT32 파티션을 만들고 활성에 Boot 폴더가 있는 경우 PE에서 SHOW로 숨김 해제를 한 경우에 아래처럼 나옵니다
C: 파티션에 Boot 폴더가 있는 경우에만 C:로 표시가 되네요.. 쉬운것이 없는것 같습니다.
댓글 [13]
-
스마일^_^ 2024.05.22 10:03
-
뭘더 2024.05.22 10:11
감사합니다.
-
수리수리 2024.05.22 10:44
수고 하셨습니다^^
윈도우가 두개 설치된
컴 있을때 bcd선택 하기가
편할것 같아요^^
가끔 컴 보면
ssd 업글하면서 기존하드 데이터
때문에 2개 연결해서 사용하는
컴들이 있을때 편할것 같습니다^^
-
왕초보 2024.05.22 10:52
예..ESP 파티션이 2개인 경우가 있습니다...
bcdedit.exe에서 부팅시에 사용된 BCD 파일 위치를 알수가 있습니다
이것을 활용하면 되는데 저의 경우 pecmd.ini에서 SHOW 명령어러 숨김 해제를 하는 경우 문제가 됩니다
사용기에 추가를 여담글을 쓰면서 ESP 파티션을 숨김해제 하지 않고 여담글을 쓰면서 아이디어가 mountvol.exe을 적용을 하여보았더니
이것을 윈도우 자체에서 숨김해제를 하는것이어서 bcdedit.exe에서와 같은 결과가 나옵니다
사용하지 않은 B: 드라이브로 해서 해서 하면 될것 같기도 합니다..ESP가 2개 일때 확인을 해봐야 할것 같습니다
MBR일때 숨김파티션에 BCD가 있는 경우도 확인을 해보야겠네요..
EXEC @=%WinDir%\System32\LetterSwap.exe /auto /log %WinDir%\LetterSwap.log
EXEC @=%WinDir%\System32\mountvol.exe Z: /s
SHOW -1:-1
--------------------------------------------------------------------------
하드에 있는 BCD로 PE를 부팅하는 경우에는 mountvol.exe 이 정상 작동하지만..ISO 파일로 부팅시에는 작동을 하지 않네요
이 방법을 사용을 할수가 없을것 같습니다
선택해야 하는 불편이 있지만..모든 BCD 파일을 검색을 하는 방법으로 해야할것 같습니다
-
수리수리 2024.05.22 12:07
제가 이해가 늦어서
여러번 봐야 이해가 되서
이제 조금 이해 했어요
감사합니다^^
-
하늘소 2024.05.22 10:54
수고가많으십니다
-
REFS 2024.05.22 11:09
수고하셨습니다..
-
타천사둘리 2024.05.22 12:10
수고하셨습니다.감사합니다.꾸~~~벅
이게 실컴에도 적용이 가능할까요?
만약에 실컴에서도 가능하다면 우클릭
등록도 되면 좋겠네요.
-
왕초보 2024.05.22 13:32
실컴에서는 바로 자기 BCD로 보여주기 때문에 BCD 선택 메세지가 나오지 않습니다..
-
별의아이 2024.05.22 12:40
수고하셨습니다.
-
광풍제월 2024.05.22 18:45
수고하셨습니다.
-
목련 2024.05.22 23:09
수고많이하셨습니다.
-
비컴트루 2024.05.26 20:23
수고 많으셨습니다.
오랜만에 들어왔는데, bootice 활용도가 이렇게 넓어진건 처음 알았네요.
감사합니다.