« Windows2000の時刻合わせ | トップページ | VineLinuxでDVDを観る »

2006/01/29

デュアルブートからトリプルブートへ

仕事の関係で、家のWindows2000にJavaの開発環境(富士通のInterstage)をインストールする必要があったのですが、インストーラーが正常に動きませんでした。
富士通のサポートに問い合わせたのですが、いかんせんインストーラーの問題のため原因不明。
もともとEclipseなどが入っている環境のため、競合があったのかな???

でも、なんとかしてインストールしなくてはいけないので、普段Linuxのクライアントとして使っているPC(Windows98とVineLinux3.1のデュアルブート)に余っているハードディスクを増設し、そこにWindows2000をインストールすることにしました。


ここで問題になるのが、MBRに入っているliloがWindows2000用のブートストラップコードに上書きされてしまう、ということです。
Windows98のデュアルブートは、Windows98→VineLinuxの順にインストールした為に、非常に簡単にできたのですが、今回はそういうわけにはいきません。
複数OSの起動設定では、今まで何度も失敗しているんですよ~。
とにかくマイクロソフト製OSのインストーラーは自分勝手なヤツが多くて、他のOSのブート領域をぶち壊しながらインストールしたりするんです。(T_T)

そこで、念のためMBMを使用してLinuxのパーティションを隠しておき、Windows2000インストール後にliloを再インストールしようと思ったわけです。


そう言えば、Linuxインストール時に作った起動ディスクってどこにやったっけ?
無くしたっぽい・・・。
Windows2000インストール後にLinuxを起動させるためには、起動ディスクが無いといけません。
起動ディスクってどうやって作るのだ?
と思って調べた所、Linux活用日記起動ディスクの作り方に詳しく載っていました。
mkbootdiskってコマンドを使えばいいのね~。

で、試したのですが、
mkbootdiskってなコマンドは無い!って怒られてしまいます。
そんなバカな!と思い、VineLinuxのSynapticからmkbootdiskを探したところ、インストールされていませんでした。(汗)
Synapticを使ってインストールすると、使えるようになりました。

まず、rootでログイン。
# uname -r
とコマンドして、OSのリリース番号を表示し、メモっておきます。
フォーマット済み(DOS用フォーマットでOK)のフロッピーを入れて、
# mkbootdisk 2.4.27-0vl7
(2.4.27-0vl7ってのはさっきのOSのリリース番号です。もちろん環境によって異なります。)
とコマンドすると、起動ディスクが出来上がります。
この起動ディスク、Win98とのデュアル環境で作ったのですが、Linuxの起動のみしか対応していません。
Linux専用起動ディスクなわけです。


現在の環境なんですが、
ハードディスク1個目の
基本領域にWindows98
拡張領域にFAT32(Windows98のマイドキュメント用)と
VineLinux用のパーティションが入っています。(liloでのデュアルブート環境
そこに、ハードディスクを1個追加し、追加したハードディスクにWindows2000をインストールします。


さて、Windows2000をインストールすることになるのですが、
その前に念のためにMBMを使って、Linuxのパーティションを隠しパーティションにします。
(ヘルプを見ると解ると思いますが、F4で詳細を表示してからF7で隠せます)
あとは普通にWindows2000をインストールします。

基本領域にWindows98が入っているので、勝手にNTLDRを使ったWindows98とWindows2000のデュアル環境が出来上がります。
でも、liloが上書きされているのでLinuxは起動できません。
そこで、さっき作った起動ディスクで起動します。

Linuxが起動したら、liloを上書きします。
Vine Linux ワークステーションWindows98とWindows2000とLinuxをliloを使ってトリプルブートを参考にしました。

NTLDRは、Windows98がインストールされているPBRから起動されているので、Windows98のデュアルブート時のLiloの設定を変更することなくそのまま使えます。(ラベル名変えたりとかはすると思うけど。)
そんなわけで、rootで
# /sbin/lilo
とコマンドするだけでliloの再インストールが完了します。


いちおう、私の環境の /etc/lilo.conf を載せておきます。

prompt
timeout=150
default=linux
boot=/dev/hda
map=/boot/map
install=menu
message=/boot/message

image=/boot/vmlinuz-2.4.27-0vl7
    label=linux
    initrd=/boot/initrd-2.4.27-0vl7.img
    read-only
    root=/dev/hda7
    append=" resume2=swap:/dev/hda8"

other=/dev/hda1
    optional
    label=Windows

timeoutを50(5秒)から150(15秒)に、
otherのlabelをwin98だったのをWindowsに変更しました。


起動ディスクを抜いて再起動したところ・・・・

できました!やった~!
最初にliloが起動し、LinuxかWindowsかを選択します。
Windowsを選択すると、今度はNTLDRが起動し、98か2000かを選択します。

デュアル環境構築には散々辛酸をなめさせられていただけに、かなり覚悟をしていたのですが、思っていたより簡単でした。

|

« Windows2000の時刻合わせ | トップページ | VineLinuxでDVDを観る »

デュアルブート」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54336/8390279

この記事へのトラックバック一覧です: デュアルブートからトリプルブートへ:

« Windows2000の時刻合わせ | トップページ | VineLinuxでDVDを観る »