| |
|
Home
|
| Red Hat Linux 8.0: The Official Red Hat Linux Reference Guide |
|---|
| Prev | Chapter 4. Boot Loaders | Next |
GRUB GNU GRand Unified Boot loader or GRUB is a program
which enable the user to select which installed operating system or
kernel to load at system boot time. It also allows the user to pass
arguments to the kernel.
GRUB and the x86 Boot Process This section will discuss in more detail the specific role GRUB plays
when booting an x86 system. For a detailed look at the overall boot
process, see the Section called A Detailed Look at the Boot Process in Chapter 3.
GRUB loads itself into memory in the following stages:
The Stage 1 or primary boot loader is read into
memory by the BIOS from the MBR[1]. The primary boot loader exists on less
than 512 bytes of disk space within the MBR. The only thing it
does is load the Stage 1.5 or Stage 2 boot loader.
The Stage 1.5 boot loader is read into memory by the
Stage 1 boot loader only if necessary. Some hardware
requires an intermediate step to get to the Stage 2 boot
loader. This is sometimes true when the
/boot partition is above the 1024 cylinder
head of the hard drive or when using LBA mode. The Stage 1.5
boot loader is found either on the /boot
partition or on a small part of the MBR and the
/boot partition.
The Stage 2 or secondary boot loader is read into
memory. The secondary boot loader displays the GRUB
menu and command environment. This interface allows you to select
which operating system or Linux kernel to boot, pass arguments
to the kernel, or look at system parameters, such as available
RAM.
The secondary boot loader reads the operating system
or kernel and initrd into
memory. Once GRUB determines which operating system
to start, it loads it into memory and hands control of the
machine to that operating system.
The boot method used to boot Red Hat Linux is called the direct
loading method because the boot loader loads the operating
system directly. There is no intermediary between the boot loader and
the kernel.
The boot process used by other operating systems may differ. For
example, Microsoft's DOS and Windows operating systems, as well as
various other proprietary operating systems, are loaded using a
chain loading boot method. Under this method,
the MBR simply points to the first sector of the partition holding the
operating system. There it finds the files necessary to actually boot
that operating system.
GRUB supports both direct and chain-loading boot methods, allowing it
to boot almost any operating system.
 | Warning |
|---|
| | During installation, Microsoft's DOS and Windows installer
completely overwrites the MBR, destroying any existing boot
loader. If creating a dual boot system, it is best to install the
Microsoft operating system first. For instructions on how to do
this, see the appendix titled Installing Red Hat Linux in
a Dual-Boot Environment in the
Official Red Hat Linux Installation Guide.
|
Features of GRUB GRUB contains a number of features that make it preferable to other
boot loaders available for the x86 architecture. Below is a list of
some of the more important features:
GRUB provides a true command-based, pre-OS
environment on x86 machines. This affords the user
maximum flexibility in loading operating systems with certain
options or gathering information about the system. For years
many non-x86 architectures have employed pre-OS environments
that allow system booting from a command line. While some
command features are available with LILO and other x86 boot
loaders, GRUB is more feature rich.
GRUB supports Logical Block Addressing
(LBA) mode. LBA places the addressing
conversion used to find files in the hard driver's
firmware, and it is used on many IDE and all SCSI hard
devices. Before LBA, boot loaders could encounter the
1024-cylinder BIOS limitation, where the BIOS could not find a
file after that cylinder head of the disk. LBA support allows
GRUB to boot operating systems from partitions beyond the
1024-cylinder limit, so long as the system BIOS supports LBA
mode. Most modern BIOS revisions support LBA mode.
GRUB can read ext2 partitions. This
allows GRUB to access its configuration file,
/boot/grub/grub.conf, every time the system
boots, obviating the need for the user to write a new version of
the first stage boot loader to MBR when configuration changes are
made. The only time a user would need to reinstall GRUB on the MBR
is if the physical location of the /boot
partition is moved on the disk. For details on installing GRUB to
the MBR, see the Section called Installing GRUB.
|
|
|
|
|
|
|
|
Disclaimer: For authoritative source or latest update to this
documentation, please refer to http://www.redhat.com/docs/manuals/linux/ |
|
 |
|
|
|
Quotes: The greatest dangers to liberty lurk in insidious encroachment by men of zeal, well-meaning but without understanding.
|
|
|
|
|
|
|