In Red Hat Enterprise Linux (RHEL) 10, the Linux boot process follows a modern and streamlined architecture built on top of the GRUB2 bootloader and systemd init system. Understanding this process is crucial for Linux system administrators, especially when managing enterprise-level environments where boot reliability, security, and performance are critical.
This guide explains the complete Linux boot process, updated for the latest advancements in the Red Hat ecosystem, including UEFI support, GRUB2, and systemd target-based initialization.
RHEL 10 brings several modern improvements to the boot process:
- GRUB2 password protection: You can secure GRUB boot entries with encrypted passwords.
- Systemd-boot and bootctl (optional on some UEFI systems) offer an alternative to GRUB.
- Dracut framework for generating initramfs with better module detection and customization
- Systemd-analyze tool helps administrators profile and optimize the boot time
1. System Firmware Stage – UEFI or BIOS Initialization
The boot process in RHEL 10 begins when the server is powered on, triggering the firmware layer, which may be BIOS (legacy systems) or UEFI (modern hardware). The firmware performs a Power-On Self Test (POST) to validate hardware integrity—checking CPU, RAM, disk controllers, and other peripherals. Once the hardware checks are completed, UEFI looks for the bootloader in the EFI System Partition (ESP), typically at /boot/efi/EFI/redhat/grubx64.efi
, and hands over control to it.
UEFI is the default firmware mode in RHEL 10 and supports features like secure boot and graphical boot menus, which enhance boot security and manageability.
2. GRUB2 Bootloader Execution
RHEL 10 uses GRUB2 (GRand Unified Bootloader version 2) as the default bootloader. GRUB2 supports both BIOS and UEFI modes and offers a modular, flexible configuration system. Once GRUB2 is loaded, it reads its primary configuration file—/boot/grub2/grub.cfg
for BIOS or /boot/efi/EFI/redhat/grub.cfg
for UEFI systems.
This configuration defines the available kernel versions, initramfs images, and boot options. The GRUB2 boot menu is displayed, allowing users to select which kernel or OS to boot. If no selection is made within the timeout (configured via GRUB_TIMEOUT
in /etc/default/grub
), GRUB2 proceeds to load the default kernel and initramfs.
GRUB2 also supports kernel parameters passed via the linux
line in grub.cfg
, such as root=UUID
, rhgb
, quiet
, or selinux=0
.
3. Kernel and Initramfs Loading
Once GRUB2 has been instructed which kernel to boot, it loads the selected kernel image (e.g., /boot/vmlinuz-<version>
) and the associated initramfs (e.g., /boot/initramfs-<version>.img
) into memory.
-
The kernel is the core component of the Linux operating system that manages system resources, hardware interaction, memory, and processes.
-
The initramfs (initial RAM filesystem) is a compressed cpio archive that contains a temporary root filesystem. It includes drivers and scripts needed to mount the actual root filesystem on disk.
During this stage, the kernel:
-
Initializes CPU scheduling, memory management, and hardware abstraction
-
Loads kernel modules required for block devices, file systems, and RAID/LVM
-
Switches from the temporary initramfs root to the actual root filesystem, usually mounted from a logical volume (
/dev/mapper/rhel-root
) or standard partition
After the root filesystem is mounted, the kernel executes the first userspace process, typically /lib/systemd/systemd
.
4. systemd Initialization
In RHEL 10, systemd is the default init system, replacing traditional SysVinit and Upstart. Once the kernel hands control to systemd (PID 1), it takes charge of bringing the system into its operational state based on predefined targets (which are systemd’s equivalent to runlevels).
systemd performs the following tasks in order:
-
Mounts all filesystems specified in
/etc/fstab
-
Activates swap partitions and volumes
-
Starts all services and daemons defined for the current target (e.g.,
multi-user.target
orgraphical.target
) -
Initializes system logging, networking, time synchronization, and firewall
-
Handles dependencies using
.service
,.mount
,.target
, and.socket
unit files located in/etc/systemd/system
and/usr/lib/systemd/system
The default target is usually linked to multi-user.target
for CLI environments or graphical.target
for systems with a GUI. You can verify the current default target using systemctl get-default
and change it with systemctl set-default
.
5. Login Prompt or GUI Interface
Once all services are started, the system transitions to user interaction mode. This stage depends on the default target:
-
For CLI-only environments (
multi-user.target
), a getty process starts and presents a login prompt on the terminal (e.g., tty1). -
For graphical environments (
graphical.target
), a Display Manager like GDM or SDDM launches, prompting the user with a graphical login screen.
After successful authentication, the user is granted access to the shell or desktop environment, and the Linux system is ready for use.
Modern Enhancements in RHEL 10 Boot Process
RHEL 10 brings several modern improvements to the boot process:
-
GRUB2 password protection: You can secure GRUB boot entries with encrypted passwords.
-
Systemd-boot and bootctl (optional on some UEFI systems) offer an alternative to GRUB.
-
Dracut framework for generating initramfs with better module detection and customization
-
Systemd-analyze tool helps administrators profile and optimize the boot time
For example, you can run systemd-analyze
to view the total boot time or systemd-analyze blame
to see time taken by individual services.
Conclusion
Mastering the Linux boot process, especially in modern enterprise systems like RHEL 10 with GRUB2 and systemd, is a fundamental skill for any aspiring or experienced Linux System Administrator. Whether you’re preparing for a high-level job interview, managing critical server infrastructure, or troubleshooting complex boot issues, a clear understanding of each stage—from firmware initialization to the login interface—empowers you to work with confidence and efficiency.
If you’re serious about building a career in Linux Administration or upgrading your skills to match today’s enterprise standards, we highly recommend exploring professional training. Since 2004, AEM Institute, based in Kolkata, has established itself as the top Linux Administration training provider in Eastern India. With over two decades of excellence, AEM offers hands-on, industry-focused Linux courses designed to help students, job seekers, and working professionals become job-ready Linux Administrators.
To access expert-led tutorials, real-world labs, interview guidance, and globally recognized certification preparation, visit https://aemskills.com today. Whether you’re starting fresh or looking to move into DevOps or Cloud roles, AEM Institute has the training programs to power your success.

Join AEM – Where Skills Meet Success.