Difficult to enable btrfs snapshots?

I installed Fedora 44 KDE for the first time on my new Dell XPS 13, and chose to encrypt the install since it’s a portable machine. I’ve looked around the web for how to enable snapshots with btrfs, but it seems kind of involved on this distro. Do you have to install the distro a specific way to support btrfs snapshots, or is this something I will be able to turn on after having selected a mostly normal installation apart from installing allongside Windows?

You can take btrfs snapshots whenever you want.

What are you trying to accomplish?

I use btrfs assistant to do mine. You can learn more from an older post here: How to set-up snapper and use it for recovery? - #3 by dannflower

I used this guide to get BTRFS subvolumes with snapshot and rollback support.

There is also a guide to get it with full disk encryption.

There is such a demand for bootable btrfs shapshots, I really wish Fedora would set up the subvolumes as described in those guides (or similar) or at least give us an easy option to do this so we don’t have the manually set it up. It could just be a set up choice to use the previous layout or set it up this way.

If not, I wonder if someone could create a Kickstart/Ansible or similar file to guide the install to set it up this way? If you’re not familiar with Kickstart files, they can be passed to an install to guide the install.

After I typed that, I started googling to see if someone had, but then ended up just asking Gemini AI if it could create one.

This is untested AI generated code so there are probably errors, but it might at least show us if it’s possible. If someone wants to try it out in a VM or something, go for it but I always recommend you understand what it’s doing before blindly running it.

I deleted the included and untested code in the post above.

It is sometimes acceptable to include code, but never when it is AI generated and untested.

It is never a good idea to spam code on a topic.
The fact it was AI generated and untested makes it very likely that there could be errors that may be propagated to users who might unknowingly use that code and harm their systems.

Please avoid spamming untested code in the future.

Untested AI-generated code aside, I do agree with Guy that Fedora should consider adopting snapshots as a native feature of the distro. I’m probably going to switch to another distro with native snapshot support eventually. I just need a cutting edge kernel for this laptop, so I went with Fedora.

Nice I’ll confrim it works:

Backup Summary (btrbk command line client, version 0.32.7)

    Date:   Tue Sep  1 11:31:49 2026
    Config: /etc/btrbk/btrbk.conf

Legend:
    ===  up-to-date subvolume (source snapshot)
    +++  created subvolume (source snapshot)
    ---  deleted subvolume
    ***  received subvolume (non-incremental)
    >>>  received subvolume (incremental)
--------------------------------------------------------------------------------
/
+++ /.snapshots/ROOT.20260901T1131
*** /mnt/storage/btrfs-backups/ROOT.20260901T1131

Thanks for the share. :+1:

Hi, I think these /var subvolumes from that guide are not needed anymore since F36 relocated the RPM database to /usr.

So, the subvolume layout can be setup like this on the Fedora installer:

root > /

home > /home

root_home > /root

opt > /opt

srv > /srv

usr_local > /usr/local

var > /var

This can simplify a lot the setup and still works great for rollbacks using snapper + btrfs assistant.

Also, don’t forget to disable CoW in /var to get better performance on variable data.

I hope the Fedora devs give us a better ootb experience for snapshot setups with btrfs on future releases.

Sources:

https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr

https://youtu.be/BCULP0nDPYc