So I’m on Fedora 34 with the BTRFS and when I try to create a system backup on my btrfs partition with timeshift, I get error "Selected snapshot device is not a system disk
Select a BTRFS system disk with root subvolume (@) "
I’ve done some duckducking on the issue and I saw on reddit that it had something to do with fstab using the old / root. Apparently it’s fixable by booting onto a live pen and making a snapshot and so on… I’m just not advanced enough to understand the procedures that were given.
Instead of changing the subvolume’s name in the installer, I recommend changing it post-install. There’s a bug if you rename the / subvolume (it’s not a bad bug but …)
You need to identify which /dev/ node and partition has the btrfs filesystem used for / and /home and mount its top-level so you can rename the subvolumes:
lsblk -f
mount /dev/sdXY /mnt
cd /mnt
mv root @
mv home @home
nano /etc/fstab
In nano:
Change subvol=root to subvol=@ for the / mount point.
Change subvol=home to subvol=@home for the /home mount point.
Next change each /boot/loader/entries/*conf file’s rootflags=subvol=root to rootlfags=subvol=@ I think it’s easier to just use nano to it in this case, one by one; OR…
It is possible to use grubby to change the BLS drop-in files in /boot/loader/entries instead, which is ordinarily the preferred way, but in this case it involves some extra steps than just using nano or vim.
Remove rootflags=subvol=@ from the /etc/default/grub file - it’s here because of the update-kernel=ALL flag above, but grub has its own way of adding it.
Thank you for your solution Chris I really appreciate it. However I won’t even dare trying these since it’s a bit much for me and I’m scared I will break the system.
It’s a bit of a shame there is not a user-friendlier solution, I don’t think anyone should have to go through those after a fresh install.
Just my opinion but the real issue here is a limitation of timeshift. It requires a highly specific layout for btrfs subvolumes for it to work properly. There is no real valid reason why the root subvolume should be mounted as @. It isn’t even a widely used convention outside of Ubuntu.
Hello, there. I know it has been a while, but I tried this yesterday and it seems to work perfectly (thank you so much!), but one question remains. At a certain point, grubby modifies the /boot/loader/entries/ files of all available kernels. Assuming I followed all the process and chose to use grubby when the option was presented, are the changes I made gonna persist when a new kernel is installed? Thanks again in advance.
Timeshift does have trouble restoring sometimes. I couldn’t get my system to restore two times and I lost a lot of data.
I am trying to work on a way to have a recovery partion with Fedora. Even though btrfs has snapshots they are not so straightforward for users who dont know the syntax’s.
A recovery partition implemented quite well I have seen on PopOS & MacOS. It would be incredible for Fedora, also Nvidia driver options at install.
Done, now i have a little “problem”. I would like to save snapshots in another empty SSD.
Maybe allocating 50GB for snapshots, but i don’t know how to do
I formatted as btrfs with only / with @ as label, but Timeshift don’t recognize as btrfs file system.
lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/zram0 252:0 0 8G 0 disk [SWAP]
/dev/nvme1n1 259:0 0 931.5G 0 disk
├─/dev/nvme1n1p1 259:1 0 600M 0 part /boot/efi
├─/dev/nvme1n1p2 259:2 0 1G 0 part /boot
└─/dev/nvme1n1p3 259:3 0 929.9G 0 part /home
/
/dev/nvme0n1 259:4 0 465.8G 0 disk
└─/dev/nvme0n1p1 259:6 0 48.8G 0 part /mnt