---

Migrate to GRUB 2

“To most people, boot loaders aren’t the most exciting aspect of
an operating system, but they are extraordinarily important.
Without a functioning boot loader, nothing else works. Currently, a
transition from the old Grand Unified Bootloader (GRUB) Legacy tool
to the new GRUB 2 is underway. GRUB 2 is the default boot loader in
Ubuntu 9.10, and it’s an option in most other major Linux
distributions. Sooner or later, other distributions will deploy
GRUB 2 as the default boot loader.

“Anatomy of a boot loader

“Figure 1 shows the boot process as implemented by both GRUB
Legacy and GRUB 2. The basic input/output system (BIOS) is the
first code to run on the computer, and it’s stored in the
computer’s firmware. The BIOS loads the first sector of the boot
device and executes the code it contains. In the case of a hard
disk, this first sector is also known as the master boot record
(MBR), and it contains both the first stage of the boot loader and
the MBR partition table. Because most disk devices use a sector
size of 512 bytes, the first-stage boot loader code must be very
small. Most boot loaders, including both GRUB Legacy and GRUB 2,
place additional code elsewhere on the disk. In the case of GRUB
Legacy, this additional code is known as stage 1.5, and it’s often
placed in an unallocated area immediately following the MBR. Still
more code, known as stage 2, is stored in files in the Linux boot
partition (typically in the /boot directory), although Figure 1
omits these files for simplicity’s sake. Likewise, in a
multiple-operating system configuration, the secondary boot loader
may store additional configuration files elsewhere.”


Complete Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis