윈 도 우 VHD 부팅 메뉴 등록 배치파일 관련 질문입니다
2013.06.18 20:48
아래는 스누피님이 반드신 VHD 부팅 메뉴에 등록하는 배치파일인데요. 굵게 표시된 부분은 UEFI 환경에 작동하도록 수정한 것인데요. 이 소스에서 해당 VHD를 기본 부팅으로 지정하는 소스를 넣어르면 어떻게 해야될까요??? 보통은 부팅 메뉴에서 이름 지정할 때 BCDEDIT /SET {DEFAULT} DESCRIPTION "Windows 8 Pro K" 이런 식으로 하면 기본 부팅으로 되는데요.
아래 소스에선 어떻게할 수 있을까요??? 제 생각엔 bcdedit /set %%c {DEFAULT} 이런 구문을 어느 부분이 넣으면 되지 않을까 싶기도 하고요.
-------------------------------------------
@echo off
pushd %~dp0
bcdedit > nul
if errorlevel 1 goto _admin
:_input
cls
echo.
echo.
echo.
echo 등록할 VHD 파일의 경로를 입력해주세요.
echo.
echo 단 경로에 띄어쓰기가 포함된 경우
echo.
echo 큰 따옴표는 생략해주시기 바랍니다.
echo.
echo.
echo 좋은 예 : D:\vhd files\win7.vhd
echo.
echo 나쁜 예 : "D:\vhd files\win7.vhd"
echo.
echo.
echo.
set /p src="경로를 입력해주세요 :
cls
echo.
echo.
echo.
echo 등록할 VHD 파일의 부팅 메뉴 이름을 지어주세요.
echo.
echo.
echo.
set /p name=이름을 입력해주세요 :
:_confirm
cls
echo.
echo.
echo.
echo 등록할 VHD 파일의 경로 : %src%
echo.
echo 등록할 VHD 파일의 메뉴 : %name%
echo.
echo.
echo.
set /p right=위 내용이 맞으면 Y를, 틀리면 N을 입력해주세요 :
if /i "%right%" == "y" goto _next
if /i "%right%" == "n" goto _input
goto _confirm
:_next
for /f "tokens=1 delims=\" %%a in ('echo %src%') do set path1=%%a
for /f "tokens=2 delims=:" %%b in ('echo %src%') do set path2=%%b
set file=[%path1%]%path2%
bcdedit /create /application OSLOADER /d "%name%" > guid.txt
for /f "tokens=1 usebackq" %%c in (guid.txt) do (
bcdedit /set %%c device vhd="%file%"
if errorlevel 1 goto _eng
bcdedit /set %%c osdevice vhd="%file%"
bcdedit /set %%c path \Windows\System32\Winload.efi
bcdedit /set %%c locale ko-KR
bcdedit /set %%c inherit {bootloadersettings}
bcdedit /set %%c systemroot \Windows
bcdedit /set %%c nx OptIn
bcdedit /set %%c detecthal Yes
bcdedit /displayorder %%c /addlast
bcdedit /timeout 5
del guid.txt
goto _success
)
:_eng
for /f "tokens=3 usebackq" %%d in (guid.txt) do (
bcdedit /set %%d device vhd="%file%"
bcdedit /set %%d osdevice vhd="%file%"
bcdedit /set %%d path \Windows\System32\Winload.efi
bcdedit /set %%d locale ko-KR
bcdedit /set %%d inherit {bootloadersettings}
bcdedit /set %%d systemroot \Windows
bcdedit /set %%d nx OptIn
bcdedit /set %%d detecthal Yes
bcdedit /displayorder %%d /addlast
bcdedit /timeout 5
del guid.txt
)
:_success
cls
echo.
echo.
echo.
echo 작업이 완료되었습니다. 이제 재부팅 해보시면
echo.
echo "%name%" 메뉴가 나타날 것입니다.
echo.
echo.
echo.
pause
exit
:_admin
cls
echo.
echo.
echo.
echo 우클릭 해서 관리자 권한으로 실행해주세요.
echo.
echo.
echo.
pause
exit
댓글 [2]
-
suk 2013.06.18 21:02
-
HD7사용자 2013.06.18 23:49 고맙습니다. 한번 해보겠습니다. VHD 부팅 메뉴 등록할 때 뭐 bcdboot F:\windows /l ko-kr 이런걸로 하는 것도 있지만 전 저걸 선호해서 말입니다. 순서는 상관 없는거죠?
bcdedit /default %%c
bcdedit /default %%d
이렇게 되는군요.