December 26, 2007

A visual GRUB configuration editor

Author: Sergio Gonzalez Duran

If you've been running Linux long enough to have upgraded your system more than once, you probably have several Linux kernels lurking around your system. If you discover that a certain application no longer works for you, you can go back to a previous kernel to try to run your program. GRUB, the boot loader found in most Linux distributions, lets you choose among operating systems and kernels installed on your box. Many people, however, fear that messing with GRUB may ruin their system, because of its many esoteric options, and configuration file text that often contains no help comments. QGRUBEditor can help you view and edit the GRUB boot loader from a graphical user interface.

If you have KDE and Qt 4 installed, you should have no problem installing and running QGRUBEditor. I downloaded version 2.5.0, which I easily installed and compiled in a Mandriva Linux 2008 system with these commands:

make install

If QGRUBEditor doesn't install correctly, you may need the libqt4-core, libqt4-dev, and libqt4-gui dependencies. Once installed, execute it by navigating to Tools -> QGRUBEditor or typing qgrubeditor in a terminal as root.

The program's main window shows the entries for your menu.lst GRUB configuration file, which is generally found under /boot/grub. You can choose a different main GRUB configuration file to work with from the text box at the bottom of the window.

The GRUB Entries tab, also at the bottom of the window, contains two panels: the top one shows the entries in menu.lst, and the bottom shows the details for each entry. Right-clicking on any entry in the top panel allows you to set that row as the default or the fallback kernel; the default entry is shown in a green background.

When you make any change you can see it in the real configuration file by going to File -> View Input, which opens a new window with two tabs. The Device Input tab shows your partitions (as in /etc/mtab), and you can see and understand how GRUB correlates partition names with its own nomenclature, as in /dev/sda1 = (hd0,0). The Menu Input tab displays the actual menu.lst file, and immediately reflects the changes that you make; you don't need to hit Save.

Double-clicking any entry in the main window shows a detailed screen with all the options you have available. Again, any change you make is saved automatically to menu.lst. The GRUB Settings tab allows you to personalize the usual GRUB options such as timeout, define the defaults, set a password, change the colors on the GRUB menu when the system boots, and set a splash image. The splash option allows you to choose an image in any of several formats, and the program converts it automatically to the .xpm.gz format needed by GRUB. It even provides a Preview button so you can see your splash image. GRUB splash images have only 16 colors, so the splash image may not appear as you'd expect, compared to the original image.

When you edit an entry, the application shows all the possible options, but it offers no help for the values of the options. That's too bad -- when I'm making changes, I'd like to know the values for the Kernel and Chainloader options. Integrating GRUB-specific help would make the program more complete.

In another interface problem, using Encrypt Password or Create GRUB Splash Image directly from the Tools menu creates some confusion, because these choices don't tell you where to apply them. They're meant to be used in the GRUB Settings tab of the main window.

Still QGRUBEditor is better than editing menu.lst by hand. It can make GRUB less intimidating for novice and casual users, and help them understand how to configure this powerful boot loader.


  • System Administration