Windows・MBRの操作
概要
複数の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を書き換えれば可能です。