F.2.2.1. The GRUB boot loader for x86 systems
The system loads GRUB into memory, as directed by either a first-stage bootloader in the case of systems equipped with BIOS, or read directly from an EFI System Partition in the case of systems equipped with UEFI.
GRUB has the advantage of being able to read ext2, ext3, and ext4 partitions and load its configuration file —
(for BIOS) or
(for UEFI) — at boot time. Refer to Section E.8, “GRUB Menu Configuration File”
for information on how to edit this file.
The GRUB bootloader in Red Hat Enterprise Linux 6.9 supports ext2, ext3, and ext4 file systems. It does not support other file systems such as VFAT, Btrfs or XFS. Furthermore, GRUB does not support LVM.
Once the second stage boot loader is in memory, it presents the user with a graphical screen showing the different operating systems or kernels it has been configured to boot (when you update the kernel, the boot loader configuration file is updated automatically). On this screen a user can use the arrow keys to choose which operating system or kernel they wish to boot and press Enter. If no key is pressed, the boot loader loads the default selection after a configurable period of time has passed.
Once the second stage boot loader has determined which kernel to boot, it locates the corresponding kernel binary in the
/boot/ directory. The kernel binary is named using the following format —
/boot/vmlinuz-<kernel-version> file (where
<kernel-version> corresponds to the kernel version specified in the boot loader's settings).
The boot loader then places one or more appropriate initramfs images into memory. The
initramfs is used by the kernel to load drivers and modules necessary to boot the system. This is particularly important if SCSI hard drives are present or if the systems use the ext3 or ext4 file system.
Once the kernel and the
initramfs image(s) are loaded into memory, the boot loader hands control of the boot process to the kernel.