Efibootmgr/ja

は、システム上の UEFI ファームウェアを操作します. Linux (およびそのほかの EFI 対応 OS)の起動を可能にするためのArticle description::ブートエントリを作成したり管理したりするために EFI の設定を操作するツールとして、広く知られています.

は、ブートローダではありません. ブートローダとして動作するのはシステムの EFI ファームウェアそれ自体です. は、これを操作するためのツールです. を用いることで、ブートエントリを作成したり順序を変えたり編集したり削除したりすることが可能になります.

カーネル
CONFIG_EFI_VARS のサポートが有効になっている必要があります:

Emerge
には USE フラグがありませんから、ただ単にインストールすればよいです:

EFI 変数
が正しく動作するには、 EFI 変数ファイルシステムにアクセス可能になっていなければなりません. そのためには、システムが（ファームウェア(BIOS)の MBR モードではなく）EFI モードでブートされている必要があります. そうでないと EFI 変数へのアクセス自体が不可能です. システムが MBR モードになっていたら、再起動して、システムのファームウェアに EFI モードで起動するように指示する必要があります. 大概は、ファームウェアの設定オプションを変えたり、システムのブートメニューで EFI ブートエントリを選んだりすることで解決します.

システムが EFI モードに入ったら、以下のコマンドを実行すれば efivarfs が存在するか調べられます:

（ init スクリプトによってマウントされているべきなのですが）もしもマウントされていなかったら、次のコマンドでマウントすることが可能です.

前提条件
EFI システムパーティション(ESP)が存在しない場合は作成する必要があります. EFI System Partition を参照してください.

ブートエントリの一覧表示
現在のブートエントリのリストを表示させるには  オプションを使用します:

ブートエントリを作成する
EFI のブートエントリを作成するには、 に対していくつかのオプションを与えます:


 * 新しいエントリの作成;
 * EFI システムパーティション(ESP)のあるパーティション番号;
 * EFI システムパーティション(ESP)のあるディスク名;
 * ブートエントリに使用したいラベル名;
 * ブートする EFI イメージの置いてあるパス

例えば:

必要に応じて、追加のカーネルをインストールして UEFI ファームウェアに登録しておくことができます. これは、より多くのカーネルをテストしたい場合やもう一つのオペレーションシステムとデュアルブートしたい場合に特に便利です. これらは通常、システムの初期化中の適切な時にキーボードのホットキーを押した後にブート選択ダイアログに表示されます. 最後に追加したエントリが常に最も高いブート優先度を得るので、これがデフォルトになります. ホットキーの組み合わせがわからなければ、コンピューターの製造業者の公式ドキュメントを探してみてください. 通常、この情報を探すのは難しいことではありません.

ブートエントリを削除する
エントリを削除するにはまず、そのエントリのID番号を見つけなければなりません.

例えば Gentoo のエントリが前記のようであれば（"Boot0002" がID であれば）、 に対して  でID番号を指定し   でエントリの削除を命令します.

参考

 * EFI stub kernel では、Linux カーネルを EFI から直接ブートする設定方法を説明しています
 * Alternative 2: efibootmgr Gentoo ハンドブックの記事
 * Alternative 2: efibootmgr Gentoo ハンドブックの記事