複数のOSをインストールする場合や、ハードディスクを追加して、元のハードディスクの内容をコピーして新しいハードディスクから起動できるようにするには、MBRを操作しなければならない場合があります。

MBRはハードディスクの一番最初のセクタにあり、ハードディスクのパテーション情報や、OSを起動するためのプログラムが保存されています。

OSを追加した場合で、前のOSが起動できなくなった場合、MBRが上書きされてしまうことが原因の一つにあげられます。Windows 2000など行儀のよいOSは、前のOSを起動メニューに登録してくれます。しかし、Windows 2000にWindows 98をインストールした場合は、上書きされてしまいます。

また、新しいハードディスクを購入し、同じドライブ構成で初期化し、旧のハードディスクから内容をコピーしても新しいハードディスクから起動できない場合があります。

ここでは、Windows 2000のMBRをベースにして複数のOSを切り替える方法を説明します。

Windows 2000のOS切り替えメカニズム

インストール時にwindows 2000用のMBRが上書きされ、前のOSのMBRはCドライブにたとえばBOOTSECT.DOS等という名前で保存されます。

起動時にbiosからwindows 2000のMBRが読み出され、boot.iniの内容をみてメニューを表示し、前のOSであればBOOTSECT.DOSを読み込んで実行します。したがって、他のOSのMBRをCドライブにファイルとして作成して、boot.iniに記述すれば、いろいろなOSが起動できるわけです。また、他のOSに上書きされた場合は、そのOSのMBRをファイルとして保存し、boot.iniを修正し、windows 2000のMBRを上書きするば、複数のOSの起動が可能となるわけです。

Windows 2000がインストールされているハードディスクにWindows 98をインストールしたら、Windows 98しか起動できない。

現在のMBRはWindows 98用になっているので、

boot.ini(隠し属性等がついている)の最後に c:\="Microsoft Windows" という行を追加する。

ハードディスクのMBRをBOOTSECT.DOSというファイル名で保存する。

Windows 2000の起動ディスクより回復コンソールを起動して、MBRを上書きする。

各操作の詳細手順は、後ろを参照してください。なお、他のハードディスクからBOOTSECT.DOSを持ってきても起動できないことが多いです。(パテーション等の構成が異なることから)

複数のOSが新たにハードディスクを購入して、同じ方法でパテーションを切り、古いハードディスクの内容をコピーしたが、新しいハードディスクから起動できない。(windows 98,2000がインストールしてある。)

前とドライブ名が変わらないという前提です。

まず、新しいハードディスクでwindows 98を起動できるようにします。

  Windows 98の起動ディスクでMBRを上書きします。

上書きされたMBRをc:\bootsect.dosという名前で保存します。

Windows 2000の起動ディスクでMBRを上書きします。

 

ハードディスクのMBRをファイルに保存する。

Windows 98の起動ディスクとdebug.exeを用意する。

起動ディスクより起動して、debugコマンドを実行する。

CドライブのMBRをメモリ100番地以降に読み込む。

MBRの保存先をc:\win2k.pbrとする。(ファイル名は任意)

ファイルに書き込むサイズを指定する。512バイト

ファイルに書き込む。

これらは、下記のように入力すれば実行されます。

debug

L 100 0 0 1

N win2k.pbr

r cx

0

r bx

200

w

q

で、c:\win2k.pbrにバックアップが取れました。

ハードディスクのMBRを上書きする。

各OSの起動ディスクで上書きする。

Windows 98では、 アプリケーションの追加と削除で起動ディスクが作成できます。

起動ディスクで起動後、sys c: を実行するば上書きされます。もとのMBRは消えますのでくれぐれも注意してください。

Wndows 2000では起動ディスクで起動して、回復コンソールを起動後、fixboot c: と入力すれば、修正されます。

ファイルに保存しておいたMBRで上書きする。

Windows 98の起動ディスクとdebug.exeを用意し起動ディスクで起動します。

debug 保存しておいたファイル名 コマンドを実行する。

メモリにMBRが読み出されたので、ハードディスクのMBRを上書きする。

debug c:\win2k.pbr

W 100 2 0 1

q

でMBRが上書きされます。

他のハードディスクから抜き出したMBRファイルのドライブ情報のみ現在のハードディスクの内容に書き換える。

危険な技なので、記述しません。原理的にはBPBを書き換えれば可能です。