Handbook:AMD64/Blocks/Bootloader/ja

ブートローダーを選ぶ
これまでLinuxカーネルを設定すると共に、システムツールをインストールし、設定ファイルを修正してきました. そして今、最も重要なLinuxインストールの最後の一片をインストールします. それがブートローダーです.

ブートローダーは、ブート中にLinuxカーネルを起動することに責任を負っています. ブートローダーがないと、システムは電源ボタンが押されたときに、どう事を進めればいいのかわからなくなってしまいます.

に対して私たちは、 BIOS ベースのシステムについては GRUB2 または LILO を設定する方法を、UEFI システムについては GRUB2 または efibootmgr を設定する方法を文書化しています.

このセクションでは、ブートローダーパッケージの "emerge" と、ブートローダーのシステムへの "インストール" という表現を使っています. ここでいう "emerge" とは Portage を使ってソフトウェアパッケージがシステムで利用できるようにすることです. そして "インストール" はブートローダーが必要なファイルをコピーしたりディスク上の特定の領域に変更を加えることで、ブートローダーを有効化し次回起動時に使用可能な状態にすることを指します.

デフォルト: GRUB2
デフォルトでは、大半の Gentoo システムが GRUB Legacy の後継である GRUB ( パッケージで利用できます) を使用しています. GRUB2 は追加の設定なしに従来の BIOS ("pc") システムで使うことができ、それ以外のプラットフォームでもビルド前のわずかな設定で済みます. 詳しくは、 GRUB2 ページの 前提条件 節をご覧ください.

Emerge
MBR パーティションテーブルのみをサポートする従来の BIOS システムを使う場合、GRUBをインストールするのに追加の設定は必要ありません:



UEFI ユーザーの方へ: 上記のコマンドを実行すると、現在有効な GRUB_PLATFORMS 値が表示されます. UEFI 対応のシステムでは  が有効になっていることを確認してください (これがデフォルトです). もし有効になっていなければ、GRUB2 パッケージを EFI の機能付きでビルドするために、 GRUB2 を emerge する前に に  を追加しなければなりません.






 * なんらかの経緯で  を有効にしていない状態で GRUB2 が emerge されてしまった場合は、この行を  に追加して、  に   オプションを渡せば、 world パッケージセット の依存関係を再計算することができます:



これで GRUB2 ソフトウェアがシステムに emerge されましたが、インストールが終わったわけではありません.

インストール
つぎに、 コマンドを使って、必要な GRUB2 ファイルを  ディレクトリにインストールします. もし（システムがブートする）一番目のディスクにインストールするなら、 ですので、以下のどちらかのコマンドでインストールすることができます:


 * BIOS を利用する場合:


 * UEFI を利用する場合:









いくつかのマザーボードメーカーは、EFI システムパーティション (ESP) 内の .EFI ファイルの場所として ディレクトリのみをサポートしているようです. GRUB のインストーラーは  オプションを付けることでこの操作を自動的に行うことができます. 以下のコマンドを実行する前に ESP がマウントされていることを確認してください. ESP が (以前お勧めしたとおり) にマウントされているとすると、以下を実行します:

このコマンドは UEFI 仕様で定義されているデフォルトディレクトリーを作成し、また ファイルを同じ仕様で定義されている'デフォルト'の EFI ファイルの場所にコピーします.

設定
次に、 ファイルと スクリプトで指定されたユーザ固有の設定をもとに、 GRUB2 設定ファイルを生成します. GRUB2 はどのカーネルを起動するか（ 内で利用可能な最上位のもの）、どれがルートファイルシステムかを自動で検出してくれるので、ほとんどの場合、ユーザによる設定の必要はありません. カーネルパラメータは  の GRUB_CMDLINE_LINUX  変数で指定することができます.

最終的な GRUB2 の設定ファイルを生成するには、 コマンドを実行します:

このコマンドの出力を見て、ブートに必要な Linux イメージが見つかったという報告が少なくともひとつあることを確認してください. もし initramfs を使っているか でカーネルをビルドしている場合は、正しい initrd イメージが認識されていることも確認してください. もし確認できなかった場合、 にそれらのファイルが存在するかどうか コマンドで確かめてください. 必要なファイルが存在していなければ、カーネルの設定とインストールをやり直さなければなりません.

