マルチブートの仕方(Windows初級編)

2001/12/02
インストールの順序(画面付き、Windows2000版)

 デュアルブート環境をつくるには、Windows9xの後にWindows 2000をインストールする必要があると申し上げましたが、逆では無理なのでしょうか? 基本的に無理ではありません。ただWindows95の場合は、Windows2000のブートセクターを知らないので(後から開発されたから)、自分をインストールするときにWindows9x用のブートセクターに書き換えたまま、Windows2000のインストーラのように元のブートセクターをファイルに退避するなどということはしません。ちょうど先程説明した「sysコマンド」を実行したのと同じ状態になります。

 もっともこのようにブートセクターを書き換えられてしまった場合でも、修復する方法がいくつかあります。まずその内の最もオーソドックスな方法として、Windows2000の修復セットアップのブートセクターの検査という手段があります。具体的には以下の手順です。

  1. Windows2000のセットアップを開始する
    CDブートか、セットアップディスクで起動します。
     
  2. 「修復セットアップ」に進む
    「セットアップへようこそ」でRを押す。


     
  3. システム修復処理へ進む
    「Windows2000修復オプション」でRを押す。


     
    尚、ここでCを押すと、回復コンソールに進みます。
     
  4. 「手動修復」へ進む
    修復オプション選択でMを押す。


     
  5. オプションタスクの選択
    オプションタスクが全てデフォルトで選択されていますが、ブートセクターの検査スタートアップ環境の検査だけ残して、あとはXを消して、「続行(選択したタスクを実行)」を選びます。「スタートアップ環境の検査」も必須ではないのですが、これを行なうとboot.iniなどもメンテナンスしてくれるので、選んでおいても損はないです。


     
  6. 修復ディスクの挿入
    修復ディスクがあっても、無しとしてL」または「ESCで進んでも構いませんが、挿入した方が次の選択フェーズがないので、ちょっとは早いです。


     
  7. 修復OSの選択(修復ディスクがない場合)
    修復するOSの選択ですが、複数あっても、どれでも構いません。ブートセクターの修復は複数NTがインストールされていても、それぞれに共通だからです。


     
  8. 修復実行
    後は、修復作業が実行されるだけです。


     
  9. 完了
     

     

 以上で、修復は完了です。かなり手続きが面倒ですが、これは結局、「sysコマンド」を行うことになります。Windows2000の場合は、「ブートセクターの検査」のほかに、回復コンソールの「fixbootというコマンドでもブートセクターの修復が可能です。

 上記3番で、Cで「回復コンソール」を選択できますから、こちらに進みます。

  1. 回復コンソールへ進む
    C
    を押す。


     
  2. OS選択とAdministratorパスワードの入力
    複数NT系OSがインストールされていると、複数のOSが選択できますが、修復セットアップの時と同じように、いずれでも構いません。ただしAdministratorのパスワードが要求されますから、入力します。


     
  3. 「fixboot」コマンドの実行
    ログイン後、fixboot」コマンドを実行すれば、ブートセクターの修復は完了です。
     
     
    C:\WINNT> fixboot
     

 ブートセクターの修復だけなら、こちらの方がちょっと速いかもしれません。

 また別のツールを使いますが、もう少し簡単な方法もあります。 BootPartというユーティリティを使う方法です。http://www.winimage.com/bootpart.htmから入手可能なフリーソフトで、見た目DOSコマンドのようですが、れっきとしたWin32コンソールアプリケーションです。WindowsNT/2000のブートセクターの修復の他、様々なことが可能な便利なユーティリティで、DOS上(起動ディスク、またはWindows9xのCommand Prompt Only)、またはWindowsNT/2000上で動作します。(Windows9xのMS-DOSプロンプトでは動作しません)

 WindowsNT/2000のブートセクターの修復は、WindowsNT/2000が起動しない状態で行うでしょうから、Windows9xの起動ディスクで起動するか、Windows9xの起動時にShift-F5、またはF8で起動メニューを出して、「Command Prompt Only」で起動して、以下のように実行します。

[BOOTPARTユーティリティによるブートセクターの修復]
 
C:\> bootpart  winnt  boot:c:
 

 これだけで修復完了です。先の2つの方法より、簡単だと思います。BootPartコマンドは、便利なユーティリティなので、NTLDRを使ったデュアルブートを行っているなら、一つ持っていて損のないものですから、入手しておきましょう。BootPartコマンドの詳しいことはBootPartユーティリティの使い方にまとめてありますから、もっと詳しく知りたい方はご参照下さい。

 ところで、Windows98の場合は、NTとのデュアル環境を知っているので、インストール時にその環境になっている場合はブートセクターを書き換えません。この場合は基本的にはちゃんとNTLDRによるデュアルブート環境を維持することができます。しかしどうもうまくいかない場合も多いようです。理由はわかりません。しかしこの場合でもWindows95の時と同じように修復できます。

 もっともパーティション構成によってはWindows NTの後にWindows9xをインストールするのは難しい場合があります。たとえば既にCドライブがNTFSになっているような場合です。この場合は基本的には、別の基本領域にWindows9xをインストールして、アクティブ切り替え機能のあるブートローダを使う必要があります。このあたりの詳細は、機能編以降を参照して下さい。いずれにしても基本は、Windows9xの後にWindows NTをインストールするというのは問題のないデュアルブート環境構築の順序です。

 


