What exactly is GRUB?

Basically, GRUB bootloader is the software that loads the Linux kernel. (It has other uses as well). It is the first software that starts at a system boot.

When the computer starts, BIOS first run a Power-on self-test (POST) to check hardware like memory, disk drives and that it works properly.

Then BIOS checks the Master Boot Record (MBR), which is a 512 byte section located first on the Hard Drive. It looks for a bootloader (like GRUB). The hard drive's partition tables are also located here.

enter image description here

Then you'll be prompted by the GRUB menu which can contain a list of the operating systems installed (in the case of dual boot), or perhaps the different kernels installed in a Linux distro.

When you choose which distro or kernel you want to use, GRUB loads the selected kernel. The kernel starts init (or systemd), which is the first process to start in Linux. init then starts other processes like network services and other that you might have configured to start at boot time.

enter image description here

The boot process contains alot of defined expressions and terms, way to much to add in a simple answer like this. Google is your friend!

Remember that this is a very basic explanation of the boot process and GRUB's role in it.

This youtube video provides a pretty nice introduction to the linux boot process, including basic information on the GRUB Bootloader:

Understanding the Linux Boot Process - CompTIA Linux+, LPIC-1


Grub is the Grand Unified Boot Loader.

If you come from Windows the easiest explanation for GRUB is "This is the program that linux writes to your MBR (Master Boot Record)"

This program is responsible for detecting and loading any OS on your personal computer.

In common cases You have simply to install Ubuntu after you put window on your machine. The Ubuntu installer will automatically detect your windows installation and write the configuration file for you.

So When you turn on your PC GRUB comes up and shows you a menu to select if you like to boot either Windows or Ubuntu.

That's all.