Emerge
LILO (the LInuxLOader) は検証済みで、かつとても有用なLinuxのブートローダーです. しかしながら、GRUB と比べるといくつかの機能を欠いています. いくつかのシステムでは LILO は動作するものの GRUB は動作しないため、 LILO が今でも使われています. もちろん、 LILO をよく知っており使い続けたいと思っている人々もこれを使っています. どちらにしても、Gentoo は両方のブートローダーをサポートしています.

LILO のインストールは簡単です; emerge を使います.

設定
LILO の設定をするにはまず、 を作成します:

設定ファイルではブートできるカーネルを参照するためにセクションを使用しています. この設定ファイルで入力する必要があるので、カーネルファイル (カーネルバージョンも含む) や initramfs ファイルを確認しておいてください.

initramfs が必要な場合、設定を変更してその initramfs ファイルを参照し、また initramfs に root デバイスの場所を渡すようにします:

追加のオプションをカーネルに渡す必要がある場合には  文を使います. たとえばフレームバッファーを有効化するために  文を追加するには:

を使用したユーザーは、そのカーネルがインストール CD に使われたのと同じブートオプションを使用することを知っておいてください. たとえば SCSI デバイスのサポートを有効化する必要がある時は  をカーネルオプションとして追加します.

それではファイルを保存して終了します.

インストール
仕上げに実行ファイル を起動して、LILO に  の設定をシステムへ適用させます (つまり、自身をディスクにインストールさせます). 新しいカーネルをインストールしたりカーネルのファイル名が変更された際には、システムをブートさせるために ファイルに変更を加えるたびに  を実行しなければならないことを覚えておいてください.

代替案2: efibootmgr
UEFI ベースのシステムでは、システムの UEFI ファームウェア (言い換えると最初のブートローダー) を直接操作して UEFI ブートエントリーを見つけ出すことができます. こうしたシステムでは GRUB2 のようなシステムのブートを補助する追加の (あるいは第二の) ブートローダーは必要ありません. それでも GRUB2 といった EFI ベースのブートローダーが存在しているのは、UEFI システムのブートプロセスにおける機能を拡張するためです. は、システムのブートについて最小限 (かつ厳格) なアプローチをとるユーザーにまさに適しています; ユーザーの多くにとっては (前に見た) GRUB2 を使用する方が簡単です. なぜなら GRUB2 は UEFI システムをブートする際に柔軟なアプローチを提供するからです.

アプリケーションはブートローダーではないということを覚えておいてください; これはインストール済みの Linux カーネルを(必要であれば)追加のオプションとともにブートさせたり複数のブートエントリーを使用したりできるように UEFI ファームウェアと対話して設定を更新するためのツールです. この対話は EFI 変数を介して行われます (したがって、EFI 変数のカーネルサポートが必要です).

続ける前に EFI stub kernel の記事を必ず読んでください. カーネルをシステムの UEFI ファームウェアから直接ブートできるようにするには、特有のオプションを有効化しなければなりません. カーネルの再コンパイルが必要になる場合があります. また、 の記事を見てみるのも良い考えです.

この方法を選んだら、まず efibootmgr をインストールします.

そして を作成してカーネルをその中に  という名前でコピーします:

つぎに、"Gentoo" という名称のブートエントリーが作成され、これは新規にコンパイルされたEFIスタブカーネルをブートするものであることを、UEFI ファームウェアに知らせます:

イニシャルRAMファイルシステム (initramfs)を用いるときには、適切なブートオプションを加えてください:

これらの変更が完了したら、システムを再起動後から、"Gentoo" という名称のブートエントリーが利用可能になります.

代替案3: Syslinux
Syslinux は アーキテクチャ用のもう一つの代替ブートローダーです. MBR をサポートしており、バージョン 6.00 からは EFI ブートもサポートしています. また、PXE (ネットワーク) ブートやあまり知られていないオプションもサポートします. Syslinux は多くの人々に人気のあるブートローダーですが、このハンドブックではサポートしていません. このブートローダーの emerge やインストールに関する情報は Syslinux の記事で得ることができます.