GRUB/ja

GRUB2 はモダンなコンピュータをサポートするブートローダです. これは、古いGRUBブートローダ(今では"GRUB Legacy"と呼ばれています)を置き換えることを意図されています. GRUB2はGRUB Legacyとは完全に分離したコードベースを持ち、進化したスクリプティングを可能にする新しいシェルライクなシンタックスを誇りにしています. 現在のGRUB LegacyユーザはシステムをGRUB2に移行することが推奨されます.

ショットガンアプローチが必要なら、GRUB2 Quick Startを参照してください.

インストール
パッケージはスロット化されています. grub-0.97(GRUB Legacy) と grub-2.00 は同時にインストールされることができますが、MBRにはどちらか1つのバージョンのGRUBのみをインストールすることができます. この記事では、GRUB2について解説します.

前提条件
デフォルトでは、GRUB2はデフォルトのプラットフォームターゲットをビルド時に推測します. これは において GRUB_PLATFORMS 変数をセットすることでオーバーライドできます.

ターゲットのCPU毎に、次のプラットフォームがサポートされています:

Emerge
通常の シンタックスを用いてGRUB2をインストールします.

追加のソフトウェア
必要なら、 ユーティリティ( で提供されます)をインストールして、 コマンドを実行した際にGRUB2が他のオペレーティングシステムを探索するようにしてください. たいていの場合、これでGRUB2が自動で他のオペレーティングシステム(Windows 7, Windows 8.1, 10など)を検出できるようになります.

GRUB2(と、場合によっては)をインストールしても、ブートローダは自動では有効になりません. これらは、オペレーティングシステムにソフトウェアをインストールするのみで、(システムのブート時にそれが使われるようにするために)システムそのものにブートローダをインストールするには、追加のステップが必要になります. これについては設定セクションで解説します.

設定
GRUB2 の設定には２つの重要な作業があります:


 * 1) GRUB2 のソフトウェアを、システムのブートローダーとしてインストール
 * 2) GRUB2 ブートローダー自体の設定

GRUB2ソフトウェアのインストールはシステムのタイプによってそれぞれ異なり、ブートローダーのインストールで解説します. まず、ブートローダそのものの設定について解説します.

メインの設定ファイル
grubの設定を生成するために、 スクリプトを使います. これは 以下のスクリプト及び  設定ファイルを用い、最終的な  を――GRUB2自体が使用する唯一の設定ファイルを――生成します.

GRUB2は、(GRUB Legacy や LILO のような)管理者によるブートオプション設定の手動での維持を必要としません. その代わりに、 コマンドを用いて、設定ファイルを生成することができます. このユーティリティは にあるスクリプトと  の設定を使用します.

何らかの設定を変更したら、 ユーティリティを にある出力ファイル(これはGRUB2のデフォルトの出力場所です)を指定した  オプション付きで実行します:

ユーティリティが呼ばれるたびに、新しい設定が生成されます.

設定パラメータのセット
にある次の変数はGRUB2がどのように機能するかをコントロールするために設定される最も一般的なものです:

より完全なリストについては、GRUB2 configuration variablesサブページを参照してください.

パラメータを変更したら、 でGRUB2の設定ファイルを再生成してください.

設定スクリプトの有効化と無効化
ディレクトリには、 が  ファイルの生成に用いるスクリプトが含まれます. デフォルトでは、このディレクトリの中身は次のようなものであるはずです:

GRUB2は、インストールされたスクリプトのうち、実行可能に設定されたすべてのスクリプト(デフォルトでは全部がそうです)を利用します. いずれかのスクリプトを無効にするには、 コマンドを用い、単にスクリプトのファイルパーミッションから実行可能ビットを取り除いてください. 次の例では、 と  を除く全てのスクリプトを無効にします.

スクリプトを変更したり、実行可能ビットを取り除いたりした後は、 を用いてGRUB2の設定ファイルを再生成してください.

設定スクリプトに手を加える
いくつかのGRUB2の機能は、設定スクリプトの書き換えによってのみ利用することができます. 例えば、FreeBSDとのデュアルブートをサポートするには次の操作が必要です.

スクリプトを以下のように変更します:

もしくは  が、FreeBSDが置かれているパーティションです. FreeBSDパーティションに通常のUFSインストールが行われたなら、 はコンテナになっています(論理パーティションのようなものです). これはswapとルートパーティションからなります. を実行し、 が実行可能であることを確認してください. もし実行可能ビットがセットされていない場合は、 コマンドでセットしてください.

次に、 コマンドを用いてGRUB2をインストールし、GRUB2の設定ファイルを更新してください.

