The case of kernels dissapearing from GRUB after deleting some timeshift snapshots

Hello, community.

Firstly, I'd like to point out that I'm very grateful to you guys for creating this distro. Garuda has been my daily driver for my development pc for months, and I fell in love with it as much as I fell in love with Linux and Arch.

Having said that, I started noticing that in Dolphin, my root folder and subfolders started having a '@' prefix. I thought that was intended behavior. 'Just timeshift doing its thing' I thought. For instance, Dolphin instead of '/', displayed '@'. Also @usr, @etc, @bin, and so on.

Continued working as normal for days, until the system update came up. Since I noticed that I was running out of disk space (disk space is an issue for me) I decided to open the Timeshift GUI and deleted the oldest snapshots to regain some space.

The next time I restarted the computer, Grub couldn't find a kernel anymore. Since I'm used to troubleshooting and reading documentation (I'm a Rails/React dev), I rushed to the BTFRS article on the Arch Wiki, the Timeshift repo, and here the Garuda forums.

In this forum, I found this: 4351 . The accepted answer suggests that:

The issue stems from booting into a snapshot from grub and then restoring a timeshift backup while booted in the snapshot.

But I have never restored any snapshot. This makes me infer that for some reason, the default booting option became a snapshot, not the real Garuda install, and it stayed like that for months until I decided to delete some snapshots to save space causing me to delete part of /.

Since I was in a middle of a project with a tight deadline, I decided to take the hit and just reinstall from scratch (all my code is on Github anyway).

Also, today I started to get the dreaded @'s in Dolphin again in my root folder. Without deleting any snapshot, I restarted and GRUB was working fine, so instead of just selecting 'Garuda' I went to advanced options and chose 'Linux zen'. After booting this way, the @'s disappeared. I restarted again and selected the default 'Garuda', and everything works normally.

The reason I'm writing this is to ask if there is a community consensus about this, or if this is a known issue within Timeshift or just to know if there is any correct and safe way to delete timeshift snapshots to save space without breaking the install. Can the @'s be prevented? Maybe this is caused by having more than one kernel?

Thanks a lot, and thanks for creating this distro.

4 Likes

I have no idea what may have caused this to occur. When I want to recover space I delete all my timeshift snapshots, then I perform a btrfs balance and reboot. I then create a new snapshot, after the reboot.

Welcome to Garuda.

3 Likes

If you don't know what @ is, you don't know what btrfs is.

Timeshift's snapshots are stored in @timeshift-btrfs iirc, so it doesn't bother about the whole filesystem.

If you are seeing subvolumes, you mounted the top-level. If you don't see them, you mounted the proper subvolume.

If you boot into the same installed os, the top-level should not be seen. If it is, then fstab is wrong somewhare.

To know how your partition is mounted, check fstab.

7 Likes

Please post:

sudo btrfs subvolume list /
cat /etc/fstab
4 Likes

hmm i have same @ for a while but i have think its normal and come from an update . bec i have no problems. but now im curios after reading if my fstab is right .

sudo btrfs subvolume list /
[sudo] Passwort für smoky:
ID 257 gen 126889 top level 5 path @home
ID 258 gen 126863 top level 5 path @root
ID 259 gen 118768 top level 5 path @srv
ID 260 gen 126889 top level 5 path @cache
ID 261 gen 126886 top level 5 path @log
ID 262 gen 126854 top level 5 path @tmp
ID 2291 gen 126886 top level 5 path @
ID 3629 gen 126862 top level 5 path timeshift-btrfs/snapshots/2021-07-29_15-29-35/@
ID 3630 gen 126862 top level 5 path timeshift-btrfs/snapshots/2021-07-29_15-39-52/@
ID 3631 gen 126052 top level 5 path timeshift-btrfs/snapshots/2021-07-29_15-52-33/@
ID 3632 gen 126411 top level 5 path timeshift-btrfs/snapshots/2021-07-29_18-59-06/@
ID 3634 gen 126860 top level 5 path timeshift-btrfs/snapshots/2021-07-30_08-32-02/@
╭─[email protected] in ~ took 2s
╰─λ cat /etc/fstab
File: /etc/fstab
# /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).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=8FFB-AA6A                            /boot/efi      vfat    umask=0077 0 2
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /              btrfs   subvol=/@,defaults,noatime,space_cache,autode
frag,compress=zstd 0 1
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /home          btrfs   subvol=/@home,defaults,noatime,space_cache,au
todefrag,compress=zstd 0 2
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /root          btrfs   subvol=/@root,defaults,noatime,space_cache,au
todefrag,compress=zstd 0 2
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /srv           btrfs   subvol=/@srv,defaults,noatime,space_cache,aut
odefrag,compress=zstd 0 2
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /var/cache     btrfs   subvol=/@cache,defaults,noatime,space_cache,a
utodefrag,compress=zstd 0 2
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /var/log       btrfs   subvol=/@log,defaults,noatime,space_cache,aut
odefrag,compress=zstd 0 2
UUID=8e50e065-11b1-4774-8082-1ab1ea33981e /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,space_cache,aut
odefrag,compress=zstd 0 2
/dev/disk/by-partlabel/Musik_Bilder_Videos /mnt/Musik_Bilder_Videos auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-partlabel/Backup_ssd /mnt/Backup_ssd auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-label/Dropbox /mnt/Dropbox auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-partlabel/SteamFast /mnt/SteamFast auto nosuid,nodev,nofail,x-gvfs-show 0 0
inxi -Fxxxza
inxi -Fxxxza
System:    Kernel: 5.13.6-1-cacule-rdb x86_64 bits: 64 compiler: gcc v: 11.1.0  
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cacule-rdb root=UUID=8e50e065-11b1-4774-8082-1ab1ea33981e rw  
[email protected] splash rd.udev.log_priority=3 vt.global_cursor_default=0 systemd.unified_cgroup_hierarchy=1
loglevel=3
Desktop: KDE Plasma 5.22.4 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux  
Machine:   Type: Desktop System: ASUS product: N/A v: N/A serial: <filter>  
Mobo: ASUSTeK model: ROG STRIX B550-F GAMING v: Rev X.0x serial: <filter> UEFI: American Megatrends v: 2403  
date: 06/16/2021  
Battery:   Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard K270 serial: <filter> charge: 100% (should be ignored)  
rechargeable: yes status: Discharging  
CPU:       Info: 12-Core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP arch: Zen 2 family: 17 (23) model-id: 71 (113)  
stepping: 0 microcode: 8701021 cache: L2: 6 MiB  
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 192015  
Speed: 4000 MHz min/max: 2200/4000 MHz boost: enabled Core speeds (MHz): 1: 4000 2: 3999 3: 4001 4: 4000 5: 4000  
6: 4000 7: 3999 8: 3997 9: 4013 10: 4000 11: 4010 12: 4000 13: 3998 14: 4001 15: 4000 16: 4033 17: 4000 18: 4000  
19: 3999 20: 4000 21: 4000 22: 4000 23: 3999 24: 4000  
Vulnerabilities: Type: itlb_multihit status: Not affected  
Type: l1tf status: Not affected  
Type: mds status: Not affected  
Type: meltdown status: Not affected  
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp  
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization  
Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP: conditional, RSB filling  
Type: srbds status: Not affected  
Type: tsx_async_abort status: Not affected  
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] vendor: ASUSTeK  
driver: amdgpu v: kernel bus-ID: 0a:00.0 chip-ID: 1002:731f class-ID: 0300  
Device-2: Logitech HD Webcam C510 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 1-9:7 chip-ID: 046d:081d
class-ID: 0e02 serial: <filter>
Display: x11 server: X.Org 1.20.12 compositor: kwin_x11 driver: loaded: amdgpu,ati unloaded: modesetting,radeon
alternate: fbdev,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 193 s-size: 506x285mm (19.9x11.2") s-diag: 581mm (22.9")
Monitor-1: DisplayPort-0 res: 3840x2160 hz: 60 dpi: 154 size: 632x360mm (24.9x14.2") diag: 727mm (28.6")
OpenGL: renderer: AMD Radeon RX 5700 XT (NAVI10 DRM 3.41.0 5.13.6-1-cacule-rdb LLVM 12.0.1) v: 4.6 Mesa 21.1.5
direct render: Yes
Audio:     Device-1: Advanced Micro Devices [AMD/ATI] Navi 10 HDMI Audio driver: snd_hda_intel v: kernel bus-ID: 0a:00.1
chip-ID: 1002:ab38 class-ID: 0403
Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus-ID: 0c:00.4 chip-ID: 1022:1487 class-ID: 0403
Device-3: Logitech HD Webcam C510 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 1-9:7 chip-ID: 046d:081d
class-ID: 0e02 serial: <filter>
Sound Server-1: ALSA v: k5.13.6-1-cacule-rdb running: yes
Sound Server-2: sndio v: N/A running: no
Sound Server-3: JACK v: 1.9.19 running: no
Sound Server-4: PulseAudio v: 15.0 running: yes
Sound Server-5: PipeWire v: 0.3.32 running: yes
Network:   Device-1: Intel Ethernet I225-V vendor: ASUSTeK driver: igc v: kernel port: N/A bus-ID: 07:00.0 chip-ID: 8086:15f3
class-ID: 0200
IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: wg-mullvad state: unknown speed: N/A duplex: N/A mac: N/A
Drives:    Local Storage: total: 6.15 TiB used: 2.34 TiB (38.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Corsair model: Corsair MP400 size: 1.82 TiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: ECFM53.0 temp: 42.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:4 vendor: Samsung model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size:
physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 2B2QEXM7 temp: 50.9 C
scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Crucial model: CT1000MX500SSD1 size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 020 scheme: GPT
ID-4: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 QVO 2TB size: 1.82 TiB block-size: physical: 512 B
logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 2B6Q scheme: GPT
ID-5: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 850 EVO 500GB size: 465.76 GiB block-size: physical: 512 B
logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 2B6Q scheme: GPT
ID-6: /dev/sdd maj-min: 8:48 type: USB vendor: Samsung model: Type-C size: 239.02 GiB block-size: physical: 512 B
logical: 512 B type: N/A serial: <filter> rev: 1100 scheme: GPT
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition: ID-1: / raw-size: 930.94 GiB size: 930.94 GiB (100.00%) used: 285.33 GiB (30.6%) fs: btrfs dev: /dev/nvme0n1p2
maj-min: 259:2
ID-2: /boot/efi raw-size: 599 MiB size: 597.8 MiB (99.80%) used: 259.9 MiB (43.5%) fs: vfat dev: /dev/nvme0n1p1
maj-min: 259:1
ID-3: /home raw-size: 930.94 GiB size: 930.94 GiB (100.00%) used: 285.33 GiB (30.6%) fs: btrfs dev: /dev/nvme0n1p2
maj-min: 259:2
ID-4: /var/log raw-size: 930.94 GiB size: 930.94 GiB (100.00%) used: 285.33 GiB (30.6%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 930.94 GiB size: 930.94 GiB (100.00%) used: 285.33 GiB (30.6%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:      Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 62.73 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 58.0 C mobo: N/A gpu: amdgpu temp: 57.0 C mem: 62.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 945
Info:      Processes: 509 Uptime: 44m wakeups: 8 Memory: 62.73 GiB used: 8.34 GiB (13.3%) Init: systemd v: 249 tool: systemctl
Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 2116 lib: 572 Shell: fish v: 3.3.1 default: Bash v: 5.1.8
running-in: konsole inxi: 3.3.06

Could you post

mount | grep btrfs

?

2 Likes

Thank you for reporting this. This is being investigated.

3 Likes
mount | grep btrfs
/dev/nvme0n1p2 on / type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=2291,subvol=/@)
/dev/nvme0n1p2 on /root type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=258,subvol=
/@root)
/dev/nvme0n1p2 on /srv type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=259,subvol=/
@srv)
/dev/nvme0n1p2 on /home type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=257,subvol=
/@home)
/dev/nvme0n1p2 on /var/cache type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=260,su
bvol=/@cache)
/dev/nvme0n1p2 on /var/log type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=261,subv
ol=/@log)
/dev/nvme0n1p2 on /var/tmp type btrfs (rw,noatime,compress=zstd:3,ssd,space_cache,autodefrag,subvolid=262,subv
ol=/@tmp)
/dev/nvme0n1p2 on /run/timeshift/backup type btrfs (rw,relatime,compress=zstd:3,ssd,space_cache,autodefrag,sub
volid=5,subvol=/)

