To FrontPage
GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.
Briefly, boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).
GRUB 2 and GRUB Legacy
Currently under development, GRUB2, has replaced what was formerly known as GRUB (i.e. version 0.9x), which has, in turn, become GrubLegacy.
GRUB 2 aims at merging sources from PUPA in order to create the next generation of GNU GRUB. A mailing list and a wiki have been setup for discussing the development of GRUB 2.
GRUB Legacy is no longer being developed. For the differences between GRUB Legacy and GRUB 2, please visit their respective pages.
Interfaces
GRUB has a ClInterface (command-line interface) and a MenuInterface.
In the command-line interface, you type the drive specification and file name of the kernel manually. It has TabCompletion of commands, devices, partitions, and files in a directory depending on context.
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 (menu.lst). While in the menu, you can switch to the command-line mode, and vice-versa. You can even edit menu entries before using them.
Grub shell
Besides the GRUB boot loader itself, there is a GrubShell grub 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.
Frontends
SuperGrub, a boot utility that can restore and repair overwritten and misconfigured GRUB installs or directly boot various operating systems.
See also