« NFSv4 + Kerberos 環境構築 | トップページ | Thunderbird 60 で動くお薦め add-on »

2018-05-27

GRUB で EFI への登録に失敗したら…

昨日、久々に起動した Windows 10 で 1803 のアップデートが来ていた。 サブで使っている別の Note PC では問題なかったのでこちらにも適用したら、なんとメインで使っている Linux が起動しなくなった。レスキュー用に作成していた USB スティックから Linux を boot させて GRUB を再設定し、 EFI の再登録をしようとしても以下のようなエラーが出て失敗してしまう。

error: efibootmgr failed to register the boot entry: Input/output error.

実は以前から efibootmgr がエラーする現象は出ており、恐らくは SSD への Windows 10 インストールでハマる で書いたように SDD と HDD の両方の EFI 情報が登録されていたせいだろう (それなりに古い BIOS だから EFI に登録できる情報に限りがあるのだろう) と考えていた。今回は Linux が全く起動できない状態に陥っているのでマジメに調べてみると、原因はもっと単純だった。

※ Secure Boot 関連でハマった場合には こちら を参照

参考になったのは Grub installation failed のサイト。

Debian stretch だとデフォルトで /sys/firmware/efi/efivars は mount されているので、この中を見てみる。

# ls /sys/firmware/efi/efivars/
...
dump-type0-XX-X-XXXXXXXXXX-X-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
...
dump-type0-XX-X-XXXXXXXXXX-X-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

大量に dump-type0-* のエントリがある。 どうもこの dump-* に過去の crash の情報が蓄積されるらしい。この結果、 EFI NVRAM がフルになって新たな設定ができなくなっていた。

単純にこの dump-* エントリを削除し、 grub の再設定をしてやればうまくいった。 ついでに、以前うまくいかなくなっていた refind も再インストールし、メインの Boot Manager は refind に変更した。

# rm /sys/firmware/efi/efivars/dump-*
# dpkg-reconfigure grub-efi-amd64
# apt-get install refind

これでここしばらく悩んでいた問題が一つ解決した。

« NFSv4 + Kerberos 環境構築 | トップページ | Thunderbird 60 で動くお薦め add-on »

Linux」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: GRUB で EFI への登録に失敗したら…:

« NFSv4 + Kerberos 環境構築 | トップページ | Thunderbird 60 で動くお薦め add-on »

2024年11月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