Can't restore snapshot

Hello there!

To fix a boot issue, I was a ini a snapshot. I can't seem to restore the snapshot.
Note that usually I get a gui prompt to do this, but currently my gui is not working.

When i run sudo snapper -c root list it says
IO Error. (query default id failed, subvolume is not a btrfs subvolume)

When I run sudo btrfs subvolume list / it says
ERROR: not a btrfs filesystem /

(If it matters, I was used to use timeshift, then installed snapper-tools which converted to snapper.)

How should I proceed? Thanks in advance for any help.

garuda-inxi output
System:
  Kernel: 6.0.12-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/.snapshots/31/snapshot/boot/vmlinuz-linux-zen
    root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rd.udev.log_priority=3
    vt.global_cursor_default=0 loglevel=3 ibt=off
    rootflags=defaults,noatime,noautodefrag,compress=zstd,subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/.snapshots/31/snapshot
  Console: tty 2 Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B550M DS3H AC v: x.x serial: <superuser required>
    UEFI: American Megatrends LLC. v: F15 date: 07/29/2022
CPU:
  Info: model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3 gen: 4 level: v3 note: check
    built: 2021-22 process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x21 (33) stepping: 0
    microcode: 0xA201016
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache: L1: 512 KiB
    desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 3753 high: 3800 min/max: 2200/4850 boost: enabled scaling:
    driver: acpi-cpufreq governor: performance cores: 1: 3685 2: 3800 3: 3800 4: 3800 5: 3593
    6: 3800 7: 3800 8: 3800 9: 3800 10: 3593 11: 3800 12: 3586 13: 3800 14: 3800 15: 3800 16: 3800
    bogomips: 121382
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: always-on, RSB
    filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU116 [GeForce GTX 1650 SUPER] vendor: ASUSTeK driver: N/A alternate: nouveau
    non-free: 525.xx+ status: current (as of 2022-12) arch: Turing code: TUxxx process: TSMC 12nm FF
    built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s
    bus-ID: 06:00.0 chip-ID: 10de:2187 class-ID: 0300
  Display: server: X.org v: 1.21.1.5 with: Xwayland v: 22.1.6 driver: N/A tty: 102x38
  API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: NVIDIA TU116 High Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
    pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 06:00.1
    chip-ID: 10de:1aeb class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 08:00.4 chip-ID: 1022:1487 class-ID: 0403
  Sound API: ALSA v: k6.0.12-zen1-1-zen running: yes
  Sound Interface: sndio v: N/A running: no
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.61 running: no
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi v: kernel pcie:
    gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 8086:24fb class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte
    driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 05:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-9:5
    chip-ID: 8087:0aa7 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:
  Local Storage: total: 491.39 GiB used: 395.58 GiB (80.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW512G8 size: 476.94 GiB
    block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 002C temp: 38.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 type: USB vendor: HP model: v232w size: 14.45 GiB block-size:
    physical: 512 B logical: 512 B type: N/A serial: <filter> rev: PMAP scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
  ID-1: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 608 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-2: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-3: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.52 GiB used: 256 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 44.5 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 294 Uptime: 1h 20m wakeups: 0 Memory: 15.52 GiB used: 2.48 GiB (16.0%) Init: systemd
  v: 252 default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 11 clang: 14.0.6
  Packages: 2178 pm: nix-default pkgs: 0 pm: nix-sys pkgs: 0 pm: nix-usr pkgs: 0 pm: pacman
  pkgs: 2177 libs: 457 tools: gnome-software,octopi,pamac,paru,yay pm: flatpak pkgs: 1 Shell: Zsh
  v: 5.9 running-in: tty 2 inxi: 3.3.24
[1;34mGaruda (2.6.10-1):[0m
[1;34m  System install date:[0m     2022-01-29
[1;34m  Last full system update:[0m 2022-12-14 [1;31m↻
[1;34m  Is partially upgraded:  [0m No
[1;34m  Relevant software:      [0m NetworkManager
[1;34m  Windows dual boot:      [0m No/Undetected
[1;34m  Snapshots:              [0m Snapper
[1;34m  Failed units:           [0m snapper-cleanup.service xbindkeys-startup.service 
findmnt output
TARGET                                                  SOURCE                                                          FSTYPE      OPTIONS
/                                                       rootfs                                                          overlay     rw,noatime,lowerdir=/tmp.mJbopS,upperdir=/tmp.CDnhRD/upper,workdir=/tmp.CDnhRD/work
β”œβ”€/proc                                                 proc                                                            proc        rw,nosuid,nodev,noexec,relatime
β”‚ └─/proc/sys/fs/binfmt_misc                            systemd-1                                                       autofs      rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=29931
β”‚   └─/proc/sys/fs/binfmt_misc                          binfmt_misc                                                     binfmt_misc rw,nosuid,nodev,noexec,relatime
β”œβ”€/sys                                                  sys                                                             sysfs       rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/firmware/efi/efivars                           efivarfs                                                        efivarfs    rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/kernel/security                                securityfs                                                      securityfs  rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/fs/cgroup                                      cgroup2                                                         cgroup2     rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot
β”‚ β”œβ”€/sys/fs/pstore                                      pstore                                                          pstore      rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/fs/bpf                                         bpf                                                             bpf         rw,nosuid,nodev,noexec,relatime,mode=700
β”‚ β”œβ”€/sys/kernel/debug                                   debugfs                                                         debugfs     rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/kernel/tracing                                 tracefs                                                         tracefs     rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/fs/fuse/connections                            fusectl                                                         fusectl     rw,nosuid,nodev,noexec,relatime
β”‚ └─/sys/kernel/config                                  configfs                                                        configfs    rw,nosuid,nodev,noexec,relatime
β”œβ”€/dev                                                  dev                                                             devtmpfs    rw,nosuid,relatime,size=8107728k,nr_inodes=2026932,mode=755,inode64
β”‚ β”œβ”€/dev/pts                                            devpts                                                          devpts      rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
β”‚ β”œβ”€/dev/shm                                            tmpfs                                                           tmpfs       rw,nosuid,nodev,inode64
β”‚ β”œβ”€/dev/hugepages                                      hugetlbfs                                                       hugetlbfs   rw,relatime,pagesize=2M
β”‚ └─/dev/mqueue                                         mqueue                                                          mqueue      rw,nosuid,nodev,noexec,relatime
β”œβ”€/run                                                  run                                                             tmpfs       rw,nosuid,nodev,relatime,mode=755,inode64
β”‚ β”œβ”€/run/credentials/systemd-sysctl.service             ramfs                                                           ramfs       ro,nosuid,nodev,noexec,relatime,mode=700
β”‚ β”œβ”€/run/credentials/systemd-sysusers.service           ramfs                                                           ramfs       ro,nosuid,nodev,noexec,relatime,mode=700
β”‚ β”œβ”€/run/credentials/systemd-tmpfiles-setup-dev.service ramfs                                                           ramfs       ro,nosuid,nodev,noexec,relatime,mode=700
β”‚ β”œβ”€/run/credentials/systemd-tmpfiles-setup.service     ramfs                                                           ramfs       ro,nosuid,nodev,noexec,relatime,mode=700
β”‚ └─/run/user/1000                                      tmpfs                                                           tmpfs       rw,nosuid,nodev,relatime,size=1627360k,nr_inodes=406840,mode=700,uid=1000,gid=1000,inode64
β”œβ”€/tmp                                                  tmpfs                                                           tmpfs       rw,nosuid,nodev,size=8136816k,nr_inodes=1048576,inode64
β”œβ”€/var/log                                              /dev/disk/by-uuid/aeb3c7e0-45af-4344-ba3f-05339ad86d76[/@log]   btrfs       rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=261,subvol=/@log
β”œβ”€/home                                                 /dev/disk/by-uuid/aeb3c7e0-45af-4344-ba3f-05339ad86d76[/@home]  btrfs       rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=257,subvol=/@home
β”œβ”€/root                                                 /dev/disk/by-uuid/aeb3c7e0-45af-4344-ba3f-05339ad86d76[/@root]  btrfs       rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=258,subvol=/@root
β”œβ”€/srv                                                  /dev/disk/by-uuid/aeb3c7e0-45af-4344-ba3f-05339ad86d76[/@srv]   btrfs       rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=259,subvol=/@srv
β”œβ”€/var/cache                                            /dev/disk/by-uuid/aeb3c7e0-45af-4344-ba3f-05339ad86d76[/@cache] btrfs       rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=260,subvol=/@cache
β”œβ”€/var/tmp                                              /dev/disk/by-uuid/aeb3c7e0-45af-4344-ba3f-05339ad86d76[/@tmp]   btrfs       rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvolid=262,subvol=/@tmp
└─/boot/efi                                             /dev/nvme0n1p1                                                  vfat        rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro

See this and this post for previous adventures.

That won’t work when you are booted off a snapshot.

Use Snapper Tools to restore the snapshot.

Ok, running sudo snapper-tools restore 31 and rebooted.
Running garuda-inxi still shows I’m in a snapshot. ???

System:
  Kernel: 6.0.12-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-zen
    root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw
    rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@ rd.udev.log_priority=3
    vt.global_cursor_default=0 loglevel=3 ibt=off
  Console: tty 2 Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B550M DS3H AC v: x.x serial: <superuser required>
    UEFI: American Megatrends LLC. v: F15 date: 07/29/2022
CPU:
  Info: model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3 gen: 4 level: v3 note: check
    built: 2021-22 process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x21 (33) stepping: 0
    microcode: 0xA201016
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache: L1: 512 KiB
    desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 3787 high: 3800 min/max: 2200/4850 boost: enabled scaling:
    driver: acpi-cpufreq governor: performance cores: 1: 3800 2: 3800 3: 3800 4: 3800 5: 3800
    6: 3593 7: 3800 8: 3800 9: 3800 10: 3800 11: 3800 12: 3800 13: 3800 14: 3800 15: 3800 16: 3800
    bogomips: 121367
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW, STIBP: always-on, RSB
    filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU116 [GeForce GTX 1650 SUPER] vendor: ASUSTeK driver: N/A alternate: nouveau
    non-free: 525.xx+ status: current (as of 2022-12) arch: Turing code: TUxxx process: TSMC 12nm FF
    built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s
    bus-ID: 06:00.0 chip-ID: 10de:2187 class-ID: 0300
  Display: server: X.org v: 1.21.1.5 with: Xwayland v: 22.1.6 driver: N/A tty: 102x38
  API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: NVIDIA TU116 High Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
    pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 06:00.1
    chip-ID: 10de:1aeb class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 08:00.4 chip-ID: 1022:1487 class-ID: 0403
  Sound API: ALSA v: k6.0.12-zen1-1-zen running: yes
  Sound Interface: sndio v: N/A running: no
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.61 running: no
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi v: kernel pcie:
    gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 8086:24fb class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte
    driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 05:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-9:5
    chip-ID: 8087:0aa7 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:
  Local Storage: total: 491.39 GiB used: 395.58 GiB (80.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW512G8 size: 476.94 GiB
    block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 002C temp: 37.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 type: USB vendor: HP model: v232w size: 14.45 GiB block-size:
    physical: 512 B logical: 512 B type: N/A serial: <filter> rev: PMAP scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
  ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 608 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 395.58 GiB (83.0%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.52 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 42.6 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 336 Uptime: 2m wakeups: 0 Memory: 15.52 GiB used: 2.43 GiB (15.7%) Init: systemd
  v: 252 default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 11 clang: 14.0.6
  Packages: 2178 pm: nix-default pkgs: 0 pm: nix-sys pkgs: 0 pm: nix-usr pkgs: 0 pm: pacman
  pkgs: 2177 libs: 457 tools: gnome-software,octopi,pamac,paru,yay pm: flatpak pkgs: 1 Shell: Zsh
  v: 5.9 running-in: tty 2 inxi: 3.3.24
e[1;34mGaruda (2.6.10-1):e[0m
e[1;34m  System install date:e[0m     2022-01-29
e[1;34m  Last full system update:e[0m 2022-12-14
e[1;34m  Is partially upgraded:  e[0m No
e[1;34m  Relevant software:      e[0m NetworkManager
e[1;34m  Windows dual boot:      e[0m No/Undetected
e[1;34m  Snapshots:              e[0m Snapper
e[1;34m  Failed units:           e[0m xbindkeys-startup.service 

It looks like you are booted into a timeshift snapshot.

One of the downsides of timeshift, is that if you boot off a timeshift snapshot and then run grub-mkconfig, you can end up in a situation where you are permanently booting off that snapshot.

To fix that, you need to either boot off an ISO, chroot in and run update-grub or manually edit the grub config, reboot and then run update-grub

2 Likes

Thanks dalto.
The funny thing is if you see my previous post I already chrooted in and ran update-grub which fixed a pointer error. Should I do it again?

manually edit the grub config

This is my /etc/default/grub:

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Garuda"
GRUB_CMDLINE_LINUX_DEFAULT="rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off" # Modified by garuda-migrations: ibt=off
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
# Modified by garuda-migrations: GRUB_DISABLE_RECOVERY=default
#GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME="/usr/share/grub/themes/garuda-dr460nized/theme.txt"

# Uncomment to get a beep at GRUB start
GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false

What should I change?


One of the downsides of timeshift

I installedsnapper-support to change my timeshift snapshots to snapper. Or have I misunderstood how it works?

Also, what happens i I keep working off the snapshot?
I was trying to get a gui session back (had some issues with the nvidia drivers, dkms autoinstall failed). @BluishHumility said I should restore the snapshot before continuing.

You need to manually edit /boot/grub/grub.cfg and find the boot entry for your install.

When did you do that? You may have already been booting off a timeshift snapshot.

That doesn’t change your existing snapshots. It means that new snapshots will come from snapper.

When did you do that? You may have already been booting off a timeshift snapshot

Yes, I now realise that was a grave mistake.

/boot/grub/grub.cfg:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
    font="/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_IN
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
insmod gfxmenu
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_12.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_14.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_16.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_24.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_48.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_bold_16.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/dejavu_sans_mono_12.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-12.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-14.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-16.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-18.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-b12.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-b14.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-b16.pf2
loadfont ($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/terminus-b18.pf2
insmod png
set theme=($root)/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/usr/share/grub/themes/garuda-dr460nized/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
play 480 440 1
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Garuda Linux' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod btrfs
	search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
	echo	'Loading Linux linux-zen ...'
	linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-zen root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
	echo	'Loading initial ramdisk ...'
	initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-zen.img
}
submenu 'Advanced options for Garuda Linux' $menuentry_id_option 'gnulinux-advanced-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
	menuentry 'Garuda Linux, with Linux linux-zen' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-advanced-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux-zen ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-zen root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-zen.img
	}
	menuentry 'Garuda Linux, with Linux linux-zen (fallback initramfs)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-fallback-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux-zen ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-zen root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-zen-fallback.img
	}
	menuentry 'Garuda Linux, with Linux linux-zen (recovery mode)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-recovery-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux-zen ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-zen root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw single rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@ 
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-zen-fallback.img
	}
	menuentry 'Garuda Linux, with Linux linux-lts' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux-lts ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-lts root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-lts.img
	}
	menuentry 'Garuda Linux, with Linux linux-lts (fallback initramfs)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-fallback-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux-lts ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-lts root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-lts-fallback.img
	}
	menuentry 'Garuda Linux, with Linux linux-lts (recovery mode)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-recovery-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux-lts ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux-lts root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw single rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@ 
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-lts-fallback.img
	}
	menuentry 'Garuda Linux, with Linux linux' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux.img
	}
	menuentry 'Garuda Linux, with Linux linux (fallback initramfs)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-fallback.img
	}
	menuentry 'Garuda Linux, with Linux linux (recovery mode)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-recovery-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
		echo	'Loading Linux linux ...'
		linux	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/vmlinuz-linux root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw single rootflags=subvol=timeshift-btrfs/snapshots/2022-12-13_20-10-23/@ 
		echo	'Loading initial ramdisk ...'
		initrd	/timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/intel-ucode.img /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/initramfs-linux-fallback.img
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/41_snapshots-btrfs ###
submenu 'Garuda Linux snapshots' {
    configfile "${prefix}/grub-btrfs.cfg"
}
### END /etc/grub.d/41_snapshots-btrfs ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root  aeb3c7e0-45af-4344-ba3f-05339ad86d76
        linux16 /timeshift-btrfs/snapshots/2022-12-13_20-10-23/@/boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###

### BEGIN /etc/grub.d/61_custom_leave_options ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Shutdown" --class shutdown {
	echo "System shutting down..."
	halt
}

menuentry "Restart" --class restart {
	echo "System rebooting..."
	reboot
}

#if [ ${grub_platform} == "efi" ]; then
#	menuentry "Firmware Setup (UEFI)" --class recovery {
#		fwsetup
#	}
#fi
### END /etc/grub.d/61_custom_leave_options ###

What should I edit? I notice the path to the snapshot in quite a few places, should I replace this with something?

This part needs to be changed

Edit this part and change it to something like this:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Garuda Linux' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aeb3c7e0-45af-4344-ba3f-05339ad86d76' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod btrfs
	search --no-floppy --fs-uuid --set=root aeb3c7e0-45af-4344-ba3f-05339ad86d76
	echo	'Loading Linux linux-zen ...'
	linux	/boot/vmlinuz-linux-zen root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=@  rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initramfs-linux-zen.img
}
1 Like

Thanks a lot. Will try and get back to you.

Error: /boot/vmlinuz-linux-zen not found
even though the file exists (I checked in recovery mode)

I think you need there

linux /@/boot/vmlinuz-linux-zen
1 Like

Thanks so much @dalto @filo that fixed it. Should I replace all snapshot paths in grub.cfg in the same fashion?
However I still can't get a graphical session. I will make a new post about that.

Have you done a sudo update-grub?

Boot Recovery mode, run sudo dkms autoinstall, run sudo modprobe nvidia, check the terminal output.

Error! Could not locate dkms.conf file.
File: /var/lib/dkms/nvidia/495.46/source/dkms.conf does not exist.

Please check my post here for more info

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