윈 도 우 RunOnceBoot VBScript Only
2020.02.20 12:39
안녕하세요? 이전글을 읽으면서 정리 겸 코드를 좀 단순화 시키려다, (이해하는데 한참 걸렸습니다.^^)
제가 BCD 관련 CMD 명령을 잘몰라서 VBS로만 정리해 보았습니다. RunOnceBoot.vbs
레마클로님 글; https://windowsforum.kr/lecture/12852317
왕초보님 글; https://windowsforum.kr/gallery/12857714
저는 PE가 등록되어 있지 않아서 테스트를 못하였습니다. 이상 있으면 알려주십시오.
글을 순차적으로 자세히 읽지 못해서 의도에 부합하는지는 모르겠습니다.
- 부팅항목 중 선택한 Entry로 1회성 부팅하려는 목적이라 이해하였습니다.
단순한 용도라서 다양한 에러 처리 루틴 등은 무시하였습니다.
원하시면 수정하여 활용해 보실길 바랍니다. 개선된 것은 공유해주시면 열심히 배우겠습니다. ^^;
BcdStore class는 아래 링크를 참고하였는데 잘 모르겠습니다. 레마클로님 스크립트를 보다 필요한 것만 건졌습니다.^^
- https://docs.microsoft.com/en-us/previous-versions/windows/desktop/bcd/bcdstore
제 부팅 항목이 좀 엉망인듯 합니다. ^^ 점심시간 잠깐씩 컴터(해찰)하는 거라 방치되는 것이 늘어나는 듯...
댓글 [20]
-
cungice 2020.02.20 13:11
-
레마클로 2020.02.20 13:30 감사합니다.^^
-
레마클로 2020.02.20 14:02 점심 먹고 테스트 했습니다.
잘 작동합니다. 고맙습니다.^^
-
지후빠 2020.02.20 14:12
덕분에 또 배웠습니다. ^^ 혹시 스샷 한장 올려주실수 있을까요? 실행 창 좀 확인해보려구요.
제 것은 너무 단순해서요. ㅈㅅ
-
지니제스트 2020.02.20 14:20
제것도 단순하지만... 잘 작동합니다. 2번항목 등록해서 해봤습니다.
-
지후빠 2020.02.20 19:43
감사합니다.^^ 많은 수가 등록되신 분에게 어떻게 나올까 궁금해서요.
-
레마클로 2020.02.20 14:49 -
지후빠 2020.02.20 20:06
감사합니다.^^ 항목이 좀 많은 경우 어떨까 궁금합니다. ㅎ_ㅎ
-
현토리 2020.02.20 14:10
좋네요. vb도 공부좀 하고 싶은데 머리가 ...
감사합니다.
-
미래윈도우 2020.02.20 14:32 누구와는 다르게 대인배 이십니다. 이렇게 자료도 공유 해주시고. 감사합니다.
-
레마클로 2020.02.20 14:46 제가 진행하던게 있는데 한번 봐주세요. 투박하다고 흉보지마시고...
창피하지만 점검 해 주세요.^^
bootmgr의 displayorder list를 이용한 방법입니다.
Const BootMgrId = "{9dea862c-5cdd-4e70-acc1-f32b344d4795}"
Const DisplayOrderType = &h24000001
Const BcdLibraryString_Description = &h12000004
Const WindowsImages = &h10200003
set BcdStoreClass = GetObject("winmgmts:{impersonationlevel=impersonate,(Backup,Restore)}!" & "root/wmi:BcdStore")
BcdStoreClass.OpenStore"",BcdStore
BcdStore.OpenObject BootMgrId, BootMgr
Dim Descrplist(9)
BcdStore.EnumerateObjects WindowsImages, colObjects
For Each objObject in colObjects
objObject.GetElement BcdLibraryString_Description, objElement
i = i + 1
Descrplist(i) = objElement.String
strMsg = strMsg & i & ". " & Descrplist(i) & Chr(13) & Chr(13) & Chr(13)
Next
Dim BootList(9)
BootMgr.GetElement DisplayOrderType, BootOrderList
For each OSIdentifier in BootOrderList.Ids
j = j + 1
BootList(j)= OSIdentifier
strMsg = strMsg & Chr(9) & BootList(j) & Chr(13)
Next
x = inputbox(strMsg, "복구용 PE 선택" , " 키보드로 숫자 입력 후 엔터 ")
If IsNumeric(x) Then x = CByte(x)
If x <= i Then
strTXT = BootList(x)
WScript.Echo strTXT
End If
-
지후빠 2020.02.20 20:23
문제 없어 보입니다. 다만 각 PC 마다 BootMgrId가 달라서 다른 PC에서 사용할때 수작업이 조금 필요할 것 같습니다. ^&^
-
레마클로 2020.02.20 20:49 감사합니다.
BootMgrId는 ...
BCDEdit.exe 에서 사용되는 잘 알려진 식별자를 정리한 표입니다.
잘 알려진 식별자 - GUID 식별자
{bootmgr} {9dea862c-5cdd-4e70-acc1-f32b344d4795}
Windows 부팅 관리자 항목을 지정합니다.
{fwbootmgr} {a5a30fa2-3d06-4e9f-b5f4-a01df9d1fcba}
특별히 EFI(Extensible Firmware Interface) 사양을 구현하는 시스템에서 펌웨어 부팅 관리자 항목을 지정합니다.
{memdiag} {b2721d73-1db4-4c62-bf78-c548a880142d}
메모리 진단 응용 프로그램 항목을 지정합니다.
{ntldr} or {legacy} {466f5a88-0af2-4f76-9038-095b170dc21c}
Windows Vista 이전의 운영 체제를 시작하는 데 사용할 수 있는 OS 로더(Ntldr)를 지정합니다.
{current} * {fa926493-6f1c-4193-a414-58f0b2456d1e}
현재 실행 중인 운영 체제에 대한 운영 체제 부팅 항목에 해당하는 가상 식별자를 지정합니다.
{default} * {1cae1eb7-a0df-4d4d-9851-4860e34ef535}
부팅 관리자 기본 응용 프로그램 항목에 해당하는 가상 식별자를 지정합니다.
{ramdiskoptions} {ae5534e0-a924-466c-b836-758539a3ee3a}
RAM 디스크 장치를 위한 부팅 관리자에 필요한 추가 옵션이 들어 있습니다.
{dbgsettings} {4636856e-540f-4170-a130-a84776f4c654}
부팅 응용 프로그램 항목에서 상속할 수 있는 전역 디버거 설정이 들어 있습니다.
{emssettings} {0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}
부팅 응용 프로그램 항목에서 상속할 수 있는 전역 응급 관리 서비스 설정이 들어 있습니다.
{badmemory} {5189b25c-5558-4bf2-bca4-289b11bd29e2}
부팅 응용 프로그램 항목에서 상속할 수 있는 전역 RAM 결함 목록이 들어 있습니다.
{globalsettings} {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
모든 부팅 응용 프로그램 항목에서 상속해야 하는 전역 설정 모음이 들어 있습니다.
{bootloadersettings} {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
모든 Windows 부팅 로더 응용 프로그램 항목에서 상속해야 하는 전역 설정 모음이 들어 있습니다.
{resumeloadersettings} {1afa9c49-16ab-4a5c-901b-212802da9460}
최대 절전 모드 응용 프로그램 항목의 모든 Windows 다시 시작에서 상속해야 하는 전역 설정 모음이 들어 있습니다.
{hypervisorsettings} {7ff607e0-4395-11db-b0de-0800200c9a66}
모든 OS 로더 항목에서 상속할 수 있는 하이퍼바이저 설정이 들어 있습니다.
* {current} 와 {default} 의 GUID 식별자는 가상 식별자로 BCDEdit.exe 에서 해당 GUID 식별자는 작동하지 않습니다.
-
레마클로 2020.02.20 20:52 input박스에 아래처럼 나오게는 안되는 건가요?
1.os명
guid
2.os명
guid
3.os명
guid
-
레마클로 2020.02.20 21:01 os 하나 더 추가후 스샷입니다.
-
지후빠 2020.02.21 10:27
레마클로님 guid-test2.vbs 수정하여 보았습니다. guid-test2-edited.vbs
저의 경우는 Descrplist와 BootList의 갯수 같게 나오지 않는 문제가 있는 것 같습니다.
논리상 Descrplist와 BootList 매치가 문제 없다면, 다음 처럼 메시지가 나오도록 수정하여 보았습니다.
1.os명
guid
2.os명
guid
3.os명
guid
-
레마클로 2020.02.21 11:27 감사합니다^^
-
왕초보 2020.02.21 10:28
BcdStore class라는것도 있었네요...
새로운것을 알게 되었습니다
감사합니다.
-
레마클로 2020.02.21 11:34 제가 식당 일 때문에 시간이 많질않아 좀 가르쳐달라는 표현이었는데 딱잘라 안된다(?..^^) 하시니
아주 조~~~오금 서운했었습니다.
항상 날카로운 분석력을 더욱 더 발휘 해 주시기 바랍니다.
-
지후빠 2020.02.21 13:22
소 뒷 걸음질 치다 쥐 잡기식 입니다.^^
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4358 | 윈 도 우| Windows 11에서 모니터에 적합한 색 프로필을 얻는 방법 [3] | VᴇɴᴜꜱGɪ | 1483 | 2 | 07-17 |
4357 | 소프트웨어| 탐색기 컨텍스트 메뉴에 토탈커맨더에서 열기 추가 [15] | 지후빠 | 967 | 23 | 07-16 |
4356 | 윈 도 우| RunOnce 레지스트리 키(간단 메뉴얼) [3] | 過客 | 922 | 14 | 07-16 |
4355 | 소프트웨어| GPT 파티션 삭제 및 재구성 / EASEUS Partition Master 16 [9] | 무월 | 1505 | 29 | 07-14 |
4354 | 소프트웨어| iVentoy 만능윈도우(WIM) 자동 설치 [20] | 무월 | 4240 | 66 | 07-08 |
4353 | 소프트웨어| iVentoy PXE 부팅 네트워크 OS 설치 [25] | 무월 | 1713 | 39 | 07-02 |
4352 | 기 타| 배치 파일 %~1 [13] | bangul | 1608 | 14 | 07-02 |
4351 | 윈 도 우| Microsoft Edge 브라우저 제거 [23] | 무월 | 2390 | 36 | 06-30 |
4350 | 모 바 일| 동영상을 원 속에 넣어 합성하는 방법 Mobile PowerDirect... [1] | 무림거사 | 1003 | 2 | 06-29 |
4349 | 윈 도 우| 윈도우11,10 MS계정 없이 로컬 계정으로 설치하기 [31] | 무월 | 3886 | 33 | 06-23 |
4348 | 윈 도 우| 윈도 에러 생길때, 모든 이벤트 로그 한꺼번에 보기 [10] |
|
1258 | 10 | 06-23 |
4347 | 윈 도 우| OneDrive 설치 방지, Microsft Edge 바로가기 생성 방지 [3] | 무월 | 1037 | 11 | 06-23 |
4346 | 윈 도 우| 윈도우10 & 11 작업표시줄 시계에 요일 나오게 하는 방법! [28] | 무월 | 2375 | 33 | 06-21 |
4345 | 윈 도 우| 한글 자음 모음 분리 현상 해결 방법 [7] | 무월 | 1311 | 14 | 06-21 |
4344 | 기 타| 레마클로님 wifi on/off 스크립트 (수정) pnputil 추가 [10] | 슈머슈마 | 888 | 7 | 06-20 |
4343 | 윈 도 우| 윈도우11 네트워크 인터넷 연결 없이 설치하기 [6] | 무월 | 2306 | 16 | 06-20 |
4342 | 윈 도 우| 파워쉘로 움직이는 .gif 바로 만들기 [6] |
|
988 | 10 | 06-18 |
4341 | 기 타| Windows 10 pe 디스플레이 레지스트리 [4] | bangul | 1527 | 16 | 06-13 |
4340 | 윈 도 우| Windows 11의 Microsoft 스토어에서 앱 다운로드 중지를 해... | VᴇɴᴜꜱGɪ | 1079 | 4 | 06-13 |
4339 | 윈 도 우| Internet Explorer 11 강제 실행 [15] | 무월 | 2596 | 22 | 06-10 |
수고 많으셨습니다. 감사합니다.