1

I am trying to get Grub to look nice.

But, for some reason the changes do not apply. I tried background images, (custom ones and the ones from grub2-splashimages), color changing (all the options), but it does not want to apply. It does save correctly(without any errors), and as far as I know, grub is installed on the default location. Also the changes are still there when I re-launch grub-customizer.

Also I am using grub-emulator to test the result, but it is showing the exact same thing.

If you need any of grub's config files, please mention.

JustRamon
  • 13
  • 1
  • 1
  • 4
  • This is a nice article to change the background image and font/background color. Remember to run update-grub afterward. http://www.thegeekstuff.com/2012/10/grub-splash-image/ – jbrock Jul 11 '15 at 14:25
  • Nope. This did not work. Grub-customizer does exactly the same thing, but when I do it manually, it stays the same. I do have to say that grub-customizer did change the resolution to full hd (like my screen), but none of the color/background settings worked. I have no idea what is happening. – JustRamon Jul 11 '15 at 14:34
  • The image needs to be png and an efi grub instead of legacy. – jbrock Jul 11 '15 at 14:37
  • With UEFI/EFI you would have your own boot partition. If there is no boot partition onto which grub is installed, it will not be editable. – jbrock Jul 11 '15 at 15:18
  • @jbrock, Oh. grub is installed into /boot/grub/, im a noob to this, is this correct? I automaticly boot to this. Maybe I have to say that I did try to use the refind boot-menu-thingy, but did not like it. Did it change the way grub behaves?

    And if there is no boot partition, is there no other way to theme grub? (My system is a dualboot of Windows 8.1 (soon 10) and Elementary OS btw)

    – JustRamon Jul 11 '15 at 15:37
  • You can use the command lsblk in terminal to see if your /boot/efi is mounted. Other than that I have never customized GRUB with rEFInd installed. I think reading the above article I mentioned may shed some light on it. You could check your /etc/grub.d/05_debian_theme file to troubleshoot if GRUB Customizer is doing its job. – jbrock Jul 11 '15 at 17:27
  • @jbrock, Maybe it is good to mention that I deleted refind after installing it (using the way described on the website). Also boot/efi is mounted. – JustRamon Jul 11 '15 at 17:47
  • Also, when looking into the debian_theme file, I can see the set_default_theme(){} method , and it is probably detecting that my $GRUB_DISTRIBUTOR is Elementary, because it has seperate "echos" for that. – JustRamon Jul 11 '15 at 17:57
  • I wonder if it's even detecting that I am trying to apply a theme (or that something is wrong with the settings I am applying), because the grub menu is basically the same as the "echos" look like. So it is applying the default settings, I have no Idea why though. – JustRamon Jul 11 '15 at 17:59

3 Answers3

1

To add a custom background image:

  1. Save your background image to your Pictures directory as .png
  2. Open terminal and paste sudo gedit /etc/grub.d/05_debian_theme
  3. Paste the line GRUB_BACKGROUND="/home/YOURUSERNAME/Pictures/NAME-OF-BACKGROUND.png" on its own line in the file.
  4. In terminal run sudo update-grub
  5. Terminal should say background image found.
  6. Reboot.

If this does not work, then I am not sure. The link I posted also has instructions on changing the text color and text background. If this works for you, please be sure to up vote it and mark as the correct answer. Thank you.

jbrock
  • 3,307
  • Nope. Did not do anything. I fixed your missing ", but still, did not work. I read from the code that it should look for /usr/shared/images/Grub.png, and still, did not work. Also when i do sudo update-grub, it says it is using the custom appearence settings, but when I load up grub-emu or reboot my pc, it does still not show up. I am beginning to think there is something very wrong with my grub setup. Should I try reinstalling grub? – JustRamon Jul 11 '15 at 19:18
  • Oops. I forgot to close out that path with the quotation. You can try reinstalling grub. I usually just use boot-repair (instructions for install, http://askubuntu.com/questions/226061/how-to-install-the-boot-repair-tool-in-an-ubuntu-live-disc) to reinstall GRUB, installed on my Ubuntu OS. Be careful with fiddling too much with GRUB. It is always better to have a system that boots even if it isn't customized. – jbrock Jul 11 '15 at 19:55
  • By the way, my GRUB background image is just in my Pictures folder. I don't think the image directory matters. – jbrock Jul 11 '15 at 19:56
  • It is always better to have a system that boots even if it isn't customized. True that! anyways here is my bootsummary: http://paste2.org/GcIFnYFY I'm rebooting now. – JustRamon Jul 12 '15 at 10:15
  • It worked! Thank you so much @jbrock PS:I marked the post above as correct, because I cant mark the comments :( – JustRamon Jul 12 '15 at 10:36
  • Great to hear! I'm glad it worked. :) – jbrock Jul 13 '15 at 03:39
0

Grub works better with png images than jpg.

Have a look at this page: Ubuntu Community - Grub2/Displays

GRUB 2 can use PNG, JPG/JPEG and TGA images for the background. The image must meet the following specifications:

  • JPG/JPEG images must be 8-bit (256 color). Else you will get errors saying "Too many Huffman tables". Since most of the time you will not want to limit yourself to 256 colors (which is totally yesteryear) you will probably find PNG much preferable.
  • Images should be non-indexed, RGB.
loxaxs
  • 759
  • 5
  • 15
-1

If you only want to change the background image you can do this:

Put the image under /boot/grub/ and run:

sudo update-grub

For some reason grub-customizer doesn't work you should fill a bug.
It happens to a lot of users.

This article for Debian should work, since Ubuntu is based on it.

Now to change the colors, open “/etc/grub.d/05_debian_theme” and find the following line:

    if [ -z "${2}" ] && [ -z "${3}" ]; then
            echo "  true"
    fi

and, replace them with the following:

if [ -z "${2}" ] && [ -z "${3}" ]; then
    # echo "  true"
    echo "    set color_highlight=red/green"
    echo "    set color_normal=light-cyan/black" 
fi

Don’t change the “black” present in color_normal. If changed, the image will not be transparent in the area where the menu is displayed.

After this change, execute “update-grub”, and reboot your system.

The following colors are supported by grub:

black
blue
brown
cyan
dark-gray
green
light-cyan
light-blue
light-green
light-gray
light-magenta
light-red
magenta
red
white
yellow

The article explains also the paths and the requirements for the images.
You simply need to put them in some folder no need to edit the config.

Make a backup of the file that you will edit.

Scorpion
  • 374