Ubuntu16.04で、ブートマネジャーを使っているとき、不要なエントリーがうまく削除できなかったので、そのときの、対処方法をメモします。

【前提条件】

  1. OSはUbuntu16.04。(恐らくLinuxなら何でも可?)
  2. UEFIモードで管理されている。
  3. efibootmgrがインストール済み。(一応、helpをザッと読む、眺めるレベルです。ヘルプ表示は、sudo efibootmgr -h)
  4. 簡単な、端末(ターミナル)入力ができる。(「Ctrl+ALT」+Tで、ターミナルが起動します。)

手順の説明の前に、経緯を説明します。

では、ブートエントリーを表示(簡易)してみます。詳細表示は、「sudo efibootmgr -v」です。(実際に端末に入力するときは、”「”、”」”は不要です。)

sudo efibootmgr
Timeout: 15 seconds
BootOrder: 0007,0000,0001,0002,0003,0004,0005
Boot0000* CD/DVD Drive
Boot0001* Removable Drive
Boot0002* Hard Drive
Boot0003* Network Card
Boot0004* INTERNAL EFI SHELL: HDT722520DLA380
Boot0005 ubuntu
Boot0006* Removable Drive
Boot0007* rEFInd Boot Manager
Boot000B* Network Card
Boot000C* Hard Drive
 

では、試しに、「Boot000B」をヘルプにあるように「–delete-bootnum」オプションで、削除してみます。

sudo efibootmgr --delete-bootnum 000B
efibootmgr: You must specify a boot entry to delete (see the -b option).

ちなみに、000Bは、hex(16進)です。

残念、削除されません。「-b オプションば見れ」とあるので、見ると、「modify(修正)BootXXXX(hex)」となっています。エントリーを修正?しろといているのか???

では、Google先生にお尋ねです。「efibootmgr エントリー削除」で検索すると、いくつかの記事の中に、次のような箇所がありました。

”sudo efibootmgr –bootnum XXXX –delete-bootnum で削除できるときもある。が、できないときもある。”……..どうも、エントリー削除はそのときの風まかせ?のような投稿内容です。

さっそく、試しました。

sudo efibootmgr --bootnum 0000B --delete-bootnum

またまた残念、削除されません。メッセージも表示されません。実行結果(efibootmgrの簡易表示)が表示されただけです。

再度、ヘルプを見ることに、、、、、inactive(無効化)というオプションがあります。もしかすると、エントリーを無効化して、削除すればよいのでは、と、、、、誰でも気づきそうですが、私は、少し時間がかかりました。

<手順>

  1. 削除したいエントリーの無効化。
  2. 無効化済のエントリーを削除。

肝は、「1.削除したいエントリーの無効化」です。無効化して、初めて、削除ができるようです。

1.削除したいエントリーの無効化。

削除したいエントリーを無効化します。エントリー番号の右端に付いている「*」マークは有効化を意味します。

sudo efibootmgr --inactive --bootnum 000B
Timeout: 15 seconds
BootOrder: 0007,0000,0001,0002,0003,0004,0005
Boot0000* CD/DVD Drive
Boot0001* Removable Drive
Boot0002* Hard Drive
Boot0003* Network Card
Boot0004* INTERNAL EFI SHELL: HDT722520DLA380
Boot0005 ubuntu
Boot0006* Removable Drive
Boot0007* rEFInd Boot Manager
Boot000B Network Card <<--「*」が外れて、無効化された。
Boot000C* Hard Drive

Boot000Bの「*」が外れています。つまり、無効化されました。

2.無効化済のエントリーを削除。

無効化したエントリーを削除します。

sudo efibootmgr --bootnum 0000B --delete-bootnum
Timeout: 15 seconds
BootOrder: 0007,0000,0001,0002,0003,0004,0005
Boot0000* CD/DVD Drive
Boot0001* Removable Drive
Boot0002* Hard Drive
Boot0003* Network Card
Boot0004* INTERNAL EFI SHELL: HDT722520DLA380
Boot0005 ubuntu
Boot0006* Removable Drive
Boot0007* rEFInd Boot Manager
Boot000C* Hard Drive

「Boot000B」が削除されました。