Grub-Efi wrong resolution

12,046

Solution 1

I had the same issue as the Nikki until today, when I fixed it accidentally by making a hardware configuration change.

My hardware is different from the Nikki's. I am using the Intel graphics built into my Dell Optiplex 7010.

Since I changed from legacy boot to UEFI, the grub menu had been displayed at a low resolution, while the frame buffer continued to use the desired resolution of 2560 x 1440.

Today, I was cleaning-up the 7010's system configuration. On the page at Settings -> General -> Advanced Boot Options, I found a checked checkbox labelled 'Enable Legacy option ROMs'. I cleared this box, saved the configuration, and booted. To my surprise, the grub menu was now displayed at 2560 x 1440.

Perhaps others may be able to resolve this issue by removing remnants of support for legacy booting from their hardware configurations.

Solution 2

According to the Arch Linux wiki entry on GRUB, you can set the screen resolution in GRUB with the GRUB_GFXMODE option, as in:

GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=keep

You must enter these lines in /etc/default/grub and then do a grub-mkconfig -o /boot/grub/grub.cfg to have them "take." That said, I've never tried this, so I can't promise it'll work or offer much additional help if it doesn't.

Another option is to user another boot manager. In particular, my rEFInd offers a configuration file option called resolution that you can use to set the resolution, as in:

resolution 1366 768

EFI firmware, though, provides a limited set of options for screen resolutions, so you might find that your preferred resolution just won't work. If so, rEFInd will notify you of this fact when you reboot and tell you what resolutions are supported.

You can install rEFInd so that it chainloads to GRUB or so that it boots a Linux 3.3.0 or later kernel directly. Unfortunately, Ubuntu doesn't set itself up in a way that's optimal for rEFInd, but you can reconfigure it without too much difficulty. See the rEFInd documentation on booting Linux for details.

Solution 3

I have the same issue on my Lenovo Thinkpad W520 (4270CTO) and here is what I learned from a user named "someotherguy" in Lenovo Support Forums:

The UEFI BIOS has a spec version. Mine is 2.0.In order to have advanced features like access BIOS from Windows 8,having high resolutions in bootloaders,etc the UEFI spec version must be at least 2.3.1.

I suppose something like that may happen to your PC as well.I might be wrong though.

Please note that the update version of UEFI BIOS IS NOT the same as the specification version.

Share:
12,046

Related videos on Youtube

Nikki Kononov
Author by

Nikki Kononov

Updated on September 18, 2022

Comments

  • Nikki Kononov
    Nikki Kononov over 1 year

    My question, as it comes from the title, related to grub, but it's a different thing.

    I re-installed Windows 7 and Ubuntu 12.10 in UEFI mode (before that I was using normal BIOS) and everything went perfectly fine. Both systems load as they should but there is one thing that keeps bothering me. The problem is before I installed both systems in UEFI I used to boot in both system using common grub (non-uefi) and resolution in this grub was correct (which is 1366x768). Right now with grub-efi I have wrong resolution (which is seems to be 640x480).

    So my question is can can I safely set grub-resolution using grub config files or issue is related to something else? (for instance graphics card).

    I am using Ubuntu 12.10 Intel HD 3000 + Nvidia GT 540M Optimus (I am using bumblebee) Kernel 3.5.0-19-generic all updates installed! I also added ubuntu x-swat ppa for drivers.

    Thank you for your help!

  • Enterprise
    Enterprise about 8 years
    Good Tip! My ASRock Z87E-ITX BIOS has an option for CSM (Compatibility Support Module). Once disabled, grub displays the higher native monitor resolution. In the past, I have successfully used the solution posted above by Rod Smith, but I think that solution still requires you modify your BIOS to not use a "legacy" or "compatibility" mode, if available, as @Charles Jardine suggests. After disabling CSM in the BIOS, I was able to remove the GRUB_GFXMODE/GRUB_GFXPAYLOAD_LINUX entries in /etc/default/grub; they may have been necessary in older versions of Ubuntu; I am running Ubuntu 15.10 x64.
  • Sun Bear
    Sun Bear about 5 years
    For EFI boot, disabling CSM in ASUS UEFI --> Advance --> Boot menu allowed Grub2 splash screen to occupy the entire monitor display instead of appear a lower Graphics Output Protocol (GOP) resolution for when CSM was enabled. Ubuntu 16.04 with Linux 4.15.0-47-generic #50~16.04.1-Ubuntu.