error: file ‘/boot/grub2/locale/en.mo.gz’ not found

从fedora 17或者更早的时候开始,启动grub2,系统会弹出一行错误提示,然而在你迅雷不及掩耳盗铃之时,grub已经弹到了menu,直到某一天,区区利用虚拟机的暂停功能,终于看到了那行错误提示,上曰：

error: file '/boot/grub2/locale/en.mo.gz' not found

Redhat其实早就看到这错误了,Bug report一大坨,可惜到目前,fedora 18了都,还是要手工改。

Fix

fix方法很简单:

# cd /boot/grub2/locale
# cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo en.mo
# gzip en.mo

其他

像区区这种货,特别喜欢这种直来直去的,哪里缺了补哪里,但有些高人给了更多的解释,但还没有被我证实,若有看到,就随便看看吧.

Looks like there is a better workaround. Edit /etc/default/grub and add the following line: GRUB_TERMINAL_OUTPUT=console The problem seems to be that GRUB_TERMINAL_OUTPUT=gfxterm by default which might not be working well.

他的方法就是修改grub的配置文件,我用修改配置之前做过些其他事情,可以参考下。

当然,还有人做些奇怪的事情，

… my guess is that most testers are just updating their F17 as usual and don’t get this bug. I didn’t get it until I decided to do: # rm /etc/default/grub # yum reinstall grub2 in order to get rid of some customizations I had made.

尽信不如不信。

References

[1] Bug 817187 – GRUB2 error: file ‘/boot/grub2/locale/en.mo.gz’ not found https://bugzilla.redhat.com/show_bug.cgi?id=817187

[2] Bug 826781 – ‘File Not Found’ on startup https://bugzilla.redhat.com/show_bug.cgi?id=826781