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!


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.

  • 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. – PJ Singh Mar 21 '16 at 16:31
  • 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. – Sun Bear Apr 6 '19 at 8:20

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.


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


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.

  • 1
    alright so I tried first solution, it didn't work :(, I will try another one with rEFInd next week ( I have project to present so I need a working laptop :) ) then I will tell you results. If you will find anything else let me know. By the way Thanks for the response! – Nikki Kononov Dec 5 '12 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.