スマホ向け表示

記事一覧

解決方法 : Windows VISTAインストール後、XPをインストールするとVISTAが起動できなくなる

デュアルブート環境のブート情報が変わるために起こるもので、
Windows VISTAをインストール後、Windows XPの新規インストールなどをしたら、
VISTAの起動が出来なくなる場合の対策方法のメモ。

Windows7 でも同様の操作で対策できます。
https://www.nekoprint.jp/cgi-bin/nekobeta/archives/9.html


※まず私の環境は上記のような環境ではなくてさらに特殊で、
2000→XP→Vista→Xp→2000→Vista→2000… てな感じでたくさん入っている。
またXP(2000)→Vista→XP(2000)っていう環境でも同様だ。

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /noexecute=optin
multi(0)disk(0)rdisk(2)partition(1)\WINNT="Microsoft Windows 2000 Professional V3" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional V2" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows 2000 Professional V2" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

私の使用する1つのPCにこんだけの環境があって、さらにVistaがある。
そんな環境のときの対策方法は以下でよい。

----------------------------------------------------
VistaのDVDを挿入し、PC電源投入時にDVDから起動させて
[スタートアップ修復]をすれば一番確実。
----------------------------------------------------

…他の手順としては下の①~⑦だけですむ。ただこれはお勧めしない。
上記のような環境の場合、無意味だと思うので…


そして本題の
最初のインストールがVista→2000 といったインストール順や、
最初のインストールがVista→XP といった順番なら、
下に書いてある①~⑥、⑧~⑪までを続けて実行する。
ただしメーカー製は注意が必要だ。


★原因:
起動に必要なファイルのうち、[BOOTSECT]+[NTLDR]or[bootmgr]
という3つのファイルが問題で、ブート情報が変わると、
これらのファイル依存関係が変わるために起こるものだ。

通常はOS発売順から行くと、
インストールする順番は、2000-XP-2003-VISTA-2008だが、
このうち、2000-XP-2003まではブートに使用しているファイルは
[NTLDR]+[BOOTSECT]なのでどのバージョンのOSからインストールしても
問題なくデュアルブートできるのだが、
VISTA以降は[NTLDR]に代わり[Bootmgr]ファイルを使用することになった。

そこへ何らかの事情でXPの再インストールなどをすると、
それまで[Bootmgr]を使用しての起動だったものが、こんどは
VISTAとは互換性のない[NTLDR]に起動情報が置き換えられてしまい、
VISTAが起動できなくなるわけだ。……合ってるのかな?


そしてこの起動情報(ブート情報)を修復すると良いというわけである。


ファイル 72-1.jpg
★対策方法:
① XP/2000/2003のいづれかを起動する。
② DVDドライブにVISTAのディスクを挿入する。
   ※DVDドライブのパスは [Rドライブ] とする。
③ コマンドプロンプトを起動する。
ファイル 72-2.jpg④ 以下を入力する。
  C:\Documents And Settings\USERNAME>R:  
   ※これでRドライブへ移動する。
  R:\> ←こんな表示になる。
⑤ 以下を入力する。
  R:\>cd boot
   ※これでDVDディスク内のBootフォルダへ移動する。
  R:\BOOT>
⑥ 以下を入力する。
  R:\BOOT>bootsect /nt60 all
   ※ブートセクタ情報を書き換えるコマンドライン
⑦ 再起動して確認する。
   ※ただし再起動の前に以下を確認する。

**********************************************************
[2000(XP)→Vista→2000(XP)修復インストール]や、
[XP→Vista→XP]などのOSが2つだけの"デュアルブート"なら
これでも有効…なんだけどね。
これだけでVISTAも起動するし、XPとか2000とかの旧OSも起動できる。
ただしあくまでもこれはVistaと、もうひとつの
”OSが2つだけの"デュアルブート"ならこれでも有効”ってだけ。


どういう意味かというと例えば、2000Proを1番目にインストールして、
[2000→XP→2003→VISTA→XP]のデュアルブート?トリプル?クワッド?で、
さらにVistaの後に[2000/XP/2003]のいづれかをインストールしていた場合、
①~⑦の対策をやってもVistaと、一番最初に入れたOSしか
起動しなくなるってわけ。それなら最初からVistaのDVDをつかって
スタートアップ修復だけですむ。

まあこんなたくさんのOS混在環境で先に①~⑦をやってしまってたら、
XPのCDから[NTLDR] ファイルだけをCドライブにコピー&ペーストしてやったら
すべてのOSが起動できるようになる。

ただやっぱりコレにも問題がある。
それは起動OS選択画面の文字がすべて英語になるということだ。

まあ、これさえ気にしなければ問題なくインストールした
すべてのOSが起動できるんだが…

しかもこれのタチの悪いのが、
[ntldr][NTDETECT.COM][boot.ini]のバックアップを取っていて、
それを元の位置に復元しても反映されないところかな。
どうにかならないもんかな…?


まあつまり結論として、トリプル以上のOSブートには①~⑥を操作しても
すべて起動できるわけではないから意味がないのである。
 
 
 
**********************************************************
そんなわけで環境しだいで上の①~⑥を実行した後に
⑧~⑪のコマンド操作をしてもエラーが帰ってくるだけ。
だが出来ないことはない。やったところで完全解決はしない。
ここで言うところのインストール順が
Windows Vista(またはWindows 7)-> Windows XP(またはWindows 2000)という順番以外には無意味。


というわけでインストール順がVista→XP(2000)っていう場合の
対策方法 続き――――
※ここでは、Windows 2000 Professionalをインストールすることとします。 
 
⑧ コマンドプロンプトを起動し、以下のコマンドを入力・実行する。
  Bcdedit /create {legacy} /d “Windows 2000 Professional の起動”
  
  実行すると、エントリ {ntldr} は正常に作成されました。 ―が表示される。

  ※またはインストールしたOSの順番で以下のような文章が出ることもある。

指定された作成操作を実行中にエラーが発生しました。
指定されたエントリは既に存在します。

  これは既にNTLDRファイルが作成されているということなので
  気にせずともよい。
⑨ 以下のコマンドを入力・実行する。
  Bcdedit /set {legacy} device boot
⑩ 以下のコマンドを入力・実行する。
  Bcdedit /set {legacy} path \ntldr
⑪ 以下のコマンドを入力・実行する。
  Bcdedit /displayorder {legacy} /addlast
  


この操作の途中に上のエラー表示が出てもそのまま続けても問題はない。
⑩・⑪まで正しく終了していたら再起動しても問題はない。

 
   
 
 
ちなみに、この下の写真はWindows 2000 インストール後、Windows7 をインストールしたときのものである。
 
-----------------------------------------------------------
ファイル 72-4.jpg
-----------------------------------------------------------