윈 도 우 F8 F* 누르기 물론 다른 컴은 키가 다르겟지요.
2025.03.09 15:57
imagew64.exe /wait /r /d:?W: /f:"z:\aaaa"
imagew64.exe /wait /b /d:?W: /f:"z:\aaaa"
bcdedit /set {default} bootmenupolicy legacy 입력하면 활성
bcdedit /set {default} bootmenupolicy standard 비활성
F8키 활성화(비활성) 됩니다. 윈도우 진입전 누르면 메뉴가 나옵니다.
그러면 여기서 컴 마디 키가 하나씩 추가 입력이 됩니다.
저 같은 기가바이트 노트북은 F9 키 입니다.
여기에 F9 키를 다시 활성화 시키고
회원님 중에 이용했다라고 말을 해 주셔서
저도 BCD를 몇줄 수정해서
F9키는 타 파티션에 있는 winpe(기타)를 실행하게 됩니다.
질문은 [Boot] 이것도 사용할수 있는지요 어떻게 쓰는지 몰겟음
@echo off
setlocal enabledelayedexpansion
pushd %~dp0
set drive=%1 (실행한 곳 winpe) F:
set fnkey_F1=0x100003B000001
set fnkey_F2=0x100003C000001
set fnkey_F3=0x100003D000001
set fnkey_F4=0x100003E000001
set fnkey_F5=reserved
set fnkey_F6=0x1000040000001
set fnkey_F7=0x1000041000001
set fnkey_F8=reserved
set fnkey_F9=0x1000043000001
set fnkey_F10=0x1000044000001
set fnkey_F11=0x1000085000001
set fnkey_F12=0x1000086000001
set "fnkey=%fnkey_F9%"
rem ----------------------------------------------------------------
set disk=1
set sysd=1
echo select disk %disk% > %temp%\diskpart.txt
echo select partition %sysd% >> %temp%\diskpart.txt
echo ASSIGN LETTER=S >> %temp%\diskpart.txt
echo exit >>%temp%\diskpart.txt
diskpart /s %temp%\diskpart.txt
rem ----------------------------------------------------------------
set STORE=s:\efi\microsft
set "F9STORE=s:\efi\pro\Boot\BCD"
rmdir pro /q/s
mkdir s:\efi\pro
xcopy /e/h/c/i/y s:\efi\microsoft\ s:\efi\pro
rem bcdedit /enum {bootmgr} /v | find "recoverysequence" > %tmp%\temp.scp
bcdedit /enum /v | find "recoverysequence" > %tmp%\temp.scp
set /p qoo=<%temp%\temp.scp
set WINREGUID=%qoo:~24,38%
bcdedit /ENUM %WINREGUID% | find "osdevice" > %temp%\OSID.TXT
set /p TATOSID=<%temp%\OSID.TXT
set OSDEVICEID2=%TATOSID:~24,80%
set "OSDEVICEID="
for /f "tokens=2 delims=[" %%a in ("%TATOSID%") do (
set "OSDEVICEID=ramdisk=[%%a"
)
echo %OSDEVICEID%
bcdedit /export %F9STORE%
echo %WINREGUID%
bcdedit /set {bootmgr} customactions 0x1000043000001 0x54000001
bcdedit /set {bootmgr} custom:54000001 %WINREGUID%
bcdedit /store %F9STORE% /set {bootmgr} integrityservices Enable
bcdedit /store %F9STORE% /set {bootmgr} default %WINREGUID%
bcdedit /store %F9STORE% /set {bootmgr} displayorder %WINREGUID%
bcdedit /store %F9STORE% /set {bootmgr} locale ko-KR
bcdedit /store %F9STORE% /set {default} locale ko-KR
bcdedit /store %F9STORE% /set {bootmgr} customactions 0x1000043000001 0x54000001
bcdedit /store %F9STORE% /set {bootmgr} custom:54000001 {9dea862c-5cdd-4e70-acc1-f32b344d4795}
rem ----------------------------------------------------------------
echo select volume s >%temp%\diskpart.txt
echo REMOVE LETTER=s >>%temp%\diskpart.txt
echo exit >>%temp%\diskpart.txt
diskpart /s %temp%\diskpart.txt
rem ----------------------------------------------------------------
rem ----------------------------------------------------------------
여기는 다른 위치로 바꾸는 루틴
bcdedit /store %F9STORE% /create {ramdiskoptions} /d "Ramdisk Options"
bcdedit /store %F9STORE% /set {ramdiskoptions} ramdisksdidevice partition=%drive%
bcdedit /store %F9STORE% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
bcdedit /store %F9STORE% /set %WINREGUID% device "ramdisk=[%drive%]\sources\boot.wim,{ramdiskoptions}"
bcdedit /store %F9STORE% /set %WINREGUID% osdevice "ramdisk=[%drive%]\sources\boot.wim,{ramdiskoptions}"
댓글 [1]
-
Godblessyou 2025.03.11 12:35
@echo off
:: ---------------------------------------------------------
:: 배치 스크립트 설정 및 환경 준비
:: ---------------------------------------------------------
setlocal enabledelayedexpansion
pushd %~dp0
:: 드라이브를 파라미터로 받음 (예: F: 드라이브)
set drive=%1
if not defined drive set drive=F:
:: Function 키 설정 (키 값 설정)
set fnkey_F1=0x100003B000001
set fnkey_F2=0x100003C000001
set fnkey_F3=0x100003D000001
set fnkey_F4=0x100003E000001
set fnkey_F5=reserved
set fnkey_F6=0x1000040000001
set fnkey_F7=0x1000041000001
set fnkey_F8=reserved
set fnkey_F9=0x1000043000001
set fnkey_F10=0x1000044000001
set fnkey_F11=0x1000085000001
set fnkey_F12=0x1000086000001
:: 기본 function 키 설정 (F9 키로 설정)
set "fnkey=%fnkey_F9%"
:: ---------------------------------------------------------
:: 디스크 파티션 설정 (디스크 1, 시스템 파티션 1 선택)
:: ---------------------------------------------------------
set disk=1
set sysd=1
:: 디스크 파티션 선택 및 드라이브 문자 할당 (S:)
echo select disk %disk% > %temp%\diskpart.txt
echo select partition %sysd% >> %temp%\diskpart.txt
echo ASSIGN LETTER=S >> %temp%\diskpart.txt
echo exit >>%temp%\diskpart.txt
diskpart /s %temp%\diskpart.txt
:: ---------------------------------------------------------
:: EFI 폴더 복사
:: ---------------------------------------------------------
set STORE=s:\efi\microsoft
set "F9STORE=s:\efi\pro\Boot\BCD"
:: 기존 pro 폴더 삭제 및 새 폴더 생성
rmdir pro /q/s
mkdir s:\efi\pro
:: EFI 파일 복사
xcopy /e/h/c/i/y s:\efi\microsoft\ s:\efi\pro
:: ---------------------------------------------------------
:: BCD 데이터 읽기 및 WINREGUID 설정
:: ---------------------------------------------------------
bcdedit /enum /v | find "recoverysequence" > %temp%\temp.scp
set /p qoo=<%temp%\temp.scp
set WINREGUID=%qoo:~24,38%
:: WINREGUID에 해당하는 OS 디스크 정보 추출
bcdedit /ENUM %WINREGUID% | find "osdevice" > %temp%\OSID.TXT
set /p TATOSID=<%temp%\OSID.TXT
set OSDEVICEID2=%TATOSID:~24,80%
:: OSDEVICEID를 추출하여 설정
set "OSDEVICEID="
for /f "tokens=2 delims=[" %%a in ("%TATOSID%") do (
set "OSDEVICEID=ramdisk=[%%a"
)
echo %OSDEVICEID%
:: BCD 데이터 내보내기 및 설정
bcdedit /export %F9STORE%
echo %WINREGUID%
:: 부팅 관리자 설정 변경
bcdedit /set {bootmgr} customactions 0x1000043000001 0x54000001
bcdedit /set {bootmgr} custom:54000001 %WINREGUID%
bcdedit /store %F9STORE% /set {bootmgr} integrityservices Enable
bcdedit /store %F9STORE% /set {bootmgr} default %WINREGUID%
bcdedit /store %F9STORE% /set {bootmgr} displayorder %WINREGUID%
:: 로케일 설정 (ko-KR)
bcdedit /store %F9STORE% /set {bootmgr} locale ko-KR
bcdedit /store %F9STORE% /set {default} locale ko-KR
:: 추가 customactions 설정
bcdedit /store %F9STORE% /set {bootmgr} customactions 0x1000043000001 0x54000001
bcdedit /store %F9STORE% /set {bootmgr} custom:54000001 {9dea862c-5cdd-4e70-acc1-f32b344d4795}
:: ---------------------------------------------------------
:: 드라이브 문자 제거 (S: 드라이브 제거)
:: ---------------------------------------------------------
echo select volume s >%temp%\diskpart.txt
echo REMOVE LETTER=s >>%temp%\diskpart.txt
echo exit >>%temp%\diskpart.txt
diskpart /s %temp%\diskpart.txt
:: ---------------------------------------------------------
:: Ramdisk 설정을 위한 BCD 엔트리 생성
:: ---------------------------------------------------------
bcdedit /store %F9STORE% /create {ramdiskoptions} /d "Ramdisk Options"
bcdedit /store %F9STORE% /set {ramdiskoptions} ramdisksdidevice partition=%drive%
bcdedit /store %F9STORE% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
:: Ramdisk를 부팅 장치로 설정
bcdedit /store %F9STORE% /set %WINREGUID% device "ramdisk=[%drive%]\sources\boot.wim,{ramdiskoptions}"
bcdedit /store %F9STORE% /set %WINREGUID% osdevice "ramdisk=[%drive%]\sources\boot.wim,{ramdiskoptions}"
:: ---------------------------------------------------------
:: 작업 완료 후 종료
:: ---------------------------------------------------------
echo 스크립트가 완료되었습니다.
pause