본문 바로가기

부팅과 멀티 부팅

[Bootmgr] bcdedit /set 명령과 Windows 부팅 관리자 {bootmgr} - BCDEdit.exe

지난 항목 옵션의 생성, 수정, 삭제를 정리한 글에서 아래와 같은 이야기를 했습니다.

윈도우 7 의 부팅 - 부팅 항목 옵션의 생성, 수정, 삭제 명령 정리 [BCDEdit.exe]

BCD 내의 모든 부팅 항목의 모든 항목 옵션은 이 bcdedit /set 명령으로 생성하고 수정하게 됩니다. (identifier 제외)

어랍쇼? bcdedit /set 명령을 통해 모든 부팅 항목의 모든 항목 옵션 설정을 바꿀 수 있다면 지금까지 배워온 대로라면 이런 의문을 가질 수도 있겠네요?

"Windows 부팅 관리자 항목의 옵션들은 bcdedit /set 명령으로 설정을 바꾸지 않던데요? 그러니까 부팅 목록 표시 시간을 의미하는 Timeout 항목 옵션은 bcdedit /timeout 명령으로 설정을 바꾸는데 이와 같은 경우는 어떻게 된거죠?" [참고 포스팅]

얘도 항목 옵션인데 얘는 왜 다르게 수정하나요? 모든 항목 옵션의 수정이 가능하다면서요?



그렇죠. Windows 부팅 관리자 즉, {bootmgr} 부팅 항목도 BCD 내에 존재하는 부팅 항목이고 마찬가지로 항목 옵션들로 구성이 되어 있습니다. 그러니 다음과 같이 생각해 볼 수 있습니다.

"예제로 든 Timeout 항목 옵션도 수정하려면 bcdedit /set 명령으로 작업을 할 수 있는 것 아닌가?"

그러니까 아래와 같이요.

bcdedit /set {bootmgr} timeout 5


결론부터 말하면 위의 명령은 맞는 명령이고 그렇게 하셔도 됩니다.


근데 이렇게 bcdedit /set 을 통해 설정하는 것 보다는 따로 제공되는 bcdedit /timeout 5 가 훨씬 간단하니 그냥 그걸 사용하는 겁니다.


좀 더 이야기를 해 보자면 Timeout 항목 옵션을 수정하는 명령은 원래 bcdedit /set {bootmgr} timeout 5 이 맞습니다. 근데 이게 워낙에 자주 수정하는 항목 옵션이다보니(대체적으로 {bootmgr} 의 수정 빈도가 일반 부팅 항목들에 비해 많은 편이죠.) 그냥 따로 좀 더 간편하게 줄인 bcdedit /timeout 5 라는 명령을 추가적으로 제공해 주는 것입니다. 명령이 좀 더 단순하니까 작업하기가 좀 더 수월하잖아요? 간단한 겁니다.

여기에서 쬐금 더 이야기를 하자면 이제 이게 가능한 이유가 {bootmgr} 이라는 항목은 정상적인 BCD 라면 모든 BCD 내에 존재하는 항목이고 하나만 존재하는 유일한 항목이며 Timeout 항목 옵션도 {bootmgr} 에만 존재하는 항목 옵션이기 때문에 가능한 것이죠. (Device 나 Descriptions 과 같은 항목 옵션은 여기 저기 다 있지만 Timeout 은 Windows 부팅 관리자 항목에서만 사용되는 항목 옵션이라는 말이죠.)


이와 같은 이유로 BCDEdit.exe 는 이야기한 Timeout 과 같은 상황에 속하는 항목 옵션들에 대한 축약형 명령을 몇 가지 더 제공하고 있습니다.

1. Default 항목 옵션 수정 - bcdedit /set {bootmgr} default

bcdedit /default

2. Timeout 항목 옵션 수정 - bcdedit /set {bootmgr} timeout

bcdedit /timeout


3. Displayorder 항목 옵션 수정 - bcdedit /set {bootmgr} displayorder

bcdedit /displayorder


4. ToolsDiplayorder 항목 옵션 수정 - bcdedit /set {bootmgr} toolsdisplayorder

bcdedit /toolsdisplayorder


5. Bootsequence 항목 옵션 수정 - bcdedit /set {bootmgr } bootsequence

bcdedit /bootsequence



즉, 간단하게 [/set {bootmgr} 항목 옵션] 부분은 어디에서나 동일하니 이를 [/항목 옵션] 형태로 단순화시켜서 따로 명령으로 제공하는 것이죠. 물론 추가적인 매개 변수들도 모두 동일하게 사용하구요. 그러니까 아래와 같은 거죠.

bcdedit /displayorder {ntldr} /addlast

bcdedit /set {bootmgr} displayorder {ntldr} /addlast


어떻습니까? 간단하죠? 이제 원래의 bcdedit /set 명령 보다는 축약 형태로 제공되는 명령들이 간편하니 모두 그걸 사용하는 것입니다. bcdedit /set 명령을 사용할 수 없어서 그런게 아니라요. ^^

이렇게 Windows 부팅 관리자 항목에서 살펴본 축약 형태의 독립적인 명령으로 수정을 지원하는 항목 옵션들 외에 Device 나 Locale 과 같은 항목 옵션들은 다른 부팅 항목들에서와 동일하게 bcdedit /set 명령을 통해 수정하게 됩니다.


이 내용은 그냥 참고 정도로만 알아두시면 되겠네요. 이상입니다.