Unable to see snapshots in BTRFS Assistant after booting into snapshot from grub

Hi @dalto , I did a clean install of EOS using the latest iso and added few additional subvol during calamare installation.

I setup snapper and snapper-support + BTRFS Assistant right after the installation. I took couple snapshots. To test, I booted into one of the snapshots and then when I type,

snapper ls

I get the following error:

IO Error (subvolume is not a btrfs subvolume).

When I type the following, sudo btrfs subvol list /home I see my subvols as following:

ID 256 gen 236 top level 5 path @
ID 257 gen 244 top level 5 path @home
ID 258 gen 238 top level 5 path @cache
ID 259 gen 244 top level 5 path @log
ID 260 gen 235 top level 5 path @snapshots
ID 261 gen 9 top level 5 path @crash
ID 262 gen 240 top level 5 path @tmp
ID 263 gen 36 top level 5 path @spool
ID 264 gen 9 top level 5 path @images
ID 265 gen 9 top level 5 path @containers
ID 266 gen 238 top level 5 path @AccountsService
ID 267 gen 238 top level 5 path @gdm
ID 268 gen 31 top level 5 path @portables
ID 269 gen 31 top level 5 path @machines
ID 286 gen 230 top level 260 path @snapshots/1/snapshot
ID 287 gen 233 top level 260 path @snapshots/2/snapshot
ID 288 gen 234 top level 260 path @snapshots/3/snapshot

I also can’t seem to see the snapshots in the BTRFS Assistant app.

what could be causing this?

I came across similar thread on Garuda https://forum.garudalinux.org/t/btrfs-assistant-not-showing-snapshots-to-restore-to-when-booted-into-a-snapshot/27851/29

But my layout is different.

Any help would be appreciated.

my /etc/fstab

# 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).
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=3B0A-8535                            /boot/efi      vfat    fmask=0137,dmask=0027 0 2
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /              btrfs   subvol=/@,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /home          btrfs   subvol=/@home,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/cache     btrfs   subvol=/@cache,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/log       btrfs   subvol=/@log,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /.snapshots    btrfs   subvol=/@snapshots,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/crash     btrfs   subvol=/@crash,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/tmp       btrfs   subvol=/@tmp,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/spool     btrfs   subvol=/@spool,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/lib/libvirt/images btrfs   subvol=/@images,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/lib/containers btrfs   subvol=/@containers,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/lib/AccountsService btrfs   subvol=/@AccountsService,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/lib/gdm   btrfs   subvol=/@gdm,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/lib/portables btrfs   subvol=/@portables,noatime,compress=zstd 0 0
/dev/mapper/luks-08d06eee-7ec6-4d55-8e08-3b9210cd6c29 /var/lib/machines btrfs   subvol=/@machines,noatime,compress=zstd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

This is causing it:

If you use a non-standard layout like this, there is no way for Btrfs Assistant to know where to restore the snapshots to.

When using a non-standard layout, you need to add an entry to the config file that maps the snapshot location to the target subvolume.

Can I recreate the snapshot subvol and folder again?

What do you suggest I do so snapper recognizes?


Yes, if you want to.

Just use the default. Don’t create a /.snapper or @snapshots. Just let snapper create it’s own nested subvolume when you create the snapper config.

I did the following:

cd /
sudo umount .snapshots 
sudo rm -r .snapshots 

When typing sudo snapper -c root create-config /

I get the following output:

Creating config failed (subvolume already covered).

Should I reinstall the ISO with default layout and see if snapper works?

No, just delete the config. It is telling you that you already have a config that points to /

Still couldn’t get snapper to setup.
I did a reinstall with default layout and using Timeshift instead. It works well.

Thanks again!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.