How to Boot CentOS 8 / RHEL 8 Server in Single User Mode

For day to day operations tasks, sometimes Linux geeks have to boot Linux server in single user mode for recovering the root password, repairing file system errors, fixing incorrect entry of fstab and disabling or enabling systemctl services.

Single user mode is the maintenance or emergency mode where Linux geeks perform all troubleshooting steps. In Single user mode all the system services are stopped and only root user is allowed to execute commands. In this article we will demonstrate on how to boot CentOS 8 / RHEL 8 server into a single user mode and perform troubleshooting steps.

There are two ways to boot CentOS 8 and RHEL 8 server in Single User Mode

Method 1) Using “rd.break” keyword

Step:1) Reboot Your CentOS 8 or RHEL 8 Server and go to grub boot loader screen by interrupting auto boot and choose first line which includes the kernel (In case you have multiple kernel lines choose the appropriate one which suits to your environment). Below is the CentOS 8 boot loader screen,

CentOS8-Bootloader-Screen

Step:2) Press ‘e’ to enter in the edit mode and then go to the end of line which starts with ‘linux‘ word, type the keyword “rd.break

insert-rd-break-keyword-centos8-grub

now press Ctrl-x to boot system in single user mode then we will get below screen,

single-user-mode-prompt-centos8

Step:3) Remount the /sysroot in read-write (rw) mode

Run the following commands to mount sysroot file system in rw,

switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot
sh-4.4#

As we can see above that we got ‘sh’ shell prompt, now root user can execute the commands.

Let’s assume we want to recover root password by resetting it, so execute following commands one after the another

sh-4.4# echo “P@ssW0rD@123#” | passwd --stdin root 
sh-4.4# touch /.autorelabel

Once you are done with password reset, run below command to reboot your system

sh-4.4# reboot -f

commands-single-user-mode-centos8-rhel8

Method 2) Replacing the ‘ro’ word with “rw init=/sysroot/bin/sh”

Step 1) Reboot your CentOS 8 / RHEL 8 System and interrupt the auto boot by entering up and down arrow key then we will get following grub screen.

Choose the first line which includes the kernel,

rhel8-grub-screen

Step 2) Press ‘e’ to enter in edit mode and look for the line which starts with ‘linux’ word, replace the “ro” with “rw init=/sysroot/bin/sh

replace-ro-rhel8-grub

press “Ctrl-x” to boot the system in single user mode,

rhel8-single-user-mode

Step 3) Mount the root file system using chroot command,

:/# chroot /sysroot

Let’s assume you want to correct some invalid entries in fstab file,

:/# vi /etc/fstab

Make the required changes in fstab file then save and exit

rhel8-grub-prompt-edit-fstab

In case you want to disable some systemctl service like sendmail, run the following command,

:/# systemctl disable sendmail

Once you are done with changes and troubleshooting steps then reboot your system using following command,

:/# reboot -f

reboot-rhel8-after-changes-rescue-mode

Note: Alternate way to reboot the system from single user mode is to run exit command twice.

That’s all from this tutorial, In case these steps help you to recover your system and root password then please don’t hesitate to share valuable feedback and comments.

Leave a Comment