ピカピカの LFS システムが九分通り完成しています。最後にやるべき事はそれを起動できることを確かめることです。 以下の説明は、たとえば IA-32 アーキテクチャのコンピュータ、つまり普通の PC にのみ適用できます。 他のアーキテクチャの "ブートロード" についての情報は、これら各アーキテクチャ向けのリソース固有の場所に置かれています。
ブートローディングは複雑な問題です。最初にいくつか注意をしておきます。 現在使用しているブートローダに慣れておいたほうがいいということ、ハードディスク上にある、起動可能にしたい別のオペレーティングシステムのことを把握しておく必要があります。 原因が何であるにしろ、もしお使いのコンピュータが使えなく(起動できなく)なったときに、コンピュータを救助できるよう、緊急の起動ディスクを準備していることを確認してください。
以前、この段階への準備として Grub ブートローダソフトウェアをコンパイルしインストールしました。 ここではハードディスクの特定の場所へ Grub の特別なファイルを書き込むという手続きを踏みます。 その前に、万一に備えて Grub 起動ディスクを作成することを強く勧めます。空のフロッピーディスクを挿入し以下のコマンドを実行してください。
dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1 dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1 |
ディスクを取りだしどこか安全なところに保管しておいて下さい。さてそれでは grub シェルを実行します。
grub |
Grub はデバイスとパーティションに対して ( hdn,m ) という独自の命名規則を使います。n はハードドライブの番号、m はパーティションの番号で共にゼロから始まります。 これはたとえば、hda1 のパーティションは Grub では ( hd0,0 ) で、hda2 は ( hd1,1 ) となります。 Linux とは対照的に、Grub は CD-ROM ドライブをハードドライブとして考えないので、たとえば、CD を hdb にしていて、二つ目のハードドライブを hdc にしているとすると、二つ目のハードドライブは ( hd1 ) となります。
上の情報を使って、ルートパーティションに適切な呼称を決定して下さい。以下の例ではルートパーティションが hda4 であると仮定しています。
最初に、Grub に stage{1,2} ファイルを探す場所を教えます。Grub に選択肢を表示させるためにどこでもタブを使うことができます。
root (hd0,3) |
Warning |
以下のコマンドは現在お使いのブートローダを上書きします。望まないなら、コマンドを実行しないで下さい。 たとえば、あなたは MBR ( Master Boot Record ) を管理するのにサードパーティのブートマネージャを使っているかも知れません。 この場合は恐らく、Grub を LFS パーティションの "ブートセクタ" へインストールする方が賢明かも知れません。この場合のコマンドは setup ( hd0,3 ) となります。 |
それでは Grub に、自身を hda の MBR ( Master Boot Record ) へインストールするよう教えます。
setup (hd0) |
何も問題がなければ、Grub は /boot/grub の中にそのファイルを見つけたことを報告するでしょう。Grub に対してする事はこれですべてです。
quit |
さて Grub のブートメニューを定義する "メニューリスト" ファイルを作らなければいけません。
cat > /boot/grub/menu.lst << "EOF" # /boot/grub/menu.lst を作成します。 # デフォルトではメニューの一番最初のエントリを起動します。 default 0 # デフォルトのエントリを起動するまでに 30 秒待ちます。 timeout 30 # 綺麗な色を使いましょう。 color green/black light-green/black # 初めのエントリは LFS です。 title LFS 5.0 root (hd0,3) kernel /boot/lfskernel root=/dev/hda4 ro EOF |
ホストディストリビューションのエントリを加えるといいでしょう。それはこのようになります。
cat >> /boot/grub/menu.lst << "EOF" title Red Hat root (hd0,2) kernel /boot/kernel-2.4.20 root=/dev/hda3 ro initrd /boot/initrd-2.4.20 EOF |
また、Windows とデュアルブートにしたいなら、以下のエントリがその起動を可能にします。
cat >> /boot/grub/menu.lst << "EOF" title Windows rootnoverify (hd0,0) chainloader +1 EOF |
info grub で知りたいことを見つけられない場合、Grub についてのより詳しい情報を http://www.gnu.org/software/grub で見つけることができるでしょう。