February 23, 2022

How to change the GRUB Bootloader Screen Resolution

 





To edit it with Gedit as
 root run:

gksu gedit /etc/default/grub

(Or if you're using Kubuntu, run kdesudo kate /etc/default/grub instead.)

You'll get a lot of messages in the Terminal, if you run that command in the Terminal rather than with Alt+F2. You'll notice they don't say they pertain to the file you're editing, so that's fine.

You'll find that part of the file says something like this:

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

Uncomment (i.e., remove the leading # from) the line that says GRUB_GFXMODE, and change the resolution from 640x480 to auto. The line should now read:

GRUB_GFXMODE="1024x768x32"
or
GRUB_GFXMODE="1920x1080"
or
GRUB_GFXMODE=auto

Save the file and quit the editor. In the Terminal, run:

sudo update-grub

(This must be run after every modification to /etc/default/grub, to apply the changes.)

Now reboot, and see if that does what you want.

It might not (as it uses the "platform default" which might not be the highest possible). If that is the case, edit /etc/default/grub again, and this time change the line so it says something like:

GRUB_GFXMODE=1600x1200,1280x1024,1024x768,800x600,640x480

You will not necessarily want to use exactly that line. You should list all the resolutions you want to be tried, in the order you want them to be tried. The resolutions I have listed are the most standard resolutions for monitors with a 4:3 aspect ratio, but widescreen monitors (including most laptop screens these days) have different form factors and use different resolutions. Wikipedia has a list of common resolutions which may help you. If you know the specific resolutions you want for each device, you can just list them (highest first). You should probably include 640x480 or auto at the end . I recommend this because I don't know if GRUB2 will always try a safe low resolution, if you don't include that.

Then save the file again, run sudo update-grub again, reboot again, and see if that does what you need.

If it doesn't, you may be out of luck. GRUB2 doesn't display video the same way as Ubuntu does once it's booted. GRUB2 uses VESA BIOS Extensions to display the boot menu with enhanced resolution (and color depth), and a machine's maximum resolution through VBE is not always as high as the maximum resolution supported by the video card and monitor.

Source: The official GRUB2 documentation. (You'll notice the version number is 1.99. It's still GRUB2. A bit confusing, but true.)

Source: https://askubuntu.com/questions/54067/how-to-safely-change-grub2-screen-resolution

Step 1: find the preferred mode

Reboot and press and hold Shift to display your grub. Press C to enter console mode. Then type (for Ubuntu versions before 18.04):

$ vbeinfo

For Ubuntu 18.04 and later:

$ videoinfo

This will display various stuff how grub recognizes your display. At the bottom is "preferred mode" - in your case it should say 1280x800. Note down the value.

Note: sometimes, some buggy video cards incorrectly give Grub the wrong preferred resolution - if the preferred mode is much higher than you were expecting, then select the nearest mode in the list displayed that you were expecting.

Press Esc to return to grub and press Enter to boot.

Step 2: Setting the resolution in grub

Reach for your terminal and type

$ sudo nano /etc/default/grub

find the line

#GRUB_GFXMODE=640x480

remove the # and change 640x480 with the preferred mode you wrote down. E.g.:

GRUB_GFXMODE="1280x800"
or 
GRUB_GFXMODE="1024x768x32"

save, then type

$ sudo update-grub

Note: the preferred mode has to be among those listed by vbeinfo. For example, if your preferred mode is 1920x1080 (a common 16x9 aspect ratio setting), your preferred mode is NOT supported by vbeinfo and may not work correctly. In fact, there do not seem to be any 16x9 modes supported by vbeinfo, as of Ubuntu 13.04. In that case you could try falling back to something common like 640x480, which, it seems most monitors support and vbeinfo supports. Also, not all the modes supported by vbeinfo are necessarily supported by your monitor and you may have to experiment.

Source: https://askubuntu.com/questions/54067/how-to-safely-change-grub2-screen-resolution


Also to set the Mint Theme enter the following:

apt install --reinstall -o Dpkg::Options::="--force-confmiss" grub2-theme-mint