Windows2000を追加(本番)
(2004/8/16)

準備は万端(のはず)です。
早速、Windows2000をインストールします。
結論から言えば、何の問題もなくインストールできました。

写真はWindows2000のインストーラの画面ですが、最上段から、WindowsXP、Windows98、Lindows用のパーティションがリストアップされています。
ですが、WindowsXPとWindows98のパーティションは「Inactive(OS/2 Boot Manager)」という認識になり、ドライブレターが割り当てられていない状態となっています。当然Lindows用のパーティションは、もともとWindowsでは認識不可能なファイルシステムを使っているので、「不明」となり、当然ドライブレターは割り当てられません。
この状態から、Windows2000をインストールするためのパーティションを適当なサイズで作ってみると、

のように、作成されたパーティションはC:として予約されます。
ここまでくれば勝ったも同然。通常の新規インストールの要領でWindows2000をインストールします。

・・・さて、ここからが要注意です。
Windows2000をインストールを滞りなく済ませパソコンを再起動すると、いきなりWindows2000が起動するようになります。こうなることははじめからわかっていたので、そのためにLILOの起動用FDを作成したわけですが、このFDを使って再度LILOをMBRにインストールするのは後回しです。その前にやっておかなければならないことがあります。
それは、MBMで行った隠しパーティションの操作を元に戻す作業です。
MBM(の特別バージョン)で行った隠しパーティションの操作は特殊なので、LILOで隠しパーティションを解除しても解除されません。この状態を戻すには結局やった本人のMBMでしか元に戻せません。

ですので、(Windows2000をインストールしたことでMBRが書き換わっているので)再度MBMをMBRにインストールし、さっきMBMでマスクしたパーティションをMキーで解除してあげます。(MBMの使い方は再録しません。前ページ参照願います。)



ここまで終われば、あとはLILOをインストールするだけ。
FDからLILOを起動し、LindowsOSを選択します。


Lindowsが起動したら、LILO.CONFを、MBRインストール用に編集します。
具体的に言えば、「LILOをフロッピーから起動するようにする」で行った編集を元に戻し、ついでに新規に加わったWindows2000用のメニューも追加しておきます。
たとえば、以下のようになります。(黄色部分に注目)
## 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

install=/boot/cboot.b
message = /boot/splash.lilo
map=/boot/map
prompt
fix-table
lba32
delay=70
timeout=70
image=/vmlinuz
  label=LindowsOS
  vga=0xf04
  root=/dev/hda3
  initrd=/boot/initrd-2.4.20.gz
  append="acpi=off "
image=/vmlinuz
  label="Diagnostics"
  vga=normal
  append="single acpi=off "
  root=/dev/hda3
  initrd=/boot/initrd-2.4.20.gz
other=/dev/hda1
  label="WindowsXP"
  change
   partition=/dev/hda1
    activate
    set=ntfs_normal
   partition=/dev/hda2
    deactivate
    set=fat32_hidden
   partition=/dev/hda4
    deactivate
    set=ntfs_hidden
other=/dev/hda2
  label="Windows98SE"
  change
   partition=/dev/hda1
    deactivate
    set=ntfs_hidden
   partition=/dev/hda2
    activate
    set=fat32_normal
   partition=/dev/hda4
    deactivate
    set=ntfs_hidden
other=/dev/hda4
  label="Windows2000"
  change
   partition=/dev/hda1
    deactivate
    set=ntfs_hidden
   partition=/dev/hda2
    deactivate
    set=fat32_hidden
   partition=/dev/hda4
    activate
    set=ntfs_normal


その後、コンソールからLILOを実行。



※このとき、MBMの隠しパーティションの設定を元に戻し忘れていると、「First sector of /dev/hda/1 does't have a valid boot signature」
などというエラーが表示され登録ができません。
二度手間になりますので、MBMでの作業は忘れずに行っておきましょう。


これで全作業終了!!。
パソコンを再起動すると、LILOの起動メニューが表示され、Windows2000の選択メニューも追加されているのがわかると思います。




いや~長かった(^^;
とりあえず、ここまでで構築作業は終わりにします。
ですが、マルチブート環境を構築する上で、この方法が最良だと言うつもりはこれっぽっちもありません。
というより、LILOの起動メニューのプロンプトはなぜか文字化けしているし、MBMの特別バージョンなんていうかなり危険度の高いツールを使ったりと、「なんとかかんとか構築しました」感が拭えません(^^;
とはいえ、NTLDRを使ったマルチブートよりもはるかに使い勝手のよいマルチブート環境ができたと自負しています。また、この要領で行けば、原理的にはWindowsNTやWindows95を追加することも不可能ではないはずです。(これらのOSは仕様が古いために、大容量HDDに対応していないとか、物理的に先頭の方にパーティションを確保しないとダメだという問題は別として)

今回は、LILOを使ってマルチブートを構築しましたが、おそらく現時点で最高のマルチブート環境を構築できるであろうブートローダはGRUBです。
一方、Linuxに慣れていない方にはMBMでも同様のことができると思います。
MBMは本記事では脇役での登場でしたが、本来の機能はブートローダです。機能的にも、ことWindowsのブート能力に関して言えば非常に強力です。

まだまだ、マルチブートの世界は奥深いです。筆者も継続的に研究していきたいと思っていますので、また機会があれば採り上げてみたいと思います。

最後に、構築した環境のまとめを記しておきます。

<前へ  Home  次へ>