Glossary of Terms - What Is GRUB? [MiniTool Wiki]
GNU GRUB also called GRUB, short for GNU GRand Unified Bootloader, refers to a boot loader package from the GNU Project. GRUB is the reference implementation of Multiboot Specification, allowing users to have multiple operating systems at the same time on a computer and select the operating system that they want to run during the startup. Besides, it allows users to select a specific kernel configuration available on a particular operating system's partitions.
During the computer startup, BIOS finds a bootable device (usually a hard disk), loads and executes the initial bootstrap program from Master Boot Record (mbr). Then Stage 2 bootloader (like GRUB) will be loaded and users can manually specify the boot parameters in the user GRUB boot menu. Next, GRUB loads the selected kernel into memory and passes control to the kernel.
GRUB has two major versions: GRUB legacy and GRUB 2.
GRUB version 1, also called GRUB legacy, is only popular with some older releases of Linux distributions. GRUB 2 is a descendant of GRUB and it has been completely rewritten to provide the user significantly increased flexibility and performance. Now it is used by a majority of Linux distributions.
GRUB 2 has made many major improvements over the original GRUB:
- Scripting language including conditions, loops, variables, functions, etc
- Memory management system
- Modular design, for example, dynamic module loading or unloading
- Supports different systems such as PC (i386), MAC (PowerPC), and the latest EFI architecture.
- Rescue mode
- Boot LiveCD ISO images directly from the hard drive
- Non-x86 platform support (such as PowerPC)
- Universal support for UUIDs (not just Ubuntu)
- Graphical boot menu support and improved splash capability
Sometimes users can encounter some GRUB errors, for example, grub rescue command. Actually, The GRUB 2 rescue mode is a major enhancement to the GRUB bootloader. And if users receive "grub rescue>" command, it means GRUB 2 is unable to find the grub folder, the grub.cfg file, the associated modules or the folder contents are missing/corrupted. Usually, there is one prompt showing users the specific GRUB issue when getting grub rescue command. And they can search for it online to get the best solutions.