grub: Overview

 
 1.1 Overview
 ============
 
 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-loading(1) (⇒Overview-Footnote-1).  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 kernel resides.
 
    When booting with GRUB, you can use either a command-line interface
DONTPRINTYET  (⇒Command-line interface), or a menu interface (*noteMenu
DONTPRINTYET  (⇒Command-line interface), or a menu interface (⇒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 (⇒
 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 (⇒Naming convention) to GRUB, how to
 install GRUB on your drive (⇒Installation), and how to boot your
 OSes (⇒Booting), step by step.