VistaとXPでデュアルブート
Vista、XP、Linuxのトリプルブートの第1歩としてVistaとXPのデュアルブート環境を構築する。
ハードディスク内のパーティションは最終的に次のようになることを目標としている。(今回使用したHDDは500GB)
- Windows Vista(NTFS) : 0.0~153.6GB
- Windows XP(NTFS) : 153.6~307.2GB
- Data(Fat32) : 307.2~409.8GB
- Linux(Ext3) : 409.8~465.8GB
DataはVista、XP、Linuxからアクセスできる共有パーティション。
1.VistaとXPをインストール
XPがインストールされているPCにVistaをインストールすればVistaがXPを認識してくれるので簡単にデュアルブートできるようになるけど、あくまでもVista本位のシステムにするため(これは自分ルール)にVista、XPの順にインストールする。
まずは先頭パーティションにVistaをインストールする。これは普通にインストールして問題ない。(ちなみにVistaアップグレード版でのクリーンインストールはMicrosoft公認らしい)
次に2番目のパーティションにXPをインストールする。これもインストール自体は普通にやればいい。問題はインストール後である。
このようにXPをインストールするとMBR(マスターブートレコード、ブート実行コードが含まれている)が書きかえられてしまう上、VistaとXPのブートプロセスには互換性がないのでVistaが起動できなくなってしまう。
[Windows XPのブートプロセス] 1.NTLDRがBOOT.INIを読み込む -> OSの選択画面を表示 2.NTLDRがNTDETECT.COMを実行 -> ハードウェアの互換性を検査 3.NTOSKRNL.EXE、ドライバ読み込み、DLL起動 -> XPが起動 [Windows Vistaのブートプロセス] <XPとの違い> ・NTLDRからBOOTMGR(Windowsブートマネージャ)に変更 ・起動するOSの情報をBOOT.INIではなくBCD(ブート構成データ) というバイナリデータとして保管 1.BOOTMGRがBCDを参照 -> OSの選択画面を表示 2.WINLOAD.EXEを呼び出す 3.NTOSKRNL.EXEを読み込む -> Vistaが起動
つまりMBRから呼び出されるのがBOOTMGRからNTLDRに変更されてしまうことが原因だと思う。
2.MBRの復旧
このままではVistaを起動することができないので、MBRを書きなおす必要がある。
まずはXPを起動させ、光学ドライブにVistaのインストールDVDを挿入し、コマンドプロンプトを起動する。そして次のコマンドを実行する。(Driveは光学ドライブのドライブ文字)
> Drive:\boot\bootsect.exe /NT60 All
これを実行するとMBRを復旧できる。
3.VistaのBCD(ブート構成データ)にXPの情報を入力する
MBRを復旧したあとはXPのブート構成情報をVistaのBCDに追加しておく必要がある。
まずは、BCD内にXP用のエントリを作成する。(CはVistaインストール先のドライブ文字)
> C:\windows\system32\bcdedit /create {ntldr} /d "Microsoft Windows XP"
ちなみにダブルクォーテーション内の文字列はOS選択画面で表示される文字列。また、次のような操作もできる。
{ntldr}エントリ内の情報を削除 C:\windows\system32\bcdedit /delete {ntldr} /f {ntldr}エントリ内の情報を表示 C:\windows\system32\bcdedit /enum {ntldr} /v
次に、XPのエントリに起動するための情報をセットする
C:\windows\system32\bcdedit /set {ntldr} device partition=C:
XPのエントリにブートローダーの情報をセットする
C:\windows\system32\bcdedit /set {ntldr} path \ntldr
OS選択画面のメニュー表示を設定
C:\windows\system32\bcdedit /displayorder {ntldr} /addlast
これでVistaとXPのデュアルブート環境が整う。
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント