Windowsのbcdeditでブートメニューの表示順序やデフォルトを変更するTech TIPS

Windows Vista/Server 2008ではBCDストアという新しいブート・メカニズムを利用している。ブート・メニューの表示順序を変更するにはbcdedit /displayorderコマンドを利用する。ブート・メニューのデフォルト項目を変更するには、bcdedit /defaultコマンドを利用する。ブート・メニューのタイムアウト時間を変更するには、bcdedit /timeoutコマンドを利用する。

» 2009年05月08日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows Vista/Windows Server 2008



解説

 TIPS「bcdeditでVista/Windows Server 2008のブートOSメニューを変更する」では、Windows Vista/Server 2008以降で導入された新しいブート・メニュー・システム「BCD(ブート構成データ)ストア)」と、そのブート項目の表示名を変更するbcdedit.exeコマンドの使い方を紹介した。システムに2つ以上のOSをインストールすると、どのOS(どの構成)で起動するかを最初に選択できるが、その表示名を分かりやすくして、x86版とx64版で区別できるようにした。

 本TIPSではその続きとして、ブート項目の表示順序やデフォルト項目、タイムアウト時間の設定方法を紹介する。

操作方法

●bcdedit /displayorderで表示順序を変更する

 BCDストアに対応したOS(Windows Vista、Windows Server 2008、Windows 7など)を複数インストールすると、通常は後からインストールしたOSがブート項目の先頭に追加され、その先頭項目がデフォルトのOSとなる。つまりインストールしたのとは逆順に項目が並び、その先頭がデフォルトのOSとなる。

 この順序を変更するには、bcdedit /displayorderコマンドを利用する。

 まず現在のブート項目の状態をbcdedit /enumコマンド(bcdeditだけでも可)で確認する(bcdeditコマンドを実行するには、管理者として実行したコマンド・プロンプト上で作業を行う)。

デフォルトのメニュー項目の表示 デフォルトのメニュー項目の表示
bcdedit /enumもしくはbcdeditコマンドを実行すると、ブート・メニューの設定情報が表示される。どのような項目をどの順番で表示するかは、先頭の「Windows ブート マネージャー」の部分にすべて表示されている。これは、2つのOSをインストールした後の例。
  (1)現在の設定状態を表示させる。デフォルトでは、後からインストールしたOSが先頭に追加/表示され、さらにそのOSが起動するように設定される。
  (2)この例ではメニュー項目が2つあり、この順番で表示される。ID数字列のほか、{current} や {default} などが各メニュー項目を表している。現在起動中の項目は {current} という省略形で表示されるが、本来のID数字列を知るにはbcdedit /vを実行する。

 displayorderの欄に表示されている2つの項目((2))に注目する。これが現在のメニュー項目である。上側の {current} となっているのが現在起動中のOS(最後にインストールしたOS)であり、下側の {9191f96f-……} は別の項目(最初にインストールしたOS)である。本来、各項目はこのようなID数字列で表現されることになっているが、見やすくするため、{current} や {default} という表記も用意されている(bcdedit /enum /vとすると常にID数字列で表示される)。{default} はデフォルト項目を表すが、この例では {current} も {default} も同じなので、{current} しか表示されていない。

 表示項目の順番を変更するには、bcdedit /displayorderに続けて、メニュー項目のID数字列を列挙する。ここでは順番を逆にして指定してみる。

メニューの表示項目の順序の変更 メニューの表示項目の順序の変更
表示される項目の順序を変更するには/displayorderオプションを指定する。
  (1)bcdedit /displayorderに続けて、各項目のID数字列(省略形も可)を指定する。
  (2)変更後の項目。先の例と比べると、順番が入れ替わっていることが分かる。

 bcdeditを実行してみると、displayorderの欄の項目が入れ替わっているのが分かる。

●デフォルト項目の変更

 上の例では、メニュー項目を入れ替えたが、デフォルトの項目はそのままである。つまり後からインストールしたOSがデフォルト状態になっている。これを変更するには、bcdedit /defaultに続けて、デフォルトにしたいメニュー項目のID数字列を指定する。

デフォルト項目の変更 デフォルト項目の変更
デフォルトの項目を変更するには、/defaultオプションを指定する。
  (1)bcdedit /defaultに続けて、各項目のID数字列(省略形も可)を指定する。
  (2)デフォルト項目が変更され、先ほどの {current} から {default} になっている。
  (3)表示項目も変更されている。

 1つ上の画面の結果と比べると、displayorderの最初(1つ目)にあったID数字列が、{default} という文字に変わっている(defaultの項目も、{current} から {default} に変わっている)。これにより、表示されているメニューのうち、最初の項目がデフォルト項目として設定されたことになる。

●タイムアウト時間の変更

 2つ以上の項目が存在する場合、通常は30秒間表示され、ユーザーが何も操作しないとデフォルトの項目が起動する。このタイムアウト時間を変更するにはbcdedit /timeoutに続けて、メニューの表示時間(秒単位)を指定する。

タイムアウト時間の変更 タイムアウト時間の変更
タイムアウト時間を変更するには、/timeoutオプションを指定する。
  (1)bcdedit /timeoutに続けて、タイムアウト時間を秒単位で指定する。ここではデフォルトの30秒から10秒に変更してみた。
  (2)10になっている。

 この変更により、最後のtimeoutの項目が10(10秒)になっている。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。