Here is the problem. Don't know what have caused this :thinking:

1 Like

I have now delete all snapshots then full balance then i restart .. and now the @ is gone . but when i make a new snapshot its again there .. :thinking:

Are you also facing this issue now?

2 Likes

no all working fine .. both kernel that i installed are on grub there .. no errors nothing ... my system runs perfect as i know .
he have linux zen as i read i have Linux-cacule-rdb ..
but i will install zen kernel now only to test if gives then an error . only to be sure its not a kernel problem

2 Likes

Randomly one day when I was working I faced this same issue. The @ prefixed ones were visible in dolphin. I deleted some of the snapshots (which were giving error in timeshift due to directory not empty thing) and restarted pc and it was gone.

2 Likes

hmm its really confusing now .. i installed zen reboot . no grub errors.
but now with zen kernel it not showing @
with zen kernel :

sudo btrfs subvolume get-default /
[sudo] Passwort für smoky:
ID 5 (FS_TREE)

i reboot to my linux cacule-rdb and what should i say now there also no @
i removed zen kernel reboot and still the @ is gone
i don´t no what it cause or what it repair im corious

2 Likes

I'm afraid if "@" problem starts again after taking a snapshot.

hmm ok here we go again ..
i make system update a snapshot was made and no @ comes
but then i want look at the timeshift tool (welcome app)
without make anything only start the app then look back and the @ is there .
so now im thinking if the app cause the problem ?

1 Like

Now could you check this again (while seeing the "@"s)?

sure .. its look same

sudo btrfs subvolume get-default /
[sudo] Passwort für smoky:
ID 5 (FS_TREE)

ok now i reboot
@ is gone again
then i open again the timeshift app
and the @ is there
but after reboot all ok
maybee its really a problem with the app ??

2 Likes

How do you perform a btrfs balance?