아래 내용은 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을 설치하지 않더라도 윈도우에서 멀티부팅 메뉴를 선택할 수 있습니다.




각자 응용하셔서 나만의 멀티부팅 선택기를 한번 만들어 보세요.
신고
Share
  1. BlogIcon LiveREX
    2010.06.01 15:58 신고

    iReboot 사용중이었는데 요고 좋은데요? ^^
    좋은 방법 잘 배워갑니다~

  2. BlogIcon 그아이
    2010.06.01 16:28 신고

    트위터와 RSS가 실시간으로 알려주고 있어요.. ㅋㅋㅋㅋ

  3. Auxo
    2010.06.01 17:00 신고

    이것 참...유용한 정보인데요 ㅋ
    좋은 정보 감사합니다^^

  4. JLife
    2010.06.01 21:38 신고

    와우 ~~~ Excellent !!!
    iReboot 가 설치프로그램이라서 bcd에 timeout 값 조절하는 cmd 만들어서 사용중이었는데
    저에게는 PE booting을 통한 VHD merge/restore 등등에 너무 유용한 정보네요
    당장 만들어서 적용해야겠어요. 매번 좋은 정보 감사드려요

  5. BlogIcon blc
    2010.06.01 23:22 신고

    얼마전부터 vhd로 부팅하여 사용중이라
    iReboot이것도 설치할까 말까했는데
    더 좋은 방법이네요.

    좋은정보 고맙습니다.

  6. lamp
    2010.06.17 14:29 신고

    공지사항에서 되도록 질문은 삼가하고 검색해달라고 하셨습니다만 제가 못찾은건지 아님 없는건지 눈빠지게 찾아봐도 없어서 염치불구 질문글 남겨봅니다...

    하드2개에 각각 os를 설치했고, 순서는 삼성에 윈2000, 그리고 맥스터 하드에 윈2000 하드에서 xp 카피한후 하드에서 xp설치해서 맥스터에 설치가 되었습니다. 즉 부트 파일은 C:의 삼성하드에 깔린 상태구요..
    여기서 삼성하드를 제거하면 맥스터에 깔린 윈xp만 남게 되는데 문제는 삼성에 부트파일이 없어지니 부팅이
    안될텐데 부팅파일만 맥스터의 OS깔린 파티션(맥스터는 E,F로 나눔 E에 xp설치...삼성은 C,D로 나누고 C에 윈2000설치)에 카피하면 되는건가요?...이전 도스시절에 부트파일은 sys명령어로 카피해야지 일반카피는 안먹는걸로 알고있는데 윈도우 부트파일은 어떻게 되는지 몰라서요...

    그냥 새로 xp설치하는게 깔금하긴 한데 오래된 PDA설치파일등이 xp에 남아있는터라(예전거라 설치본이 없어서요) os를 유지하고 싶거든요....폐가 안된다변 답변 주시면 감사하겠습니다...(_ _)

    • BlogIcon snpbox
      2010.06.18 19:37 신고
      수정 및 삭제

      직접 해보지는 않았지만 아래와 같이 시도해보세요.

      1. 삼성 하드에서 NTLDR, NTDETECT.COM, BOOT.INI 파일을 복사해서 맥스터로 옮긴다.

      2. 옮긴 곳에서 BOOT.INI 파일을 편집한다.

      3. 필요하다면 맥스터 하드의 XP 파티션에 활성화를 걸어주고 MBR 업데이트도 해준다.



      예전에 이것과 관련된 내용을 포스팅한적 있는데 직접적으로 상황이 일치하는 것은 아니지만 참고하시면 도움은 될 듯 합니다.

      http://snoopybox.co.kr/1091
      http://snoopybox.co.kr/1140

    • lamp
      2010.06.19 19:52 신고
      수정 및 삭제

      답변 감사드립니다..(_ _)..
      이전 도스시절과는 달리 그냥 파일 카피만 해도 부팅이 되나 보군요..오늘도 야근이라(돈도 적게주면서 휴일도 없이 부려먹는 악덕회사 ㅋㅋ) 낼 퇴근해서 말씀해주신대로 한번 해봐야겠습니다.

      좋은 하루되세요

  7. KWG
    2010.10.05 20:30 신고

    아주 유용합니다
    그런데 질문이 있네요
    제가 1.윈도우 2.고스트 3.윈도우
    이런식으로 해놨습니다 그런데 3번 윈도우의 부팅 이름을 없애고 싶은데, 혹은 목록에서 제거하고 싶습니다...그리고 1번 윈도우로 "멀티부팅 메뉴 선택"이란 프로그램으로 부팅 시킬수는 없는지요? 이름을 스페이스바로 공백 체우면 없어지네요
    다른 방법이라도 있으면 알려주세요

  8. BlogIcon 컴퓨터수리기사
    2010.12.05 00:38 신고

    저거로 자식 VHD 부팅시키기 편하겠군요. 감사합니다.