ubuntu/LinuxMintで日本語環境でupdate-grub実行するとgrubでエラーが一瞬表示される

1.概要

この記事は2023年に記述した記事です。grubの定義変更をして、update-grubを実行すると一瞬エラーが表示されて気になって調べた内容です。この事象は修正されていません。今でも発生する内容なので、備忘録として残すことにしました。

いつ頃から発生していたのか気付かなかったのですが、grubメニューから選択後、一瞬、エラーが表示されていました。何度か再起動をしてメッセージ内容を確認しようとしたのですが、一瞬の出来事で読み取れません。そこで、スマホを利用してビデオ録画して内容を確認しました。

このエラーへの対処方法をネットで探したのですが、明確に記載されたものが、すぐに見つかりません。やっと見つけた解決策で問題改善しました。この対応に関して記述します。

2.詳細

表示されたエラーは、下記内容です。

error: file '/boot/grub/locale/ja.gmo' not found

表示は一瞬です。注意してみていないと見ることはできません。エラー内容を読み取ることなどできません。これは案外気になるものです。調べてみようと思って何度が再起動をしてエラーを読み取ろうとしても読むことができず、最終的にスマホで動画撮影をしました。

色々調べていると、本来は/boot/grub/locale/ja.moとなるようです。しかし、ja.gmoとパンチミスされているのが残っている気がします。しかし、このエラーが表示されても、何らgrub2の動作には影響しません。何も問題なくブートすることができます。単なるメッセージの表示だけのようです。

3.対処方法

参考資料に記載があります。

$ LANG=C
$ sudo update-grub

と英語モードで実行することでエラーは表示されなくなりました。

grubのメニュー表示環境ではキーボードの日本語設定することも難しく、いつも英語キーボードレイアウトで操作をしています。英語モードでgrubは利用するものだと考えています。

この時に気がついたことがあります。何故、Ubuntu/LinuxMintの導入環境のキーボード設定を日本語キーボード設定しているのに、英語モードのキーボードに変わってしまうのかと。キーボード設定変更は簡単に変更することができないので不思議だと感じました。その結果、Grub自体がLinuxであると考えるようになりました。

uefiBIOSを搭載するPCはLegacyBIOS構成と比較すると複雑です。uefiBIOS自体はLinuxがbaseであると良く知られています。この環境にUbuntu/LinuxMintをGrubブート方式で導入をすると、GrubもLinux、Ubuntu/LinuxMintもLinuxとなり、Linuxが3階層になっています。そう言えば、uefiBIOSにもキーボード設定があることを思い出しました。

4.所見

ja.gmoをja.moに修正をしてくれると問題は改善するのですが、update-grubを実行する方が少ないのだと思います。特に日本語環境が問題発生の原因なので利用される方は限られます。内部処理的には無視できる内容なので問題とならないのだと思います。

私は、update-grubの実行をshell化して、LANG=Cを組み込んで実行しています。これで、この問題が起きることはなくなりました。日本語環境でupdate-grubを実行して、次回起動時に一瞬表示されるだけの問題なので、気にすることもないことです。

気になると感じた方は、対処方法を試してください。update-grub実行後、次のbootのときにメッセージは表示されなくなります。

記事の更新

2026/08/24

コメント