윈 도 우 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 | - | - | - |
4240 | 하드웨어| 한국인 최애 멤브레인 키보드 10개 추천 [14] | BOK | 3036 | 3 | 10-03 |
4239 | 소프트웨어| 한글2022 업데이트 자동 설치 옵션 [17] | 무월 | 5685 | 25 | 10-01 |
4238 | 윈 도 우| 윈도우11 . kb5017321 업데이트가 제대로 안 되는 경우 해... | heykevin | 2142 | 5 | 09-27 |
4237 | 소프트웨어| Snapshot간이현지화 [업데이트10] [41] | sunshine | 3650 | 29 | 09-26 |
4236 | 윈 도 우| [실사] 윈도우11(22H2) 업그레이드 우회 설치 [12] | 무월 | 4912 | 18 | 09-24 |
4235 | 윈 도 우| 파워쉘만으로 PE 부팅 USB 만들기 [5] |
|
2259 | 10 | 09-23 |
4234 | 윈 도 우| 윈도우11.22H2이상에서 탐색기 탭 활성화하기-글 수정 [8] | 타천사둘리 | 2690 | 10 | 09-21 |
4233 | 모 바 일| [팁] 스마트폰 스피커 물 빼기 [1] | asklee | 2634 | 2 | 09-19 |
4232 | 윈 도 우| 디펜더 전체검사때, CPU 100% 급상승 해결하기 [4] |
|
2294 | 8 | 09-16 |
4231 | 소프트웨어| VirtualBox 7.0.0 Beta - 새로운 기능 및 TPM 설정 [4] | VᴇɴᴜꜱGɪ | 1659 | 6 | 09-13 |
4230 | 소프트웨어| 드라이브 문자 할당/제거 배치파일 [17] | 지후빠 | 1964 | 23 | 09-12 |
4229 | 윈 도 우| 리소스 잡아먹는 Edge 설정 한방에 하기 [39] |
|
7740 | 30 | 09-06 |
4228 | 소프트웨어| Total Commander 10.5x 32비트 및 64비트용 확장 한국어 메... [12] | VᴇɴᴜꜱGɪ | 2212 | 18 | 09-05 |
4227 | 윈 도 우| 무인 마우스 포인터 이동, 키 터치 작동 파워셀 코드 [2] |
|
1216 | 6 | 09-03 |
4226 | 소프트웨어| Google Chrome에서 최소 탭 너비를 설정하는 방법 [1] | VᴇɴᴜꜱGɪ | 1405 | 8 | 08-30 |
4225 | 윈 도 우| 잘 안쓰는 window apps , 파워셀 명령어로 한번에 제거하기 [11] |
|
2775 | 12 | 08-29 |
4224 | 소프트웨어| PE 에서 바로 가기 생성 배치 파일에 대한 고찰 [17] | 지후빠 | 2105 | 25 | 08-28 |
4223 | 소프트웨어| 윈포 쪽지 전달 반자동화 AHK 매크로(배포중지) [39] | 지후빠 | 1695 | 31 | 08-23 |
4222 | 소프트웨어| True Image 실행 시 삭제한 백업 폴더가 다시 생성되는 문... [1] | 봄빛깔 | 1131 | 8 | 08-21 |
4221 | 윈 도 우| [실사] 만능WIM 응답파일(Unattend.xml) 교체 [33] | 무월 | 2885 | 30 | 08-21 |
수고 많으셨습니다. 감사합니다.