Core i7 PC に XP, Vista, Windows 7 のマルチブート環境を作ってみましたが、ブート マネージャーに OS が表示される順番が、実際に OS をインストールした順に (リリースされた順) に並んでおらず、個人的にすっきりしないので、入れ替えてみました。

使用前 使用後
Windows 7: ブート マネージャー: Windows 7 が真ん中 Windows 7: ブート マネージャー: Windows 7 が最後

XP 以前では boot.ini だった

Windows XP までの OS では、boot.ini というファイルがあり、これを編集すればよく比較的簡単でした。ちなみに、Windows 7 を含めて 3つの OS がインストール済の状態で、システム パーティションの boot.ini は以下のようになっています。

[code language=”text”]
;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Microsoft Windows XP Professional" /FASTDETECT /NoExecute=OptIn
[/code]

なんだ、このファイル書き換えれば OK なんでしょ? という気がしますが、さにあらず。

[code language=”text”]
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
[/code]

Vista 以降はブート構成データ エディタ bcdedit.exe

Windows Vista では bcdedit.exe をお使いください、となっています。リソースキットにでも入っているツールでしょうか…? いやいや、コマンド プロンプトから実行してみましょう。

Windows 7: bcdedit: ブート構成のデータ ストアを開けませんでした。アクセスが拒否されました。

「ブート構成のデータ ストアを開けませんでした。アクセスが拒否されました。」
はい残念。でも、bcdedit.exe というコマンド自体は存在しているようですね。正しくは、 [管理者として実行] を選んでから開きます。

Windows 7: コマンド プロンプト: 管理者として実行

[管理者: コマンド プロンプト] になったのを確認して、再度 bcdedit を実行してみます。

Windows 7: bcdedit: トリプルブート状態

ポイントは description と identifier

やけに長いリストですが、description と、直前の赤い枠で囲んだ identifier を拾い読みしていくと、

description identifier
以前のバージョンの Windows (XP のこと) {ntldr}
Windows 7 {current}
Microsoft Windows Vista {9a5f7120-36b8-11de-af50-abc7a9f010d0}

の順に並んでいることが分かります。これを、最終的に

description identifier
以前のバージョンの Windows (XP のこと) {ntldr}
Microsoft Windows Vista {9a5f7120-36b8-11de-af50-abc7a9f010d0}
Windows 7 {current}

の順にしたい場合は、コマンド プロンプトで次のように入力します。

[code language=”text”]
C:>bcdedit /displayorder {ntldr} {9a5f7120-36b8-11de-af50-abc7a9f010d0} {current}
この操作を正しく終了しました。
[/code]

identifier はインストールごとに変わるので、自分で bcdedit を実行して、表示結果からコピペする必要があります。