# Gummiboot (日本語)

Gummiboot は Kay Sievers と Harald Hoyer によって書かれた UEFI ブートローダーです。設定がシンプルで、EFI 実行可能ファイル、(CONFIG_EFI_STUB が有効になっている) Linux カーネル、grub.efi などを起動できます。

## インストール

gummiboot をインストールしてから次のコマンドを実行して gummiboot をあなたのブートローダとしてインストールしてください:

    # gummiboot install

上のコマンドで自動的に gummiboot のバイナリがあなたの EFI System Partition にコピーされ EFI Boot Manager にブートエントリが作成されます。EFI で起動していない場合、ブートエントリの作成は失敗します。ただし gummiboot のバイナリを ESP 内にある EFI バイナリのデフォルトの配置場所 (x64 環境では `/boot/EFI/Boot/BOOTX64.EFI`) にコピーすれば gummiboot を起動することは可能です。インストール作業を一度でも完了すれば、パッケージのアップデート中 gummiboot の post_install スクリプトによって自動で更新がなされます。

Note:

- gummiboot コマンドはあなたの EFI System Partition が `/boot` にマウントされているとみなします。あなたの ESP が `/boot/efi` にマウントされているときは `--path` スイッチを追加して gummiboot のインストールコマンドを呼び出して下さい。また、マウントポイントが異なると gummiboot は自動で更新できないので、パッケージを更新した後は `gummiboot --path=/boot/efi update` を実行する必要があります。さらにカーネルや initramfs が ESP にコピーされているか確認してください、gummiboot は他のパーティションから EFI バイナリをロードすることができません。以上のことから gummiboot を使う時は ESP を `/boot` にマウントすることを強く推奨します。この記事ではあなたの ESP が `/boot` にマウントされていると仮定しています。

- `gummiboot` がブートエントリの作成に失敗したときは、ここに記述されている要件が全て満たされているか確認してください。

## 設定

基本的な設定は `/boot/loader/loader.conf` に記述します、2つの設定オプションが使えます:

- `default` – 選択するデフォルトエントリ (`.conf` を付けない); `arch-*` のようにワイルドカードを使うことができます

- `timeout` – メニューのタイムアウト秒数。この値が設定されていない場合、起動中にスペースキーを押した時だけメニューが表示されます。

例:

    /boot/loader/loader.conf

    default  arch
    timeout  4

オプションは両方ともブートメニューで変更するこができ、EFI 変数として保存されます。

## ブートエントリの追加

Gummiboot は `/boot/loader/entries/*.conf` にあるブートメニューのアイテムを検索します – それぞれのファイルにはひとつのブートエントリを含めなくてはなりません。利用できるオプションは:

- `title` – オペレーティングシステムの名前。必須。

- `version` – カーネルバージョン、同じ title のエントリが複数存在する場合にのみ表示されます。任意。

- `machine-id` – `/etc/machine-id` のマシン識別子、title と version が同じエントリが複数存在する場合にのみ表示されます。任意。

- `efi` – 起動する EFI プログラム、ESP (`/boot`) からの相対パス; 例: `/vmlinuz-linux`。このオプションか `linux` (下を参照) のどちらか一方が必須です。

- `options` – EFI プログラムに渡すコマンドラインオプション。任意ですが、Linux を起動する場合 `initrd=efipath` と `root=dev` が最低限必要になります。

Linux では、`linux path-to-vmlinuz` と `initrd path-to-initramfs` を指定することができます。この値は自動で `efi path` と `options initrd=path` に翻訳されます – この文法は利便性のためにサポートされており機能に違いはありません。

Arch Linux のエントリのサンプル:

    /boot/loader/entries/arch.conf

    title          Arch Linux
    linux          /vmlinuz-linux
    initrd         /initramfs-linux.img
    options        root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw

上の例にある PARTUUID/PARTLABEL は GPT パーティションを識別しています。ファイルシステムを識別する UUID/LABEL とは異なっていることに注意してください。PARTUUID/PARTLABEL には他のファイルシステムでパーティションをフォーマットしなおしても値が変わらないという利点があります。またパーティションにファイルシステムがない (もしくは LABEL をサポートしていない LUKS を使っている) 場合などにも有用です。

また、`\EFI\arch\grub.efi` など他の EFI プログラムを追加することもできます。

Note: Gummiboot は Windows のインストール (`\EFI\Microsoft\Boot\Bootmgfw.efi`) や UEFI Shell (`\shellx64.efi`) のバイナリを自動でチェックして表示します。従って手動でこれらのエントリを作成する必要はありません。

## ブートメニュー

### キー一覧

メニューの中では以下のキーが使われます:

- `Up/Down` - エントリの選択
- `Enter` - 選択したエントリの起動
- `d` - (不揮発の EFI 変数に保存された) デフォルトエントリを選択して起動
- `t/T` - (不揮発の EFI 変数に保存された) タイムアウトを調整
- `e` - カーネルコマンドラインを編集
- `q` - 終了
- `v` - gummiboot と UEFI のバージョンを表示
- `p` - 現在の設定を表示
- `h` - キーマップを表示

以下のホットキーを、起動中やメニューで押すことで、特定のエントリを直接起動します:

- `l` - Linux
- `w` - Windows
- `a` - OS X
- `s` - EFI Shell
- `1-9` - エントリの数字

## トラブルシューティング

#### efibootmgr を使って手動エントリを追加する

`gummiboot install` コマンドが失敗した場合、`efibootmgr` ユーティリティを使って EFI ブートエントリを手動で作成することができます:

    # efibootmgr -c -d /dev/sdX -p Y -l /EFI/gummiboot/gummibootx64.efi -L "Gummiboot"

Category:

- Boot loaders (日本語)