This guide will show you how to boot into single user mode on a CentOS 7 server. You'll need single user boot to recover a corrupt file system, reset the root password, ...
First, reboot your server and when you enter the Kernel Selection menu, press e
to modify the parameters to boot the kernel.
The next screen will show you a confusing screen of kernel parameters. It’ll look like this.
Scroll down until you find the actual kernel line. It starts with linux16 /vmlinuz-...
and will span a couple of lines. You’re now looking for the ro
keyword in the kernel linux, which would start the OS with a read only (ro) file system.
Use your arrow keys to go to the ro
line and replace it with rw init=/sysroot/bin/bash
. The result should look like this. If that’s the case, press ctrl+x
to boot the kernel with those options.
If everything went fine, you’re now in a limited shell with access to the entire filesystem. To make things easier, you can chroot
the filesystem so you can access all your known files/directories with the same paths.
After you typed chroot /sysroot/
, you’ll find your familiar files in /etc
, /usr
,/var
, …
If you’re done working in single user mode, reboot again by pressing ctrl+alt+del
.
Update: as a reader pointed out, you may have to remount the filesystem from readonly to read-write, too.
mount -o remount,rw /
After that, you should be able to make changes to files on the disk that persist on reboot.