Last week I upgraded my OS to 5.0.17-300.fc30.x86_64. Now, when I attempt to reboot my machine the boot process fails, and I get a message that states “Failed to start switch Root. See ‘systemctl status initrd-switch-root.service’ for details.” I have done several Google searches, but I cannot find any solution to the problem. Some of the pages that I have visited include:
Hello @jamcmrnichols! Welcome to the community! Please do take a few minutes to go over the introductory posts in #start-here when you have the time. They contain lots of useful information.
Are you able to select and boot a previous kernel version? GRUB menu should be hidden by default. To show the menu where you can select a previous kernel you have to press “ESC” at the early stages of the boot process.
I’m having a similar issue,
But in my case I’m not redirect to the emergency shell. I got stuck on
Failed to start switch Root. See ‘systemctl status initrd-switch-root.service’
I change the runlevel and still not going through.
I used a fedora bootable USD to create the symlink you suggested @jakfrost
Though os.release.d file don’t exist in the folder, so the problem persists.
I would really appreciate some help, I’ve been doing a lot of work in this build of Fedora and it would be problematic to re-install
If you can boot from USB again, try removing this file ‘/usr/lib/variant’. It is a file no longer used by Fedora 30, but was for Fedora 29, and it is likely preventing you from starting the new kernel since it would point to the earlier version. Maybe don’t remove it but follow the suggstion of the work around first.
[EDIT] This is a DNF upgrade issue, specifically the preun script for removing the old F29. This link suggests a work around. https://src.fedoraproject.org/rpms/fedora-release/pull-request/85
None of the solutions that were suggested worked for me. I ended up booting of a LiveUSB, then copying my /home directory to a back-up disk and then re-installing Fedora. Once it was installed, then I copied over the files from my old home directory into the new. It was painful, but I got it done.
@jamcmrnichols, this is why I always put my /home on a separate partition. It makes reinstalling easy. I format root partition, ensure I don’t format my /home – but tell the installer to use it, of course – and I get a new clean install with all my data and all user’s settings in my /home.
Keeping /home on a separate partition really helps. Just something to consider for the future.
Sorry to hear that you had to go through that. Glad to know you resolved it though. As a cautionary habit, I have been using Borg Backup for my home dir and some of my /etc files as a “just in case something goes off the rails and I need to get my stuff back” solution. Since I use Silverblue I do have to exclude a number of areas of my home dir, I don’t want things like the flatpak applications complete stack that is installed in my .local/share dir to be backed up.
I am also facing exactly the same issue , as docker is not working for fedora31 and as per suggestions I updated cgroups then issue started. It got struck so I have to hard reboot and now I am facing this switch root failure
I suggest booting from Live media (most any will do) and running fsck on each volume. Failure to switch root could have many causes, so to narrow it down we’d need to see logs, which you can extract with: journalctl -b > journal.txt and then share that file (pastebin, dropbox, google drive, etc)