* 명령 프롬프트는 관리자 권한으로 실행하세요. [관련 포스팅]


* GUID 등의 입력이 까다롭다면 명령 프롬프트의 텍스트 복사 기능을 활용하세요. [관련 포스팅]


* 윈도우 XP 에서 작업하기 위해선 BCDEdit.exe 를 미리 준비해야 합니다. [관련 포스팅]



윈도우를 설치하거나 새로운 부팅 항목을 추가하다 보면 부팅 목록의 순서가 자신이 원하는대로 나오지 않는 경우가 종종 있습니다.

이건 내가 원하는 부팅 목록 순서가 아니야!!!



부팅 목록의 표시 순서를 담당하는 것은 Windows 부팅 관리자 항목({bootmgr})Displayorder 옵션입니다. 즉, Windows 부팅 관리자의 Displayorder 에 정렬된 순서대로 멀티 부팅 화면에 표시되는 겁니다.



이제 이것을 제가 원하는 순서대로 정렬해 보도록 하겠습니다. 아래와 같은 순서로 말이죠.

1. Windows 7 Ultimate K - {current}
2. Windows 7 Professional K - {57c3dfa0-48ac-11e1-9b18-99618a567322}
3. Windows XP Home Edition - {ntldr}
4. GRUB for DOS - {57c3dfad-48ac-11e1-9b18-99618a567322}

각 부팅 항목의 식별자(Identifier)는 알아서 직접 파악합니다. Displayorder 항목을 봐도 되고 헷갈리면 현재 부팅 항목들을 쭈욱 확인해 보셔도 되겠죠? [관련 포스팅]

순서도 정했고 작업에 필요한 식별자 정보도 모두 확인했으니 이제 이 순서대로 정렬을 시작하도록 하겠습니다. Displayorder 는 bcdedit /displayorder 명령으로 부팅 목록에 추가하거나 순서를 설정할 수 있습니다. 이제 여기에는 두 가지 방법이 있죠.


1. 부팅 항목을 하나씩 개별적으로 순서를 정하는 방법

이 방법은 부팅 항목 하나를 가장 처음으로 또는 가장 마지막으로 보내는 것을 반복하여 원하는 순서를 만드는 방법입니다. 보통 새로 생성한 부팅 항목을 부팅 메뉴에 등록하여 활성화할 때 쓰는 명령인데[Displayorder 링크 걸어 놓을 것] 이미 등록된 부팅 항목이라면 순서만 바꿔주므로 순서를 정렬할 때도 이용할 수 있습니다.

bcdedit /displayorder {GUID} /addfirst
└ 해당 부팅 항목을 목록의 가장 처음으로 올립니다. (부팅 항목이 목록에 없다면 추가합니다.)

bcdedit /displayorder {GUID} /addlast
└ 해당 부팅 항목을 목록의 가장 마지막으로 내립니다. (부팅 항목이 목록에 없다면 추가합니다.)

하나의 부팅 항목을 가장 위로 올리거나 가장 아래로 내리면 나머지 항목들은 그에 맞춰 한 칸씩 아래로 밀리거나 위로 밀리게 됩니다. 이러한 특성으로 /addfirst 를 사용한다면 원하는 목록의 역순으로 작업을 진행하면 최종적으로 자신이 원하는 목록 구성이 나오고 /addlast 를 사용하면 원하는 목록의 정순으로 작업을 진행하면 최종적으로 자신이 원하는 목록 구성이 나오게 됩니다.

이제 이에 맞춰 위에서 미리 파악한 식별자들을 통해 작업을 진행합니다. 저는 /addfirst 만을 사용하여(원하는 순서의 역순대로 차례로 명령 실행) 정리해 보도록 하겠습니다.

부팅 항목 순서 정렬하기 - 1
bcdedit /displayorder {57c3dfad-48ac-11e1-9b18-99618a567322} /addfirst
bcdedit /displayorder {ntldr} /addfirst
bcdedit /displayorder {57c3dfa0-48ac-11e1-9b18-99618a567322} /addfirst
bcdedit /displayorder {current} /addfirst






원하는대로 결과가 나왔죠? 그러니까 위에서 사용한 /addfirst 를 사용한 순서 정렬 작업을 하나 하나 살펴보면 아래와 같이 되었던 것이죠.




2. 부팅 항목을 일괄적으로 한 번에 정렬하기

이제 이 방법은 /addfirst 와 /addlast 를 사용하지 않고 그냥 명령 한 번으로 모두 정리하는 방법입니다. 명령의 형식은 아래와 같죠.

bcdedit /displayorder {GUID} {GUID} {GUID} ...

딱! 감이 잡히시죠? 원하는 순서대로 식별자들을 쭈욱 적어주시면 되는 겁니다. 식별자들은 공백으로 한 칸씩 띄워주시구요.


부팅 항목 순서 정렬하기 - 2
bcdedit /displayorder {current} {57c3dfa0-48ac-11e1-9b18-99618a567322} {ntldr} {57c3dfad-48ac-11e1-9b18-99618a567322}



간단하죠? 이제 이 방식을 사용할 때에는 주의하실 점이 하나 있는데요. 그건 폴딩에서 설명을 하도록 하죠.

 

 

캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 홍길동 2012.10.28 04:09  댓글주소  수정/삭제  댓글쓰기
    감사합니다.

    덕분에 해결했네요 :-)
  2. 돌산 2012.12.24 01:20  댓글주소  수정/삭제  댓글쓰기
    "~링크 걸어 놓을 것", 어쩌면 이리도 세심하게 글을 작성하시나요.그 정성에 감탄이 절로 나오네요.
    글을 읽을 때마다 작성하신 분의 정성을 생각해서 더욱 고마운 마음으로 읽어야겠습니다.고맙습니다.
  3. 김희상 2013.02.02 20:41  댓글주소  수정/삭제  댓글쓰기
    vhd를 만든 후 자식, 클릭 파일을 생성하였습니다.
    모든 과정을 맡치고 부팅순서가 마음에 안들어
    윈도우 상의 cmd에서 bcdedit /displayorder로 순서를 바뀐 다음 재부팅하니
    bcdboot\bcd
    status : 0xc000000f오류가 나면서 부팅이 안 됩니다.
    문제는 윈도우를 재설치하려고 해도 컴퓨터에 장착된 하드가 인식이 안 된다는 것입니다.
    어떻게 해결해야 하나요?
  4. BlogIcon regenbogen 2014.08.04 22:10  댓글주소  수정/삭제  댓글쓰기

    나온대로 변경을 해도 (프롬포트설정도 프로그램도 시작및 복구 설정도)
    정작 선택시엔 변화가 없고 들어가서 enum처보면 아무것도 안 되어있을땐 어떡하죠, (하나는 엑스키퍼 회피용 win starter고 하나는 home premium 둘다 7입니다. 역시 스타터가 몰컴용이라 홈프리미엄을 위에두고 timeout 1로 설정해서 나만 쓸수 있게 하려고했는데 아무리 설정을 해도 변화가 없습니다. 어째서인지 제 상황까지 주저리주저리 말해버렸군요 ㅠㅠ

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com