Windows2000を追加(前準備)
(2004/8/12)

さて、現在、Windows98/XP/Lindowsの3つのOSを起動できるようになりましたが、ここにさらにWindows2000を追加してみたいと思います。
ですが、ことはそれほど単純ではありません。
いくつかの懸念材料があります。

懸念材料1:MBRが上書きされてしまう
Windows2000をインストールすると、MBRが上書きされしまいます。
当然といえば当然ですね。
MBRが上書きされると言うことは、せっかくインストールしたLILOの起動画面が表示されなくなり、Windows2000の起動画面が直接出てきしまうということです。当然、マルチブートもできなくなってしまうわけです。
再度LILOをMBRにインストールすれば済むことなので、問題はどうやってLILOを再インストールする方法を確保するかです。
方法はいろいろあるとは思うのですが、何はともあれ、LILOをフロッピーからブートできるようにしておけばなんとかなりそう。
フロッピーからLindowsを起動して、再度LILOコマンドでMBRにLILOをインストールしてあげればいいはずです。

懸念材料2:Windows2000インストーラの行儀の悪さ
どうやら、Windows2000のインストーラは、他OSが入っている環境にインストールする際、よけいなことをしがちなOSのようです。
もっとも顕著な例は、WindowsNTがインストール済みの環境にインストールした時。
Windows2000のインストーラは、インストール時にNTFSファイルシステムを見つけると、勝手にNTFS5に変換してしまいます。
WindowsNTもNTFSを採用していますが、Windows2000のNTFS5よりバージョンの古いNTFS4というファイルシステムを使っていますから、WindowsNTにとってはたまったものではありません。
こうなった場合、WindowsNTが起動不可能になるという取り返しのつかない事態を招きます。
この問題、WindowsNTにSP4以降が当たっていれば(NTFS5も読み書きできるため)問題ないのですが、いずれにしても相手のことを考えずに勝手にファイルシステムを変換するWindows2000のインストーラは身勝手すぎます。
今回、WindowsNTは環境にないので特別問題は起きないかもしれませんが、このように横暴なWindows2000インストーラに他のパーティションをさらしておくのは得策ではないと思われます。必要/不必要に関わらず、Windows2000をインストールする際には、他のパーティションは完全に隠しておいたほうがよさそうです。
ただ、Windows2000からパーティションを隠す方法は簡単ではないようです。前ページで実施した、LILOによる隠しパーティションの設定は、パーティションのIDを書き換えることによって隠しパーティションを作りますが、対Windows2000に対してはそれだけでは隠しきれないようで、それでもNTFSパーティションを見つけてしまうそうです。(なんだかずいぶんお節介ですね)
ですが、方法がないわけではないようです。かなり裏技的な方法ですが、MBMというツールを使って可能なようですので、これを機にMBMも援用してWindows2000のインストールをしてみたいと思います。



とうことで、Windows2000をインストールする前に、
① LILOをフロッピーから起動するようにする。
② MBMを使って、XPがインストールされているパーティションを完全に隠す。
作業を行います。

① LILOをフロッピーから起動するようにする。
まずはLILOをFDからブートできるようにします。
これは、非常に簡単。
空きフロッピーを1枚用意してLindowsのコンソールから、
fdformat /dev/fd0
を実行し、フロッピーをフォーマットします。

その後、LILO.CONFを開き、以下のように変更します。
# This is a machine generated file. If edited, the
# system will stop modifying it. To allow the system to
# resume management of this file, remove it and run
# /sbin/fooze.

#boot=/dev/hda
boot=/dev/fd0
     ・
     ・
     ・
上記のように、
boot=dev/hda
の先頭に#を付けてコメント行にしておき、その下に
boot=/dev/fd0
を書き足します。

あとは、コンソール上から、LILOを実行するだけ。

「The boot sector and map file are on different disks.」なる警告が出ています。
この警告、どうやら、
「ブートセクタファイルと、マップファイルが、(LILOをインストールしたFDにはなく)、他のディスク(ハードディスク)にありますがいいですか?」
といっているようです。
つまり、このフロッピーだけあっても、Lindowsがインストールされたパーティションがなくなると起動しなくなってしまうということでしょうか?
逆に言えば、どうにかすればフロッピーにブートに必要なファイルをすべて入れることができるようなのですが、今回はそこまでやる必要はないでしょう。
とりあえずこれで、フロッピーから起動するといつも通りのOS選択メニューが出るようになります。

② MBMを使って、XPがインストールされているパーティションを完全に隠す。
このMBM(Multiple Boot Manager)というツールは、LILOと同様、ブートローダなのですが、その付属機能としてパーティションテーブルの書き換え機能があり、自由に隠しパーティションを設定(パーティションをマスクする)することができます。さらに、MBMには通常のマスク機能だけでなく、対Windows2000用マスク(って勝手に命名してますが)が行える特別なバージョンが用意されていますので、今回はこれを使おうと思います。(PBRの中身も書き換えるので危険度が高いため、特別バージョンとして提供されています)
MBMはMS-DOS用のプログラムなので、WindowsNT系のOSでは動作しません。ですので、今後のことも考えて、DOSの起動フロッピーを作成しておき、そこにMBMを入れておきましょう。
WindowsXPならば、フォーマットの時に、「MS-DOSの起動ディスクを作成する」にチェックをして、フォーマットすれば、自動的に起動ディスクを作成してくれます。


次に、MBM R0.361(mbm0361.zip)をダウンロードします。
※現在の最新バージョンはR0.38ですが、R0.38にはWindows2000から完全にパーティションを隠す機能がありませんので、必ずR0.361をダウンロードしてください。

ダウンロードしたファイルを解凍すると、
MBM0361.TXT
MBM0361.COM
という2つのファイルがあります。
必要なのは、MBM0361.COMだけなのですが、たいしたサイズでもないので、二つともフロッピーに入れておきます。

さて、MBM用のフロッピーの作成が終わりましたら、早速このフロッピーから起動します。
MBMのパーティションマスク機能は、一旦MBRにインストールしないと使えません。ですので、フロッピーから起動したら、mbr0361 installを実行します。
警告が出るので、Yを押します。(以下の例は、MBMEXTフォルダの中にMBMが入っています)


その後ハードディスクから起動すると、最上段にMultiple Boot Manager R0.361と書かれた画面が表示されます。
最初は必要最小限の情報しか表示されないので、F1キー(ヘルプ表示)、Vキー(詳細情報表示)を押すと、以下のような画面になります。


問題のWindowsXPがインストールされたパーティションは、
1. 17h[--m-] WindowsXP
という表示なっています。
"m"の表示は、現在、このパーティションがマスクされていることを示します。
ですので、Mキーを一度押し、これを一度クリアします。(もちろん、はじめからマスクされていなければこの作業は必要ありません)
そして再度Mキーを押します。
表示上は元に戻ったかたちですが、これでWindows2000から完全に見えない隠しパーティションになったことになります。
あとは、Endキーを押してMBMを終了してください。

これで、Windows2000インストールの前準備が終わりました。
やっとWindows2000のインストールができそうです。

<前へ  Home  次へ>