Grub stands for Grand Unified Bootloader. GRUB is a program which enables the selection of the installed operating system or kernel to be loaded at system boot time. It also allows the user to pass arguments to the kernel. The primary configuration file for changing menu display setting is called Grub.
Grub is independent of any particular operating system. A bootloader is very important without it operating system can not started. Grub is bootloader package from GNU project. GNU Stands for GNU’s Not Unix and in linux, except Kernel all other components are known as GNU. GNU project is a free software project its goal is to give freedom to computer users.
Grub supports multiple Linux kernels and it allows users to select any one of the installed kernal between them at boot time using a menu.
Grub loads itself into memory in three stages :
Stage 1 : Stage 1 is also know as Primay BootLoader. In this stage bootloader is read into memory by BIOS from the MBR(Master Boot Record). Primary boot loader exists on less than 512 bytes of the disk space.
Stage 1.5 : In this stage boot loader is read into memory by stage1 boot loader, if it is necessary or some hardware are requires an intermediate step to get to the stage 2.
Stage 2 : Stage 2 is also known as Secondary Boot Loader. This stage display the GRUB menu and command environment. This stage allow the user to select which kernel or operating system to boot.