I’m currently dual-booting a Framework laptop between Ubuntu 22.04 and Windows 10 using
grub. All is well, except that I have to strain my old eyes to see the tiny grub menu when it appears in the top left hand corner of the screen.
I’m sure there must be a way to persuade
grub to use a more appropriate resolution. But I haven’t yet found it. This method doesn’t appear to change anything.
I’ve tried in vain
GRUB_GFXMODE=1600x1200x32,auto, which is one of the resolutions the
videoinfo offers. Any help would be very welcome.
The links below might be a clue.
Thanks for the thought, @junaruga. But I’m puzzled. The OP in the first link is talking about reducing the size of his font. He seems to be looking at a GUI grub. Mine is a rudimentary terminal
grub and the fonts could hardly be smaller. I believe what I’m looking for here is not font substitution but some way of telling
grub the resolution of the screen it’s playing to.
Oh, but wait… That links to this, which is definitely helpful.
Clearly the parameter I was attempting to use only applies to a GUI
grub and I need to set
gfxterm. I’ll do that and report back.
gfxterm and then running
update-grub doesn’t put
grub into a GUI. In fact, a comment in the
grub configuration file seems to suggest that
grub is by default in a GUI:
# Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console
It would be very helpful to hear from anybody who knows what’s going on here.
I use 800 x 600 and it’s fine
Thanks for the background image
OK. Some days you achieve nothing. But today I’ve got to the bottom of this
grub stuff. I think.
I was right to set
GRUB_TERMINAL=gfxterm. This does invite
grub to come up in a GUI.
But I was wrong, I believe, to set
GRUB_GFXMODE=1600X1024. This was a 3:2 resolution I pulled out of the options offered in Settings/Screen Display/Resolution. It’s my understanding now that with only VESA resolutions to play with at this early boot stage before the graphics drivers have been loaded, this is an illegal resolution.
update-grub doesn’t complain about this, but as a result, apparently silently declines to go into GUI mode.
I’ve now changed
GRUB_GFXMODE to a more modest
800x600 and everything is now copacetic. Thanks for the clues and thanks to @Fraoch for moving this discussion to a more appropriate location.
PS: Acceptable boot screen resolutions are listed in the
grub console (hit the C key when
grub appears to get there) in response to the
PPS. Oh, hello @amoun. I didn’t see your post until after I’d discovered the solution. Yes, 800x600 works nicely, and now I know why. I may add a background picture later. But for now my eyes are grateful simply for the legible text.
Just to wind this up, it’s clear to me now that there’s no need to declare
GRUB_TERMINAL=gfxterm. I should have understood the hint in the
grub configuration comments. By default,
grub is operating in a graphics terminal.
In fact, this is the original cause of the problem: it finds itself in a high res graphics terminal and accordingly uses a tiny font. I had forgotten my early days of using a real text console, when a font that small would have been impossible.
How do you change it to 800x600? I don’t have any possible commands listed for GRUB_GFXMODE when I hit C during Grub boot.
He linked to this gnu.org/software/grub/manual/grub/grub.html#Configuration which shows how to edit the grub config file.
But personally, I recommend using Grub-customizer to edit the options. Go to Appearance Settings tab > Custom Resolution. Grub-customizer also lets you easily load a theme, if you so wish. Customize Grub to Get a Better Experience With Linux
Ok, for people in the future.
In terminal in Ubuntu
$ sudo nano /etc/default/grub
uncomment it, and change to 800x600
ctrl X to save and exit
sudo update grub
This is not done from grub but from the terminal in Ubuntu
Thanks for outlining the steps @Hunter_Stabler
Sorry its sudo update-grub