Cドライブをフォーマットしてしまった場合(画面付き、Windows2000版)

 Windows2000の後に、Windows9xをインストールした場合でも、通常は前述のように簡単に修復できることは分かったと思います。しかしWindows9xのインストール時に Cドライブをフォーマットしてしまった場合、話は少しややこしくなります。

 実際、インストール時にフォーマットすることは多いと思いますし、リカバリCD-ROMからのインストールの場合、勝手にフォーマットされてしまうことも多いでしょう。ここではそういう場合のデュアルブート環境の修復について説明します。

 ところで、フォーマットしてしまうと、そうでない場合に比べ、なぜ話が少し面倒になるのでしょうか。それは、Cドライブに存在すべきファイルがなくなってしまうからです。前段落までは、ブートセクターDOS-IPLのものになるだけでした。従って、修復するのはブートセクターだけで良かった訳ですが、Cドライブをフォーマットしてしまった場合は、以下のCドライブに存在すべき、ファイルも復元しなければなりません。

[Cドライブに必要なWindows2000系のファイル]
NTLDR
boot.ini
bootfont.bin
ntdetect.com

 この中で、NTLDRbootfont.bin、及びntdetect.comは実行ファイルですべての環境で共通ですが、boot.iniだけは、あなたの環境特有のものです(大抵は多くの人が同じような内容だとは思いますが)。従って簡単に修復することはできません。

 ただし、もしあなたが修復ディスクを予め作っていたら、ことは格段に簡単になります。この修復ディスクには、boot.iniに書かれる情報が記録されているからです。では修復ディスクがない場合は、どうするのでしょうか?

 ちょっと脅したようになりましたが、実はそんなに深刻になる必要はありません。幸いboot.iniファイルはテキストファイルなので、起動するWindows9x上で、Cドライブの直下に自分でメモ帳などを使って作ればいいのです。

 作り方は、このページと、Boot.iniの記述を参考にしてください。決して難しいものではありません。繰り返しになりますが、「修復ディスク」がある場合は、自分でboot.iniファイルを作る必要はありません。これからお話する修復プロセスで自動的にboot.iniファイルが作成されます。

 非常に重要なので、また後でも説明しますが、このBoot.iniの作成は、修復ディスク無しで修復セットアップを実行するのに必須のアイテムです。修復ディスク無しで修復セットアップをする場合、OSの自動検出をさせますが、これは実は単にboot.iniを見ているだけなのです。決してハードディスクを総なめして、WINNTディレクトリを探してくる訳ではありません。ですからboot.iniを正しく記述しないと検出が成功せず、修復セットアップを完遂できません。

 boot.iniファイルを作成したら、早速修復にかかりましょう。ここでは、boot.iniファイルを自分で作った場合と、修復ディスクがある場合の両方の説明をします。手続き的には殆ど同じなので。また前段落のフォーマットしていない場合の修復とも殆ど同じです。違いがどこにあるか、気をつけて読んでください。

  1. Windows2000のセットアップを開始する
    CD-ROMブートか、セットアップディスクで起動します。
     
  2. 「修復セットアップ」に進む
    「セットアップへようこそ」でRを押す。


     
  3. システム修復処理へ進む
    「Windows2000修復オプション」でRを押す。


     
  4. 「手動修復」へ進む
    修復オプション選択でMを押す。


     
  5. オプションタスクの選択
    オプションタスクが全てデフォルトで選択されています。そのまま全て選択したままにして下さい。ブートセクターの検査スタートアップ環境の検査、及びWindows2000システムファイルの確認の全てに[X]印があることを確認して、「続行(選択したタスクを実行)」を選びます。
     

     
  6. システム修復ディスクの挿入
    修復ディスクがある場合は、ここで挿入してください。無い場合は、Lで進みます。
     

     
  7. 修復OSの選択(システム修復ディスクがない場合)
    修復するOSの選択ですが、複数あっても、どれでも構いません。ただし、どれを選択したかは覚えて置いてください。
     

     
    もしboot.iniがない場合、または記述が間違っている場合、以下のメッセージが出て先に進むことができません。
     

     
    修復ディスクがない場合に、boot.iniを作る必要があるのはこのためです。先ほども説明しましたが、ここで修復するシステムを探すにあたて、boot.iniを参照しているだけなのです。boot.iniを作成しても、このエラーメッセージが出る場合は、boot.iniの記述が間違っているか、実情と記述したエントリが一致しないためです。もう一度Boot.iniの記述などを見て、書き直してください。
     
  8. ドライブの検査
    ここでドライブの検査が行われ、検査が完了するとインストールCD-ROMを要求します。
     

     

     
  9. ファイル修復フェーズ
    ファイルの修復が始まると以下のようなメッセージがでます。

      
     
    修復が必要なのは、実際ntldr、bootfont.bin、ntdetect.comの3ファイルだけなので、これらのみEnter」キー修復して、後は全てEsc」キースキップしてもいいのですが、非常に沢山あって面倒なので、ここはA」キーで全部修復してしまいましょう。ただしその場合で、もしサービスパックを適用していた場合、一部のファイルが元の古いものに戻ってしまうので、サービスパックの当てなおしをする必要があります。

    それがどうも気になるという人は、面倒でも残りのファイルを全てスキップするか、上記3つのファイルが最初に修復されるので、これらのファイルの修復が終わったら、その時点で「F3」キーで終了してしまうという手もあります。ただし後者の場合、ブートセクターが修復されずに終了してしまうので、もう一度「ブートセクターの検査」タスクだけ、やり直す必要があります。

    しかしサービスパックによっては、上記3つのファイルも変更されている場合があるので、いずれにしてもサービスパックの当てなおしは必要です。ただサービスパックによって、当てなおされるファイルが最小限度に留まるので、神経質な人は、より安全な後段の限定修復を選んでもいいでしょう。
     
  10. 完了
     

     

 基本的にこれで修復は完了です。サービスパックを既に適用済みの人は、当てなおしてください。

 なお、先に紹介したBootPartユーティリティでは、この場合は修復出来ませんので、上記方法を実施してください。