Vista に XP をインストールする方法

Windows Vistaクリーンインストールされている環境に以下の手順を実施し、XP とのデュアルブート環境を実現した。

  1. XP インストール
  2. Vista のブート環境を復元
  3. XP をブートするための設定を追加

なお、Vista の後に XP をインストールすると、Vistaブートローダー Bootmgr は XP のブートローダー NTLDR に置換されてしまうため(Vista が起動できなくなる)、上記のような作業が必要になる。

また、この作業にあたって以下のサイトを参考にした。

XP インストール

CD からブートして、Vista とは別のパーティションに Windows XP をインストール。

Vista のブート環境を復元

XP をインストールするとブートローダーが NTLDR に置き換えられてしまい、XP が起動するようになる。

そこで、起動した XP 上で Vista のインストール DVD 内の boot\bootsect.exe を以下のオプションで実行し、Vista のブート環境を復元する。

>f:\boot\bootsect.exe -NT60 all
(注)f は CD/DVD ドライブのドライブ名

XP をブートするための設定を追加

引き続き XP 上で、Vista をインストールしたドライブ(基本的に C:)のシステムフォルダ(windows\system32)内にある bcdedit.exe を以下のようなオプションで実行し、XP をブートするための設定を実施する。

NTLDR のあるパーティションを設定
(XP をインストールしたパーティションでは無いので注意)
>c:\windows\system32\bcdedit.exe /set {ntldr} device partition=C:

NTLDR のパスを設定
>c:\windows\system32\bcdedit.exe /set {ntldr} path \ntldr

表示名の設定
>c:\windows\system32\bcdedit.exe /set {ntldr} description "Windows XP Professional"

表示順を設定
>c:\windows\system32\bcdedit.exe /displayorder {ntldr} -addlast

(注){ntldr} の部分は {legacy} を使っても良いみたい。

上記コマンドが正しく実行されると、"この操作を正しく終了しました。" というメッセージが表示される。

なお、NTLDR は XP のインストール先のパーティションでは無く、Vista のインストールパーティション(C: ドライブ)にインストールされる点に注意が必要。

備考

参考にしたサイトでは、/set を実行する前に /create でエントリを作成する方法を指定していたが、実際のところ {ntldr} や {legacy} は既定の ID として登録済みのため、/create する必要は無かった。逆に /create を実施すると以下のようなエラーが発生した。

>c:\windows\system32\bcdedit.exe /create {ntldr} /d "Windows XP Professional"
指定された作成操作を実行中にエラーが発生しました。
指定されたエントリは既に存在します。