Colour your GRUB boot menu

  • December 22, 2007
  • Avatar for peter

That boring white on black GRUB boot menu you get when you switch on your computer is a bit, well, boring, isn't it?

Thankfully, there's an easy way to change it if you go into your GRUB configuration file. A word of warning, though, editing the GRUB configuration file without knowing what you're doing can result in bad things happening and can cause you to not be able to boot your system. Tread with caution.

The configuration file will be located at either /boot/grub/menu.lst or /etc/grub.conf. Open it up, as root, in your favourite text editor.

The line we need to add is the color command. It works like this:

color normal [highlight]

The normal colour, is quite obviously, the colour that will be used normally, and the highlight colour will be the colour when that row is selected to show that it is selected.

For both normal and highlight, though, you can separate the foreground and background colours with a /.

An example of this is if we wanted the following - the normal colour is cyan on blue, and the highlight is white on blue. The code we'd need is this:

color cyan/blue white/blue

According to the relevant GRUB manual page, the available colours you can use are:

  • black

  • blue

  • green

  • cyan

  • red

  • magenta

  • brown

  • light-gray

    These below can be specified only for the foreground.

  • dark-gray

  • light-blue

  • light-green

  • light-cyan

  • light-red

  • light-magenta

  • yellow

  • white

Once you've got the color command you want, you need to put it somewhere in your GRUB configuration file. Your default colour scheme should be put somewhere near the top of the file and this will be used for all the entries in your boot menu unless you specify otherwise.

To have custom colours for an individual entry, just place the relevant color command under its title. For example, if I want my Fedora system to have a red and grey theme, I would have this:

title Fedora release 8 (Werewolf) (on /dev/sdb1)
color light-gray/red red/light-gray
root (hd1,0)
kernel /boot/vmlinuz- ro root=/dev/sdb1
initrd /boot/initrd-2.6.23-1-42.fc8.img

And that's about it. Have fun prettifying your boot sequence!

Avatar for peter Peter Upfold

Home » Articles »