[HELP] Fedora won’t boot after Timeshift restore (beta 42) — stuck on loading screen**

Hi everyone,

I think I really messed up and could use some help. I was running Fedora 42 beta, and last night I created a Timeshift snapshot right before running a system update. This morning I had some issues and decided to roll back using Timeshift, restoring from the auto snapshot created before the update.

The restore process seemed to go fine, but after rebooting, Fedora gets stuck on the loading screen (the one with the Fedora logo and spinner). It doesn’t move past that, no matter which GRUB option I select (including older kernels and rescue mode).

Here’s my current situation:

  • GRUB loads properly, and I can see Fedora entries along with Windows.
  • Windows is on a separate SSD, and I haven’t touched it during this whole process.
  • I haven’t tried booting into Windows yet. Is it safe to do so or could it mess something up further?
  • I’m kind of a Linux noob, so I don’t know what to do next
  • I suspect Timeshift might have restored something it shouldn’t

How can I fix my Fedora boot without breaking anything else, especially now that I’ve used Timeshift?
Can I safely boot into Windows to access the internet or download rescue tools, or would that affect Fedora’s state?

Any advice, especially geared toward someone new to Linux troubleshooting, would be massively appreciated. I just want to get Fedora working again without losing access to either OS.

Update: i did the following: Can't sign in! - #6 by alciregi

I managed to boot into Fedora after editing the GRUB entry and adding enforcing=0 to temporarily disable SELinux.

Now that I’m in, I’d like to properly finish the Timeshift restore or at least make sure the system is clean and stable. I originally restored a snapshot taken just before upgrading to the Fedora 42 beta, but the system got stuck on boot afterward.

What’s the best way to finalize or verify the Timeshift restore at this point? Should I re-run anything manually, like SELinux relabeling, or re-apply parts of the snapshot?

Also, should I re-enable SELinux manually once everything is stable?

Any guidance would be super appreciated — I’m still learning, so I want to be extra cautious from here on out. Thanks again!

1 Like

The forums are super busy with F42 questions at the moment.
It looks like you have found a partial answer, I suggest posting a new thread with where you are up to with verifying Timeshift next week.

Not an expert: but in general you should not keep SELinux disabled for long.

Thanks a lot for the advice!

Yes, I think I’ve found a working solution thanks to the help in the post I quoted. The first time I managed to log in using enforcing=0 on the grub, then I ran sudo touch /.autorelabel as suggested, then rebooted. — at first nothing changed, but when I rebooted again with enforcing=0 in the GRUB boot parameters, SELinux finally started relabeling the system. After that, everything worked fine again!

I’d only used Timeshift once before, just to try it out when I first installed Fedora 40 — so I’m not very familiar with how it works under the hood, and I’m still not sure what exactly caused this issue after restoring this snapshot :sweat_smile:

Do you have any guidance on how to properly verify Timeshift is working as expected? I’d love to make a proper post about this next week to help others, if someone is looking for a similar error, but I’m not entirely sure what to look for yet.

For now, the system is running normally again and I’ve removed the enforcing=0 parameter

1 Like

Other than manually checking your important files, or restoring a very recent backup I do not unfortunately.

You can mark your post as the ‘solution’ if you like.

1 Like

It would be interesting to know how your timeshift is configured. Do you have a BTRFS filesystem and make BTRFS snapshots (very fast) or are you making snapshots via rsync to the same or another drive? A btrfs snapshot points in principle to exactly the same data as the original, there I would not expect this problem. But rsync makes a copy of the data, and if this program is not copying SELinux labels properly, you can expect this problem and your solution should be part of the procedure of a timeshift restore on a SELinux enabled system like Fedora.

Edit: Checked in F42 release version. Timeshift still requires, in case of btrfs, a root subvolume named “@”. As the root subvolume in Fedora is named “root”, I assume that your snapshots are made by rsync, even if the filesystem is btrfs. The option to copy extended attributes in rsync, which include SELinux labels, is --xattrs or -X. I do not see this option passed to the rsync command started by timeshift. (If it is possible at all to archive SELinux labels on a system with SELinux active). The archive is made with the “-a” option, but the manpage states:

“–archive, -a archive mode is -rlptgoD (no -A,-X,-U,-N,-H)”

So a timeshift restore in SELinux enabled Fedora requires your solution, as far I can see.

2 Likes

Hi! Thanks for your response. I’m currently creating snapshots with Rsync to the same SSD every day. Honestly, I don’t remember exactly why I chose Rsync in the first place — it was less than a year ago, when I first moved to Fedora.

Anyway, using Rsync is still one of the best ways to back up the system, right? Since it doesn’t actually back up user files? :thinking:

Ohhh I see what you mean about the extended attributes — that’s a great point. So Timeshift doesn’t use the --xattrs or -X option by default, which is necessary to preserve SELinux labels. That explains why a Timeshift restore on a SELinux-enabled Fedora might require this approach. Makes total sense now.

So I’m covered up, right?

You’re covered up if you know this procedure. But a backup to the same SSD is no backup, because if the electronics dies, the backup is gone together with the original. But you have a “last working state”.
rsync is absolutely a great tool, because it’s use of hardlinks, you can have several complete backups with each file data only once physically on disk.

If you have an ext4 filesystem, rsync is the only option, if you have btrfs you can use rsync too, but also make btrfs snapshots. Since timeshift is from Ubuntu, it only works if the root subvolume is named “@”, and Ubuntu is not using SELinux. The software is packed for Fedora, but apparently it is unmodified and not adapted to Fedora’s standard.
Disadvantage of btrfs snapshot is that it is limited to the same disk, like your rsync snapshot, but it’s extremely fast because no data are copied at all, only metadata.

1 Like