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

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

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

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

  1. WindowsNTのセットアップを開始する
    セットアップディスクで起動します。
     
  2. 「修復セットアップ」に進む
    2枚目のセットアップディスクの時に、「セットアップへようこそ」の画面が出ますが、ここでRを押します。


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


     
  4. 大容量記憶装置の検出
    次に、IDEコントローラやSCSIコントローラの検出です。ハードディスクは必ず何らかのコントローラに接続していますから、ここでそのデバイス(実際はドライバ)を検出します。IDEハードディスクでもIDEコントローラが必要です。
     

     
    通常は、自動検出でいいと思うので、Enter」キーで続行します。別のディスクにドライバがあるならS」キーで進んでください。
     

     
    ここで3枚目のディスク(ドライバが入ってる)が要求されるのので、これに入れ替えて、Enter
     

     
    自動検出が終わると、検出したデバイスが表示されます。表示されているデバイス以外に、特に追加するデバイスが無ければ、Enter」キーで続行です。追加が必要なら、ここでも追加インストールが可能です。
     
  5. 修復ディスクの挿入
    次に修復ディスクを挿入するか、自動検出するかの要求がなされます。修復ディスクがあっても、無しとしてESC」キーで進んでも構いませんが、挿入した方が次の選択フェーズがないので、ちょっとは早いです。


     
    Enter」キーを押した場合は、修復ディスクの挿入要求が出ます。
     

     
    修復ディスクをセットアップディスクと入れ替えて、Enter」キーを押します。
     
  6. 修復OSの選択(修復ディスクがない場合)
    修復ディスクを使わず、自動検出を行った場合、検出されれば、次のように表示されます。修復するOSの選択ですが、複数あっても、どれでも構いません。ブートセクターの検査は複数NTがインストールされていても、それぞれに共通だからです。


     
    Enter」キーで続行してください。
     
  7. 修復実行
    後は、修復作業が実行され、下記の画面が出たら完了です。

 かなり手続きが面倒ですが、これは結局、「sysコマンド」を行うことになります。

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

 WindowsNTブートセクターの修復は、WindowsNTが起動しない状態で行うでしょうから、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ドライブをフォーマットしてしまった場合(画面付き、WindowsNT版)

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

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

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

[Cドライブに必要なWindowsNT系のファイル]
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. WindowsNTのセットアップを開始する
    セットアップディスクで起動します。
     
  2. 「修復セットアップ」に進む
    2枚目のセットアップディスクの時に、「セットアップへようこそ」の画面が出ますが、ここでRを押す。


     
  3. タスクの選択
    タスクが全てデフォルトで選択されているので、「レジストリファイルの検査」だけ外して、「続行(選択したタスクを実行)」を選びます。


     
  4. 大容量記憶装置の検出
    次に、IDEコントローラやSCSIコントローラの検出です。ハードディスクは必ず何らかのコントローラに接続していますから、ここでそのデバイス(実際はドライバ)を検出します。IDEハードディスクでもIDEコントローラが必要です。
     

     
    通常は、自動検出でいいと思うので、Enter」キーで続行します。別のディスクにドライバがあるなら「S」キーで進んでください。
     

     
    ここで3枚目のディスク(ドライバが入ってる)に入れ替えて、「Enter」
     

     
    自動検出が終わると、検出したデバイスが表示されます。表示されているデバイス以外に、特に追加するデバイスが無ければ、Enter」キーで続行です。追加が必要なら、ここでも追加インストールが可能です。
     
  5. 修復ディスクの挿入
    次に修復ディスクを挿入するか、自動検出するかの要求がなされます。修復ディスクがある場合は勿論、修復ディスクの方を選択します。


     
    Enter」キーを押した場合は、修復ディスクの挿入要求が出ます。
     

     
    修復ディスクをセットアップディスクと入れ替えて、Enter」キーを押します。
     
    修復ディスクが無く、事前にboot.iniを作成し、Cドライブの直下に置いた場合は、ESC」キーシステムの自動検出を行わせます。
     
  6. 修復OSの選択(修復ディスクがない場合)
    見つかったシステム(OS)が表示されます。


     
    Enter」キーで修復を開始してください。
     
  7. 修復ディスクが無く、boot.iniもない場合
    もしboot.iniが存在しない状態でシステムを自動検出されると、以下のメッセージが出て先に進むことができません。



    修復ディスクがない場合に、boot.iniを作る必要があるのはこのためです。先ほども説明しましたが、ここで修復するシステムを探すにあたて、boot.iniを参照しているだけなのです。boot.iniを作成しても、このエラーメッセージが出る場合は、boot.iniの記述が間違っているか、実情と記述したエントリが一致しないためです。もう一度Boot.iniの記述などを見て、書き直してください。
     
  8. レジストリの修復タスク
    もし、タスクの選択で、「レジストリファイルの検査」を選択してしまっていると、以下のような画面が出ます。

    特にレジストリを修復する必要はないので、全て[X]を外したままでいいでしょう。デフォルトでは全て外れています。「続行(選択したタスクを実行)」を選択して、「Enter」キーを押してください。
     

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



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

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

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


     

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

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