Fedora 30 failed to start switch root

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:

  1. 1492208 – Failed to switch root: Specified switch root path /sysroot does not seem to be an OS tree. os-release file is missing
  2. Failed to start switch root

Any suggestions on how to resolve the issue will be welcomed.

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.


Yes, I am able to select a previous kernel version, but I also get dropped into an emergency shell after a few seconds. On my system I keep three kernel versions, and all three fail to boot up.

This is a symlink issue. The following commands should help
mount -o remount,rw /sysroot
cd /sysroot/usr/lib
ln -s os.release.d os-release.d

1 Like

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.


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.

Thanks for the suggestions.
I couldn’t fix the ‘switch root’ issue, but I’ll definitely re-install Fedora keeping my home.

Hello all ,

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

Any help would be really appreciated

Hi yrsurya,
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)

I am not able to get logs out of the box so pasted the screenshots, here is the exact issue, - Please provide repo for docker-ce on Fedora 31 · Issue #665 · docker/for-linux · GitHub

Not sure if reinstalling is the only way as I tried many ways not worked yet but can I know how to recover same home and root directory if I start fresh installation again?

Hi @yrsurya!
I got into the same problem. Installed latest Docker on my Fedora 31, and now can’t boot anymore and getting the same error messages.
Could you solve your issue?

I solved this by uninstalling “tuned” from rescue mode.

Same problem here after reinstalling Nvidia from rpm fusion

Trying to remount /sysroot says mount point not mounted or bad option.
Any help please?