2009年10月4日日曜日

それぞれのGRUBによるマルチブート化の実験(puppy のインストール)

新しく領域(パーテーション)を設けて puppy をインストールします。

GParted を使用してpuppy をインストールする領域を設けました。

現状は以下のような領域となっています。
  • sda1 - debian
  • sda5 - debian
  • sda6 - debian
  • sda7 - swap
  • sda8 - debian
  • sda9 - debian
  • sda10 <-- ubuntu がインストール済みです。
  • sda11 <-- ここに puppy をインストールします。

puppy はまず通常どおりにlive-CDから起動させて frugal インストールを行いました。このpuppy が正常にインストールされたことを確認するために、puppy のブートコードを ubuntu の GRUB の menu.lst へ追加して、起動や動作をすることを確認しました。

次にいよいよ実験の GRUB のインストールとなります。

puppy のメニューから「スタート」>「システム」>「Grub - ブートローダの設定」を選択します。

「simple」と「expert」の二種類のいずれかを選択することとなりますが、ここでは「simple」を選択します。(下図参照)

次にフレームバッファの設定画面となりますが、通常のテキストの「standard」を選択します。

次にGRUBをおくパーテーションの設定ですが、今回の例では「sda11」に puppy をインストールするので「/dev/sda11」とします。ここでこのまま進むと GRUB のインストーラーが停止してしまいます。事前に sda11 の中に /boot のディレクトリを作成しておけば、インストーラーは次の画面に進むことができます。(下図参照)

次はGRUBの本体を置く場所の設定となります。通常のインストールではハードディスクの先端部分の MBR に置くことが定石となっています。この puppy の GRUB のインストーラーではなぜか「多分危険」と表示されています。今回はこの MBR にはインストールせず、puppy をインストールした領域のスーパーブロックの部分へとインストールをします。実のところ、私は散々 linux などのインストールを行ってきましたが、すべて MBR ばかりだったので、これが初めての経験となりました。(下図参照)

GRUB のインストールが終了すると、下記のような表示が出ます。

早速、sda11 の中の /boot/grub のディレクトリを確認すると、GRUB の各種のファイルがインストールされていました。そして menu.lst を開いて内容を確認してみました。なんと frugal インストールしたのですが、full install したときの設定のブートコードとなっていました。それも現在あるすべての領域からブートが可能なような?コードとなっています。そこで frugal install に適合したブートコードを先頭部分に挿入することとしました。下図のグレーに選択された部分が挿入されたブートコードです。

これが実際に挿入したブートコードです。これは frugal install したときに参考で puppy 自身が作ってくれるものです。

title Puppy Linux 420 frugal
rootnoverify (hd0,10)
kernel /puppy420/vmlinuz pmedia=atahd psubdir=puppy420 nosmp
initrd /puppy420/initrd.gz


これで puppy 側の設定は終了しました。ubuntu 側の GRUB の変更をします。

sda10 の中の /boot/grub/menu.lst に以下の内容のブートコードを末尾に追加しました。chainloader を使って puppy の GRUB を起動させようとするものです。

title Puppy chainloader
root (hd0,10)
chainloader +1

ubuntu の GRUB の設定変更が終わったところで、パソコンを再起動させてみます。

最初に ubuntu の GRUB のメニューが表示されます。最下段に今回追加した chainloader によるブートコードが表示されます。これを選択して puppy の GRUB を起動させます。

引き続き puppy の GRUB が起動され、 puppy の GRUB のメニューが表示されました。この中の一番上の Puppy Linux 420 frugal を選択して puppy を起動させます。

これで puppy が起動することができました。
今後 debian の GRUB から ubuntu の GRUBと puppy の GRUB を呼び出す変更をしたいと思っています。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。