Linux Booting Process-1
Linux Booting Process-1
Linux Booting Process-1
Prof/Ayman El-Sayed
Cybersecurity Level 2
Overall View Of Boot Steps
The Linux boot process is the procedure for initializing the system. It consists of
everything from when the computer power is first switched on until the user interface is
fully operational.
1. BIOS
BIOS stands for Basic Input/Output System. In simple terms, the BIOS loads and executes
When you first turn on your computer, the BIOS performs some integrity checks of the
HDD or SSD.
The system BIOS provides a basic power-on self-test (POST), during which the BIOS
Then, the BIOS searches for, loads, and executes the boot loader program, which can be
found in the Master Boot Record (MBR). The MBR is sometimes on a USB stick or CD-ROM
Once the boot loader program is detected, it's then loaded into memory and the BIOS gives
2. MBR
MBR stands for Master Boot Record, and it is responsible for loading and executing the
/dev/hda, or /dev/sda, depending on your hardware. The MBR also contains information
3. Kernel
The kernel is often referred to as the core of any operating system, Linux included. It has
In this stage of the boot process, the kernel that was selected by GRUB first mounts the
root file system that's specified in the grub.conf file. Then it executes the /sbin/init
program, which is always the first program to be executed. You can confirm this with its
The kernel then establishes a temporary root file system using Initial RAM Disk (initrd) until
4. Systemd
To reiterate, the kernel initiates the init process, which starts the parent process. Here, the
parent of all Linux processes is Systemd, which replaces the old SysVinit process.
● mount filesystems
Indeed, these and other tasks allow users to interact with the system. Lastly, Systemd uses
the /etc/systemd/system/default.target file to decide the state or target the Linux system
boots into.
5. Run Levels
In Linux, the run level stands for the current state of the operating system. Run levels
define which system services are running. Previously, SysVinit identified run levels by
Now, let’s see the link between run level numbers and targets:
multi-user environment
services
For instance, the target value for a desktop workstation with a graphical user interface
(GUI) is 5. This value stands for run level 5 which is graphical.target. Also, the run level for a
In addition, we can change the target (run level) while the system runs. This change entails
that only services and other units defined under that target will now run on the system.