GNU GRUB (GRand Unified Bootloader) is a free and open source project that provides users with an easy-to-install-and-configure boot loader software for booting a single or multiple operating systems that are installed on a personal computer or laptop.
Key features include support for real memory management, internationalization support, portability, support for cross-platform installations, compact core image, support for dynamic loading to the core image, as well as a object-oriented framework.
The program has been used for many years now on a wide range of GNU/Linux systems, allowing users to easily and quickly switch between multiple OSes installed on one of multiple disk drives of a computer.
It supports a wide range of operating systems, including GNU/Linux, BSD, Solaris, as well as Microsoft Windows. In addition, it can be installed on Master boot record (MBR), GUID Partition Table (GPT) and Unified Extensible Firmware Interface (UEFI).
The software is comprised of different utilities, including grub-setup, grub-install, grub-mkconfig and update-grub. A standard GRUB installation will require users to run only the grub-install command with certain options, as well as the grub-mkconfig command.
Its default configuration file is usually located under /boot/grub/grub.cfg, but the best way to edit its settings is to open the /etc/defaults/grub file with any text editor and run the update-grub command, as root (system administrator).
As the computer technologies advance and BIOS-based systems disappear, the GNU GRUB boot loader tries to keep up with them, but it is slowly replaced by modern and more simplistic boot loaders, such as Syslinux, Gummiboot, rEFInd, rEFIt, and many others that are specifically designed for UEFI systems.
All in all, GNU GRUB is the next generation of the GRand Unified Bootloader, adopted by 95 percent of current GNU/Linux operating systems. It can be easily installed on an existing Linux/UNIX OS, replacing the current boot loader.