아래 내용은 BCD를 이용하는 윈도우 비스타 이상에서만 활용 가능합니다.


지난번에 소개해드렸던 iReboot의 기능을 bcdedit을 통해 수동으로 구현하는 방법입니다.

2010/04/25 - [유용한 프로그램] - 멀티부팅 메뉴를 윈도우에서 선택 - iReboot


저는 iReboot을 매우 유용하게 사용하고 있지만 외부 프로그램을 설치하기 싫어하시는 분들을 위해 bcdedit의 /bootsequence 옵션을 소개해드립니다.

이 옵션으로 부팅 메뉴를 지정해주면 다음 부팅시 부팅 메뉴 선택 없이 1회 해당 메뉴로 부팅됩니다. 따라서 VHD 복구하기 메뉴를 자주 이용하시는 분들은 간단하게 CMD 파일을 하나 만들어서 사용하셔도 되겠습니다.

저의 경우 현재 VHD 파일 교체하기의 식별자 {GUID}가 {70c5b810-5e56-11df-ab82-bfff470bfc1d} 입니다.



따라서 아래와 같이 입력하면 다음 부팅시 VHD 파일 교체하기로 부팅이 되겠지요. 아 물론 관리자 권한으로 띄워진 CMD 창에서만 작동합니다.

bcdedit /bootsequence {70c5b810-5e56-11df-ab82-bfff470bfc1d}

만약 자동으로 재부팅되도록 CMD 파일을 만드려면

@echo off
bcdedit /bootsequence {70c5b810-5e56-11df-ab82-bfff470bfc1d}
shutdown /r /t 0
exit


위와같은 내용을 메모장으로 작성하여 CMD 파일을 하나 만들어 바탕화면에 두시면 되겠습니다. 물론 실행은 우클릭 해서 관리자 권한으로 해야겠지요.


이번엔 멀티부팅 메뉴 전체를 다 표시하는 방법입니다. set, if, goto 구분을 활용하면 만들 수 있습니다. 아래는 제가 사용중인 멀티부팅 메뉴를 기준으로 만든 예제입니다.

@echo off
:main
cls
echo.
echo.
echo.
echo  1. Windows 7 Ultimate K x64
echo.
echo  2. VHD 부모 파일 업데이트
echo.
echo  3. PE로 부팅하기
echo.
echo  4. VHD 파일 교체하기
echo.
echo.
echo.
set menu=
set /p menu=번호를 선택해주세요 :
if "%menu%" == "1" goto win7
if "%menu%" == "2" goto parent
if "%menu%" == "3" goto pe
if "%menu%" == "4" goto clean
goto main

:win7
bcdedit /bootsequence {70c5b80f-5e56-11df-ab82-bfff470bfc1d}
shutdown /r /t 0
exit

:parent
bcdedit /bootsequence {70c5b80a-5e56-11df-ab82-bfff470bfc1d}
shutdown /r /t 0
exit

:pe
bcdedit /bootsequence {70c5b80d-5e56-11df-ab82-bfff470bfc1d}
shutdown /r /t 0
exit

:clean
bcdedit /bootsequence {70c5b810-5e56-11df-ab82-bfff470bfc1d}
shutdown /r /t 0
exit


위 예제처럼 만들면 iReboot을 설치하지 않더라도 윈도우에서 멀티부팅 메뉴를 선택할 수 있습니다.




각자 응용하셔서 나만의 멀티부팅 선택기를 한번 만들어 보세요.