Fedora 30 GRUB menu broken

Had no problems before on Fedora nor OpenSUSE. GRUB console text-only woked before. Maybe some hardware is failing?

That’s hard to say, but I think the probability is very low.

Some setting is the BIOS setup could have been changed (though notebooks generally have very few of those), giving such a side-effect. The bios could have been updated. Also grub receives updates, something in it could have changed with such a side effect on your hardware.

It looks like grub don’t properly reinitialize the screen in console mode. Either bios tells grub the screen is already in text mode (and the screen is in graphic mode), or grub just assumes (incorrectly) – we don’t know for sure)

The screenshot you’ve initially posted and the way you’ve described it working ok when you manually select Fedora from BIOS boot menu (with F12) looks something like:

  • With default boot sequence BIOS leaves the screen in graphic mode, on which grub outputs it’s menus in text-only console mode (probably, without properly initializing screen first). So you see some mishmash of text and graphic output.

  • When you press F12, the screen changes to text-only (am I right? on the majority or all the systems I’ve seen BIOS boot menu is text only), you select Fedora in this menu. Then grub starts and the screen was already switched to text-only by bios – and console output works as it should.

I you’re interested to experiment and test more, there are grub console commands you can use for switching modes on the fly. You can press [c] in the grub menu to drop to command line prompt, press [ESC] at any time to return back to menu.

You can use terminal_output to check the current mode and switch it. I’m quite sure once you’ve switched the mode to graphical, then back to console – console mode would work ok – because you’ve forced grub to properly re-initialize the screen. I can be wrong of course)))

You can use help to get the listing of all the command available. You can use set pager=1 to turn on pager mode, as in less command, so that long listings won’t scroll off the screen.

Yes, the boot menu is in text mode. Will try your suggestions and see if somethings works. Thanks for the reply :smile:.

You’re welcome! :slight_smile:

That’s the key, yep! Somehow if grub gets a text in text mode, console output works as expected. If it gets graphical one – then you see glitches.

Checked once more on my machine – grub’s conlsole mode works os both when BIOS output is in text mode and in graphical mode (this is a PC with ASUS m/b, it has an option to show or not graphical AUS logo on startup). So once more, it seems a glitch on your combination of hardware/BIOS, etc. )

There’s nothing wrong with using graphical grub mode, not a console one. Quite a few mainstream distros have cool grub themes (themed after the distro itself). Fedora don’t have such a theme, maybe also they default to console mode for better compatibility. In you case it’s actually worse, but it’s the first time I see or hear such a case )

Also I forgot to mention previously, grub cli interface uses tab completion too (as in Linux shell), making it easier to enter commands and filepaths.

Tried GRUB CLI with c and terminal_output is set to gfxterm, changed to console but the same happens again so i reverted back to gfxterm.

Clarify please, did you change it on the fly from the grub cli without rebooting? And when you set it to console again, immediately you’ve got the same glitches?

Changed it from the grub cli and rebooted but same happens again if it’s set to console.

No-no-no, you don’t need to reboot once you change something from the cli. These changes are applied immediately (you should be able to see the difference), but they affect only the current session, they are not saved in any way.

My thought was this:

  1. You boot with console output enabled and see the broken menu.

  2. You switch to gfxterm output (if you can with broken image that is), thus forcing grub to switch the screen to graphical mode. It works ok, we’ve seen it already.

  3. You switch output back to console – presumably forcing grub to reinitialize the console text-only mode.

  4. You press [ESC] to get back to menu, which – I hope – works ok now (that is if grub properly reinitialized the screen on step 3).

It wouldn’t help you to repair grub’s console mode output permanently, no. It’ll just show us that switching modes and thus reinitializing the screen correct the issue – but for current session only.

Sorry for the previous reply. Switched to console, hit [ESC] and the menu was broken, got back to grub with c and switchd to gfxterm, hit [ESC] and the grub menu was back to normal.

So either grub doesn’t reinitialize the screen at all, or it does it incorrectly. )

Ok, i don’t know how to learn anything else about this situation )

As I said earlier, use graphical mode – with or without theme – and just remember this quirk with console output on this laptop. Also you now know how to change this modes (in config file or on the fly), so if you’re again in this situation (let’s say with new Linux install), you know how to work around it.