From Fedora Project Wiki
Setting up an early debug shell
In case of boot-time problems with systemd, it is useful to have a root shell available for debugging.
- Save the following unit as /etc/systemd/system/debug-shell.service
[Unit] Description=early root shell on tty9 for debugging DefaultDependencies=no IgnoreOnIsolate=yes [Service] Environment=TERM=linux ExecStart=/usr/bin/openvt -f -c 9 -e /usr/bin/bash Restart=always RestartSec=0 TTYPath=/dev/tty9 TTYReset=yes TTYVHangup=yes KillMode=process IgnoreSIGPIPE=no # bash ignores SIGTERM KillSignal=SIGHUP # Unset locale for the console getty since the console has problems # displaying some internationalized messages. Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION= [Install] WantedBy=sysinit.target
- Enable it using
systemctl enable debug-shell.service
- Next time when booting, you will be able to switch to tty9 using CTRL+ALT+F9 and have a root shell there available from an early point in the booting process.