ブートローダーのインストール
GRUB2をシステムのブートローダーとしてインストールする方法は、システムがどのようにブートするのか(BIOSかUEFIか)と、ブートローダーがインストールされるディスクがどのようにパーティションされているのか(パーティションレイアウトがMBRかGPTか)によって変わってきます.

この記事では次の場合についてをカバーします:


 * BIOS と MBR
 * BIOS と GPT
 * UEFI と GPT

システムに対して適切なインストール方法の解説を選んでください.

BIOS と MBR
を確実に利用可能にしてください. もしこれが独立したパーティションなら、確実にマウントしてください:

関連するファイルを にコピーするために、  コマンドを実行してください. PCプラットフォームではさらに、これによってマスターブートレコード(MBR)かパーティションのブートセクタにブートイメージがインストールされます. もしすべてがうまくいけば、 の実行後、以下のような出力が得られることが期待されます:

は、CPUアーキテクチャとシステムプラットフォームを指定するための  オプションを受け付けます. 指定しなかった場合、 は適切な値を推測しようとします. / システムにおいては、デフォルトで  が使用されます. はまた、GRUB2のブートファイルを探す場所をGRUB2インストーラに知らせるための  オプションを受け付けます. これはデフォルトでは ですが、ルートパーティションを移動しようとしている場合などに有用です.

BIOS と MBR でのパーティショニング
最初のパーティションの前に十分な空き領域を用意しておいてください. 最初のパーティションをセクタ2048で開始すれば、少なくとも1MiBのディスク領域がマスターブートレコードに残されることになります. GRUBのための"BIOSブートパーティション"とよばれる追加パーティションを作成することが(必須ではありませんが)推奨されます. このパーティションは定義される必要があるだけで、フォーマットは必要ありません. これは後からシステムがGPTパーティションレイアウトに移行される時に必要です. MBRを使い続ける限りは必要ありません.

もしGentoo installation instructionsに従ったのなら、BIOSブートパーティションはすでに有効なはずです.

BIOS と GPT
もし パーティションが必要ならば、  パーティションのマウントから始めましょう.

すべてがうまくいけば、 コマンドの実行後、以下のような出力が得られることが期待されます:

は、CPUアーキテクチャとシステムプラットフォームを指定するための  オプションを受け付けます. 指定しなかった場合、 は正しい値を推測しようとします. / システムにおいては、デフォルトで  が使用されます. はまた、GRUB2のブートファイルを探す場所をGRUB2インストーラに知らせるための  オプションを受け付けます. これはデフォルトでは ですが、ルートパーティションを移動しようとしている場合などに有用です.

BIOS と GPT でのパーティショニング
GPTパーティションテーブルがシステムに存在するとき、タイプ  の小さな"BIOSブートパーティション"(タイプ   の"EFIシステムパーティション(ESP)"とは異なります)を有効にする必要があります. 動作させるには1MiBで十分ですが、2-4MiBがより安全な選択でしょう. このBIOSブートパーティションがブートローダーのステージ2を保持することになります. BIOSブートパーティションはファイルシステムでフォーマットされる必要はありません. コマンドが独自のファイルシステムで既存のファイルシステムを上書きします.

パーティションをBIOSパーティションとして設定するには、コマンドラインツールの  を用い、以下のようにタイプしてください( をBIOSブートパーティションに設定したいパーティションの番号に置きかえてください!):

の ユーティリティでは、これはパーティションタイプを   に設定し、   というラベルを設定することで全うされます.

EFIシステムパーティションは必要ではありませんが、システムのマザーボードがUEFIのボードにアップグレードされたとき、後からこれに変更できるよう、BIOSブートパーティションを十分大きくしておくのはまともな判断でしょう.

次に示すのは、BIOSブート [0xEF02] パーティションとEFI [0xEF00] パーティションの両方を含むGPTパーティションのディスクで ユーティリティを用い、  キーを押したときの出力です:

同様のセットアップに対し、 ユーティリティはやや異なる記法で出力を返します:

でのパーティションの作成は、すでに パーティショニングユーティリティに慣れているユーザーにとっては理解しやすいでしょう. を開始したら、メインメニューで(newを意味する) をタイプし、(必要なら)開始と終了のセクタを与え、EFIシステムパーティションに   パーティションタイプを設定してください.

Gentoo installation instructionsに従ったユーザーならば、すでに適切なパーティションレイアウトに設定されているはずです.

UEFI と GPT
が利用可能であることを確認してください. もし別のパーティションにあるなら、マウントされていることを確認してください：

Run the command to copy the relevant files to. This should install Grub2 in, copy the core image to , and call efibootmgr to add a boot entry.

上のコマンドは、vfatのEFIシステムパーティション(ESP)が にマウントされていることを前提にします. もしESPが に直接マウントされているなら、  としてください.

