After a computer is booted, it starts with BIOS (or UEFI). The BIOS (or UEFI) system performs a series of tests which is known as ‘Power On Self Test’ (POST). The purpose of POST is to detect and connect CPU and key controllers.
MBR (Master Boot Record) is the storage partition type. Another one is GPT (GUID Partition Table).
A Bootloader is a software that loads into the memory of a computer after it boots-up. The BIOS automatically starts the Bootloader. BIOS first searches the bootloader in the flash drive and then the hardcoded drive. After a bootloader is found it is loaded and the system starts.
The default & only Bootloader in RHEL(also in CentOS) is GRUB2. It is installed in the MBR or GPT. GRUB2 is flexible as it can be generated from the CLI as well as it can be edited from the GRUB2 menu. GRUB2 can have more than one Kernel but it is by default configured to boot into a configured default Kernel.
A Kernel is an OS software that disguises commands into the machine language. So it is an interaction medium between software and hardware. When a Kernel is selected from the GRUB2 Configuration menu, Linux forward the boot orders to the Kernel in association with the initial RAM disk or initramfs. ‘initramfs’ is actually a file system. During the boot process Linux loads the temporary file system into the RAM.
The Linux Kernel continues the boot process by calling the first process, systemd. The basic building blocks of systemd are Units. A special type of unit is the target unit. These targets are used to change the Linux system into different states to accomplish various needs. The targets in the RHEL (& also in CentOS) are
graphical.target: gui for multiuser system
multiuser.target: text-based multiuser system
emergency.target: emergency situation,filesystem is mounted in read-only mode.
rescue.target: emergency situation, all filesystems are mounted.