Hello guys. Sorry if this is something that came in the past, but can’t find a solution to this except maybe reinstalling.
The GRUB menu is not showing the OS entries properly. If you scroll down they appear but as you go up the same happens. Here is a picture of the issue i have.
Tried
sudo grub2-mkconfig
and
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
but nothing worked. The boot menu is still the same.
Any solutions guys? Any help is appreciated.
@kiko964, I’d start with disabling graphical theme and checking if that’ll resolve your issue.
Then you can decide how to proceed from there – depending on the outcome, of course.
To disable graphical theme edit your /etc/default/grub
and comment out the GRUB_THEME=
line.
After saving the file regenerate your grub menu one more time:
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Thanks for the reply, but i don’t have GRUB_THEME=
line in /etc/default/grub
.
All i have is this
Ok, non-standart colors confused me, I thought you’re using a graphical grub theme.
To be consistent and just to be safe – try to commend out both export lines, regenerate the grub.cfg and check if this helps… though it would be strange to help… but please check it nevertheless 
Thanks for the fast reply. The grub boot menu is still the same, but when click on esc
or f12
to select boot device and select fedora
from there the grub menu is like it should be and not broken.
Then maybe by default your computer boots from other boot device – with other copy of grub maybe – and with broken grub menu?
If it’s not the case (please check it though), enabling grub graphical theme can help you (and make grub menu prettier too), as your first screenshot looks like some kind of graphical output glitch. If we have a graphical glitch, then repainting the menu in graphical mode can rectify the problem.
Also are you sure your system is booting into UEFI mode, not a legacy/BIOS mode? for BIOs mode the path to grub.cfg is different.
Fedora is installed in UEFI mode and the system boots in UEFI mode, not Legacy/BIOS mode. I dual boot Fedora with Windows 10 which is also in UEFI mode. Both are on the same hdd.
How to enable the graphical theme for GRUB? Do i just type GRUB_THEME=true
?
As far as I understand, that refers to BIOS/UEFI boot device selection. Can you check, which boot entry is the default one in BIOS settings?
The default is Fedora, then i have Windows Boot Manager which is windows 10.
Nope, it’s a bit more complicated, but not much.
-
Install a theme itself:
sudo dnf install grub2-breeze-theme
-
In the /etc/default/grub comment out the GRUB_TERMINAL_OUTPUT="console"
line, and add a new one:
#GRUB_TERMINAL_OUTPUT="console"
GRUB_THEME="/boot/grub2/themes/breeze/theme.txt"
Then regenerate grub.cfg and reboot to check the menu.
It works for me for several Fedora versions now. If something goes wrong, there’s a (simple?) way to switch back to text console on the fly, but I don’t remember it from the top of my head.
To disable the graphical theme you remove comment for GRUB_TERMINAL_OUTPUT
line and comment out GRUB_THEME line, then regenerate grub.cfg.
2 Likes
Is it a notebook or a desktop pc?
I have one more idea, the culprit may be some setting in the BIOS, which sets a graphical mode, and grub reuses that graphical mode by default.
In ASUS PC motherboards’ BIOSes this option usually called something like “Show full-screen logo” in the Boot settings. You can try turning similar options off – in this case your BIOS usually shows boot/POST process as text messages.
There should be also an option for GRUB to not reuse existing graphical mode – but again, I don’t remember it from the top of my head.
The grub menu is working fine now with the theme, it’s not like before, Thanks for the help. I think this may have been theme related.
It’s a notebook, Asus X554L, but i don’t have an option like that.
Well, @kiko964, I’m glad to help!
It looks like there should be the way to fix output with text menu too, but let’s leave it at this )
@nightromantic, will try something later to see if i can get text mode back, but for now thanks
.
Disabled the GRUB_TERMINAL_OUTPUT="console"
line and the grub menu is back to normal.
1 Like
I’ve checked on my machine, commenting both GRUB_TERMINAL_OUTPUT
line and GRUB_THEME
line makes grub to display menu in gfxterm graphical mode – the same mode as with theme, but using just plain text menus without any additional graphics theme would provide.
So it looks like your notebook somehow has trouble with console text-only mode in grub, and solutions is to switch grub to graphical output, with or without the theme.
Yes you are right. Had OpenSUSE 15 installed before, disabled the graphical theme via YaST and then problems started. Formatted and did a clean install of Fedora, but Windows stayed. Guess there might be some problem with the Windows partition. Only solution would be to wipe the whole HDD to see if the problem persists. But maybe some other day. At least the GRUB menu is working fine.
As far as I understand, it shouldn’t have anything to do with windows, because grub is started before Windows (or Linux), right after BIOS/UEFI. Windows and Linux can’t affect current grub session (except by changing configuration from Linux, which will be applied on the next run).
It looks like your hardware somehow doesn’t like how grub tries to do it’s console text-only output. It may be a specific combination of hardware, the way BIOS/UEFI initializes video and the way grub tries to use it.
I don’t think it’s a big deal as you now know about this quirk and how to work around it. gfxterm mode works ok, and themes work. You can find a cool theme if you want to, there are some grub2 themes in the internet, though I myself don’t bother and just use breeze from the repos). You can also use plaintext menus (but in graphical mode). Just don’t use console grub output and you should be ok)