Efibootmgr/ja

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

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

カーネル
カーネルを UEFI から直接ブートさせたいのなら、カーネルコンフィグレーションで CONFIG_EFI と CONFIG_EFI_STUB そして CONFIG_EFI_VARS のサポートが有効になっている必要があります:

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

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

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

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

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

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


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

例えば:

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

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

参考

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