デュアルブート

2006/05/01

librettoU100でデュアルブート

librettoU100を買ってすぐに、WindowsXPとVineLinux3.2をデュアルブートしました。
ノートPCということもあり、NTLoaderからデュアルブートできるようにしようと思いました。
今まで何度かデュアルブートさせたことはありますが、NTLoaderを利用する方法はやったことが無く、初めての経験です。
うまくいくかな・・・???

参考にしたのは、@ITのLinux Tipsの「Windows XPとLinuxを共存させるには(LILO編)」です。


以下作業手順です。

まず、取り扱い説明書を読んで、リカバリ用ディスクを作っておく。
本当は作らなくても大丈夫なんですが、最悪リカバリ用のパーティションを破壊すると困るので、DVDとCDに焼いておきました。

取扱説明書を読みつつ、パーティションを変更&WindowsXPを再インストール。
私の環境は、

基本領域
WindowsXP  20G
以下拡張領域
WindowsXP用マイドキュメント 16G(最後に残り全部を割り当て)
Linux用 16G

といった感じです。
WindowsXPインストール後に、残りのパーティションを作成し、マイドキュメント用パーティションをフォーマットしておきます。


次に、MBMが起動できるように設定します。
というのも、Linux用の起動ディスクを作成できないので、MBMから起動しないとLinuxを起動する手段が無くなってしまうからです。
MBMのアーカイブを解凍すると、mbm038.144ってファイルがありますが、これがフロッピー用のイメージです。
これを、東芝のSDカード用のツールでSDカードからブートできるように書き込みます。
SDカードが無い場合は、フロッピーイメージをISOイメージに変換して、ISOイメージをCDに焼けるツールからCDに焼くってな手間が必要になります。

一度、MBMからWindowsが起動できるか確認しておきます。
電源投入後、TOSHIBAの文字が出た時にUSBメモリ&SDカードからブートする部分にカーソルを合わせて起動させます。
電源投入後F12を押すと、ゆっくりできます。
MBMが起動するので、1.Boot menu を選択し、次の画面でWindowsXPのパーティションを選択すると、WindowsXPが起動するはずです。


VineLinux3.2をインストールします。
DVDドックからインストールCDを使ってインストールしました。
実は3.2を入れる前に3.1を入れたのですが、その時は自動でDVDドックからインストールできました。
でも、3.2の場合は、CDからの起動直後の画面で
boot: プロンプトに linux usb-storage オプションを入力する必要がありました。

USBマウスを付けてインストールすると、アキュポイントが使えなくなりますが、普段から使ってないのでマウス使いました。(笑)

一番気を付ける点は、lilloのインストール場所です。
デフォルトの「マスターブートレコード」にインストールしてしまうとNTLoaderからブートすることができなくなるので、「ブートパーティションの最初のセクタ」を選択します。
lilloからデュアルブートしたい場合は、マスターブートレコードにインストールすれば良く、これが一番簡単と言えば簡単なんですけどね。

後はだいたいデフォルトで大丈夫だと思います。
画面の解像度を1280×768にするとか、なんとなくわかると思います。
グラフィックカード選択の際、メモリをデフォルトの16Mにしたのですが、llibrettoU100は64M割り当てられていたんですね。(T_T)


インストールが終了したら、MBMからLinuxを起動させます。
起動したら、
# dd if=/dev/hda6 of=linux.pbr bs=512 count=1
みたいにコマンドを打って、PBR部分をファイルにします。
/dev/hda6 は、ブートのあるパーティションです。
df とコマンドを打てばパーティションとサイズが出てくるので、bootがどこかは判ると思います。
(ちなみにあとで書きますが、私はここで失敗してます。(汗))

このファイルを、Windowsに持っていく必要があります。
フロッピーが無いので、ここはちょっと難しいですね。
私の場合は家にFTPサーバ(玄箱)があるので、それ経由でファイルを受け渡しましたが、
USBメモリで渡すのが簡単かもしれません。
ちなみに過去に「Vine Linux でUSBメモリを使う」ってのを書いています。

今度はWindowsXPを起動して、先ほどのファイルをシステムドライブ(普通はCドライブのはず)に置きます。
で、c:\boot.ini をメモ帳とかテキストエディタで開きます。
c:\boot.ini はシステムファイルなので、エクスプローラの設定で、なんでも全部見える設定にしておかないと見えないと思います。

で、boot.iniの一番最後に
c:\linux.pbr="Vine Linux"
とかしておけば、NTLoaderを使用したデュアルブートの出来上がりです。

が・・・。私はうまくいかなかったんだな・・・これが。
いろいろ原因を探ったところ、先ほど書いたように、LinuxのPBRを抜き出す所で、bootではなくrootのパーティションのPBRを抜き出していたんだな。これが・・・。
もちろんそんな所にlilloはありませんし、起動するわけがありません。
だって@ITの説明に、そんなこと書いてなかったし~。(T_T)

再度、bootパーティションのPBRを抜き出して設定した所、うまくいくようになりました。

| | コメント (0) | トラックバック (0)

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かを選択します。

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

| | コメント (0) | トラックバック (0)

2004/09/20

LILOを使ったWindowsとLinuxのデュアルブート

昔のLILOでデュアルブートするのはけっこう大変だったみたいなんだけど、最近のLILOでは、Windows→Linuxの順にインストールすると、ほぼ問題なくデュアルブート環境になるようです。
ただし、大容量ハードディスク対応のマザーであることが必須条件なので、今のマザーなら特に問題無いんだろうけど、昔のマザーだと問題あるかもしれません。

ちなみに私が試した環境は、
マザー・・・ASUS TUSL2-C(Intel815EPチップセット)
ハードディスク・・・80G
に、Windows98とVine Linux2.6をデュアルブートしました。

まず問題だったのが、Windows98が、大容量ハードディスクにインストールできないバグがあり、
fdiskを修正する必要があったことです。
Windows処方箋のページで調べて、解決しました。

その次、Linuxのインストール時のパーティションの切り方がわかりませんでした。
実験マシンとしてインストールしているので、パーティションのことを考えずに、デフォルト設定でインストールしようとしたのだけれど、自動でパーティションを分けようとすると、エラーが出て分けれないのです。
原因は、Windows98インストール時に分けたパーティション設定が間違っていました。
私はこの辺の知識が乏しくて間違ってしまいましたが、デュアルブートしよう!ってなぐらいの人だったら、普通は基本領域と拡張領域の分け方ぐらい知っているだろうし問題無いと思います。
私は基本領域と拡張領域の違いを理解していませんでした。(汗)

ちなみにLinuxは、基本領域が必要無く、すべて拡張領域であってもインストールできるそうです。

インストールの方法ですが、
・まず、Windows98用のパーティションと、Linux用のパーティションを作る。
・Windows98をインストールする。
・Linuxインストール時の、ブートローダーの設定画面で、「LILOをブートローダとして使用」を選択。
・ブートローダーをインストールする場所に、「マスターブートレコード(MBR)」を選択
・「LBA32の使用の強制」も選択しました。

VineLinuxではインストール時に、事細かに日本語で解説してくれるので解り易いけれども、ブートパーティション変更時の警告は英語で出るので困った。一瞬、何が起こったのかと思いましたよ。(汗)

| | コメント (0) | トラックバック (0)