The configuration file (/boot/grub/grub.conf),
which is used to create the list of operating systems to boot in GRUB's
menu interface, essentially allows the user to select a pre-set group of
commands to execute. The commands given in Section 2.6 GRUB Commands can be used, as well as some special
commands that are only available in the configuration file.
2.7.1. Special Configuration File Commands
The following commands can only be used in the GRUB menu configuration
file:
color <normal-color><selected-color>
— Allows specific colors to be used in the menu, where two
colors are configured as the foreground and background. Use
simple color names, such as red/black. For
example:
color red/black green/blue
default
<title-name> — The default entry title name that will be loaded if the menu
interface times out.
fallback
<title-name> — If used, the entry title name to try if first attempt fails.
hiddenmenu — If used, prevents the
GRUB menu interface from being displayed, loading the
default entry when the
timeout period expires. The user can see the
standard GRUB menu by pressing the [Esc] key.
password
<password> — If
used, prevents a user who does not know the password from editing
the entries for this menu option.
Optionally, it is possible to specify an alternate menu
configuration file after the password
<password> command. In
this case, GRUB will restart the second stage boot loader and use
the specified alternate configuration file to build the menu. If
an alternate menu configuration file is left out of the command,
then a user who knows the password is allowed to edit the current
configuration file.
timeout — If used, sets the interval,
in seconds, before GRUB loads the entry designated by the
default command.
splashimage — Specifies the location
of the splash screen image to be used when GRUB boots.
title — Sets a title to be used with a
particular group of commands used to load an operating system.
The hash mark (#) character can be used at the beginning of a line to
place comments in the menu configuration file.
2.7.2. Configuration File Structure
The GRUB menu interface configuration file is
/boot/grub/grub.conf. The commands to set the
global preferences for the menu interface are placed at the top of the
file, followed by the different entries for each of the operating
systems or kernels listed in the menu.
The following is a very basic GRUB menu configuration file designed to
boot either Red Hat Linux and Microsoft Windows 2000:
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
# section to load linux
title Red Hat Linux (2.4.18-5.47)
root (hd0,0)
kernel /vmlinuz-2.4.18-5.47 ro root=/dev/sda2
initrd /initrd-2.4.18-5.47.img
# section to load Windows 2000
title windows
rootnoverify (hd0,0)
chainloader +1
This file tells GRUB to build a menu with Red Hat Linux as the default
operating system and sets it to autoboot after 10 seconds. Two sections
are given, one for each operating system entry, with commands specific
to the system disk partition table.
Note
Note that the default is specified as a number. This refers to the
first title line GRUB comes
across. If you want windows to be
the default, change the default=0
to default=1.
Configuring a GRUB menu configuration file to boot multiple operating
systems is beyond the scope of this chapter. Please consult Section 2.11 Additional Resources for a list of additional
resources.