「Systemd-boot」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Kusakata がページ「Gummiboot」をリダイレクトの「Systemd-boot」に移動しました)
(相違点なし)

2015年7月8日 (水) 09:42時点における版

関連記事

gummiboot のホームページ より:

gummiboot は設定済みの EFI イメージを実行できるシンプルな UEFI ブートマネージャです。デフォルトのエントリは設定したパターン (glob) または画面上のメニューで選択されます。

gummiboot は簡単に設定することができ、Linux カーネルの EFISTUB や UEFI シェル、grub.efi などの EFI 実行可能ファイルだけを起動できます。

警告: gummiboot は EFISTUB カーネルのブートメニューを提供します。FS#33745 にあるように EFISTUB カーネルの起動に問題が起こる場合は、GRUBSyslinux、または ELILO といった EFISTUB を使用しないブートローダーを使ってください。
ノート: この記事では EFI System Partition (ESP) のマウントポイントを $esp で示します。
ノート: systemd 220-2 から Gummiboot は systemd-boot として systemd にマージされています。bootctl install を使ってインストールしてください。

インストール

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 スクリプトによって自動で更新がなされます。

ノート:
  • 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=efipathroot=dev が最低限必要になります。

Linux では、linux path-to-vmlinuzinitrd path-to-initramfs を指定することができます。この値は自動で efi pathoptions 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 プログラムを追加することもできます。

ノート: 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"

Windows をアップグレードした後にメニューが表示されない

Windows 8 から Windows 8.1 にアップグレードした場合などに、ブートメニューが表示されなくなることがあります:

  • Secure Boot (UEFI 設定) と Fast Startup (Windows の電源オプション設定) が両方とも無効になっていることを確認してください。
  • Windows Boot Manager よりも Linux Boot Manager が UEFI で優先されていることを確認してください (Hard Drive Disk Priority などの UEFI 設定)。

参照