Briefly, a boot loader is the first software program that runs when
a computer starts. It is responsible for loading and transferring
control to an operating system kernel software (such as Linux or
GNU Mach). The kernel, in turn, initializes the rest of the operating
system (e.g. a GNU system).
GNU GRUB is a very powerful boot loader, which can load a wide variety
of free operating systems, as well as proprietary operating systems with
chain-loading1. GRUB is designed to
address the complexity of booting a personal computer; both the
program and this manual are tightly bound to that computer platform,
although porting to other platforms may be addressed in the future.
One of the important features in GRUB is flexibility; GRUB understands
filesystems and kernel executable formats, so you can load an arbitrary
operating system the way you like, without recording the physical
position of your kernel on the disk. Thus you can load the kernel
just by specifying its file name and the drive and partition where the
When booting with GRUB, you can use either a command-line interface
(see Command-line interface), or a menu interface (see Menu interface). Using the command-line interface, you type the drive
specification and file name of the kernel manually. In the menu
interface, you just select an OS using the arrow keys. The menu is
based on a configuration file which you prepare beforehand
(see Configuration). While in the menu, you can switch to the
command-line mode, and vice-versa. You can even edit menu entries
before using them.
In the following chapters, you will learn how to specify a drive, a
partition, and a file name (see Naming convention) to GRUB, how to
install GRUB on your drive (see Installation), and how to boot your
OSes (see Booting), step by step.
Besides the GRUB boot loader itself, there is a grub shell
grub (see Invoking the grub shell) which can be run when
you are in your operating system. It emulates the boot loader and can
be used for installing the boot loader.
 chain-load is the mechanism for loading
unsupported operating systems by loading another boot loader. It is
typically used for loading DOS or Windows.
Published under the terms of the GNU General Public License