I want to be able to rollback BTRFS snapshots on Debian 12.
I have installed my root file system on BTRFS.
My /etc/fstab looks like this:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=ea4000b8-0ee1-4fa6-bd0b-0870b24de7d8 / btrfs defaults,subvol=@rootfs 0 0
# swap was on /dev/sda5 during installation
UUID=7307b68b-629b-48d9-b692-5e1c9371f09e none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
First I install snapper.
apt update
apt install btrfs-progs snapper
Next I create snapper configuration, create snapper snapshot and then try reverting to that stanpshot:
root@debian-btrfs:~# snapper -c myconfig create-config /
root@debian-btrfs:~# snapper list-configs
Config | Subvolume
---------+----------
myconfig | /
root@debian-btrfs:~# echo "before snapshot" > test.txt
root@debian-btrfs:~# snapper -c myconfig create
root@debian-btrfs:~# echo "after snapshot" > test.txt
root@debian-btrfs:~# snapper -c myconfig list
# | Type | Pre # | Date | User | Cleanup | Description | Userdata
---+--------+-------+----------------------------------+------+---------+-------------+---------
0 | single | | | root | | current |
1 | single | | Sat 03 May 2025 04:03:11 PM EEST | root | | |
root@debian-btrfs:~# snapper -c myconfig rollback 1
Cannot detect ambit since default subvolume is unknown.
This can happen if the system was not set up for rollback.
The ambit can be specified manually using the --ambit option.
I tried --ambit as it suggested:
root@debian-btrfs:~# snapper --ambit classic -c myconfig rollback 1
Ambit is classic.
Creating read-only snapshot of current system. (Snapshot 2.)
Creating read-write snapshot of snapshot 1. (Snapshot 3.)
Setting default subvolume to snapshot 3.
That seemed to have worked but when I check my test file I can see that it did sill not rollback since it says after snapshot:
root@debian-btrfs:~# cat test.txt
after snapshot
But I expect it to say before snapshot because that is what is inside snapshot 1:
root@debian-btrfs:~# cat /.snapshots/1/snapshot/root/test.txt
before snapshot
Questions:
- What do I do wrong that I need
--ambit classicoption? - Why wasn't test.txt reverted to previous version?

snapperbut I do know Btrfs a little and I think whateversnapperdoes, you need to mount/anew to see it has been reverted. Probably not (easily) possible from the running OS, but ifsnapperdoes its job right then a reboot should do this. Have you rebooted?@rootfsbut Snapper or Timeshift expect just@