also accepts a  option to set the CPU architecture and system platform. If unspecified, will attempt to guess the proper values; on an AMD64 UEFI-booted system it will use   by default. also accepts a  option to tell the GRUB2 installer which directory to look for GRUB2's boot files. This defaults to but is useful when trying to move a root partition.

UEFI と GPT でのパーティショニング
GRUB2によるUEFI GPTブートには、システムに必ずFATファイルシステムを含んだ専用のパーティションが必要です.

The EFI partition can replace having a partition on  by having a  partition on. This is to say a successful UEFI boot scenario using GRUB2 can operate with two partitions total (three total if a swap partition is needed): a root partition and an EFI partition. Using this configuration, the folder will be located in the root  partition (at ) and the EFI partition will mount in the boot folder (at ). For further clarification, see the example file below.

Generating a 100MB partition for should provide plenty of space for holding multiple  files (multiple entries will most likely not be needed; most systems will only use one).

Create the partition using the partitioning tool of choice. The  and   tools fit nicely for this purpose. When using the utility, be sure to use type.

Proceed to create a FAT filesystem on the EFI system partition using and add it to  by following the example below:

代替案: デフォルトのUEFIファームウェアの場所を利用する
If the system's UEFI firmware fails to find GRUB2's EFI bootloader file, using the default boot loader location should provide a working solution. This circumvents the boot menu managed by efibootmgr and thus offers reduced functionality, but is less error prone. To do this, verify the EFI partition is mounted at then copy the file  located at  to. This example assumes a 64-bit UEFI system, adjust accordingly for 32-bit UEFI systems.

拡張機能
GRUB2は、その多くの機能によって、非常にパワフルなブートローダーとなっています. サポートされる機能は:


 * UEFIパーティションからのブート
 * ハイブリッドMBRを必要としない、GPTでパーティションされたドライブからのブート(ハイブリッドMBRは、必要なら互換性と移植性のために有効にできます)
 * btrfs でフォーマットされた パーティションからのブート
 * 初期マウントセットアップのための initramfs を必要としない、btrfs raidセットからの直接のブート
 * 論理ボリューム管理からの直接のブート(たとえば LVM2)
 * DM-RAID(RAID 0, 1, 4, 5, 6, 9 と 10)をサポートしたブート
 * 暗号化されたデバイス(LUKS)からのブート

Some specific features are explained in more detail next.

チェーンロード
GRUB2 was built with a truly improved chainload mode when compared to GRUB Legacy. To chainload another boot loader, use the  option.

For more information on chainloading, please see the Chainloading sub-page.

フレームバッファディスプレイを使う
To have GRUB2 use a framebuffer graphical display, re-emerge GRUB with the  USE flag enabled. This will install a default True Type font as well as a font conversion utility.

Proceed to configure the default GRUB2 configuration file located at. For example:

システムのグラフィックカードがどのディスプレイモードをサポートしているか調べるためには、GRUB2シェルで以下に示すコマンドを使ってください:

トラブルシューティング
ほとんどの問題は、正しいパーティションレイアウトを確実に設定することで解決できます. ディスクの最初のパーティションの前に十分な領域を確保するか、任意で確実に"BIOSブートパーティション"が利用できるようにしてください. さらに、 が で正しく生成されているか確認するか、あるいはカスタムのメニュー項目で生成してください.

さらなるGRUB2のトラブルシューティングについては、Troubleshootingサブ記事を参照してください.

参考
There are a few specific GRUB2 resources available:


 * In Chainloading the use of GRUB2 to boot other boot loaders is described. This is important to read when dual-booting systems, or when GRUB2 needs to be configured to boot ISO files.
 * In Advanced storage the necessary steps are documented on how to install and use GRUB2 on more advanced storage situations, such as software RAID, logical volumes or encrypted file systems.
 * In Configuration variables an exhaustive list of GRUB2 configuration variables, as used by, is documented.
 * In Troubleshooting a list of common GRUB2 errors (with their solutions) is presented.
 * In Hybrid partition table the use of a mixed MBR/GPT setup is documented, as well as how to use such hybrid partition layout with GRUB2.

外部の情報
さらなる情報については、以下を参照してください:


 * GNU GRUB 2 manual page
 * Network (PXE) section of GRUB2
 * Legacy BIOS issues with GPT article
 * GPT and Hybrid MBR article
 * GPT fdisk utility page
 * Arch Linux GRUB2 wiki article
 * Fedora GRUB2 wiki article : Encountering the dreaded GRUB2 boot prompt
 * ubuntu UEFI booting help
 * http://unix.stackexchange.com/questions/109272/dualboot-freebsd-gentoo-with-grub2-mbr
 * A blog post entry on locking specific GRUB2 boot entries with a password