Below is a simplified diagram of the boot process of a Linux system:
The UFEI is the new version of the BIOS and the GPT is the new version of the MBR
BIOS/UEFI looks for a bootable device, then loads the primary boot loader from the boot partition - MBR/GPT -.
The boot loader - GRUB - locates the kernel and loads the initrd image into the memory.
The kernel takes over and loads the hardware drivers. The kernel mounts the root partition, and it runs the systemd process which has the first process ID - ID=1 - The systemd process checks the "default.target" file to know which programs it needs to load, it also mounts the partitions after checking the "/etc/fstab" file.
The default target us usually the "multi-user.target" or the "graphical.target"
Initrd - initial ramdisk - loads a temporary root filesystem into the RAM to be able to initiate the system before the actual root filesystem is mounted.
Initrd makes the boot process lighter since it only uses a small portion of the kernel to start the system.