GRUB/ja

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

For a shotgun approach, see 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 など)を検出できるようになります.

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

設定
GRUB2 の設定には２つの重要な作業があります:
 * 1) GRUB2 のソフトウェアを、システムのブートローダーとしてインストール
 * 2) GRUB2 ブートローダー自体の設定

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

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

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

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

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

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

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

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

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

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

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

設定スクリプトに手を加える
Some features or GRUB2 functionalities are only possible to be exploited by modifying the configuration scripts. For instance, to support dual-booting with FreeBSD, the following manipulation needs to be done.

Change the script to:

or  is the partition in which FreeBSD resides. If the normal UFS install was used for the FreeBSD partition then is a container (something like a logical partition). It consists of the swap and root partition. Verify the script is executable by running. If the executable bit is not set then set it using the command.

Next install GRUB2 using the command and update GRUB2's configuration file:

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

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


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

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

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

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

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

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

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

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

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

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

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

To set a partition as a BIOS partition use the command line tool  by typing (change   to the number of the partition to mark as a BIOS boot partition!):

With 's utility, this is accomplished by setting the partition type to   and give it a label of.

An EFI System Partition is not required, but it would be sensible to make sure that the BIOS boot partition is large enough to be converted to one, should the system motherboard later be upgraded to an EFI board.

The following is the output of pressing the key using the  utility on a GPT partitioned disk with both a BIOS boot [0xEF02] partition and an EFI [0xEF00] partition:

Using the same setup, the utility gives an output with slightly different syntax:

Creating partitions in is straight forward for users already familiar with the  partitioning utility. After starting, type (for new) in the main menu, provide beginning and end sectors (if needed), then set the partition type   for an EFI system partition.

Users who have followed the Gentoo installation instructions will already have the proper partitioning layout set up.

UEFI と GPT
Make sure that the location is available - if this uses a separate partition, make sure that it is mounted:

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.

The above command assumes the vfat EFI System Partition (ESP) is mounted at. If the ESP is mounted directly at, use.

also accepts a  option to set the CPU architecture and system platform. If unspecified, will attempt to guess the proper values; on an AMD64 EFI-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 でのパーティショニング
For UEFI GPT boot using GRUB2, the system must have a dedicated EFI partition containing a FAT filesystem.

The EFI partition can replace having a partition on  by having a  partition on. This is to say a successful EFI 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 EFI system, adjust accordingly for 32-bit EFI systems.

拡張機能
GRUB2 has many features that make it a very powerful boot loader. It supports:


 * Booting from UEFI platforms.
 * Booting from GPT partitioned drives without needing a hybrid MBR (hybrid MBR can enabled as needed for compatibility or portability).
 * Booting from a btrfs formatted partition.
 * Booting directly from a btrfs raid set without needing an initramfs for early mount setup.
 * Booting directly from logical volume management (such as LVM2).
 * Booting with support for DM-RAID (RAID 0, 1, 4, 5, 6, 9 and 10).
 * Booting from encrypted devices (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:

In order to find out what display modes the system's graphics card supports, use the following commands on the GRUB2 shell:

トラブルシューティング
Most of the issues can be resolved by ensuring that the partition layout is correct. Make sure enough space is available before the first partition of the disk, or optionally make sure that a BIOS boot partition is available. Also verify that was correctly generated with, or generate one with a custom menu entry.

For more GRUB2 troubleshooting, please refer to the Troubleshooting sub-article.

参考
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.

外部の情報
For more information, please see:


 * 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