Snapshot restore not working (snapper & timeshift)


I’ve replaced mkinitcpio by booster and since then when restoring snapshots appear error booster: mount (dev/nvme0n1p4) invalid argument.
That partition is my /.
It occur with snapper and timeshift.
It creates snapshots successfully, pre, post and on boot.
It works upgrading kernel and nvidia driver.

What I need to do to fix it? I’m new to booster and Arch based distros.

❯ garuda-inxi
  Kernel: 6.8.4-nitrous+ arch: x86_64 bits: 64 compiler: clang v: 17.0.6
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-nitrous root=/dev/nvme0n1p4
    rw rootflags=subvol=@ resume=/dev/nvme0n1p2 nowatchdog zswap.enabled=1
    zswap.compressor=zstd zswap.max_pool_percent=25 zswap.zpool=z3fold quiet
    loglevel=3 ibt=off nowatchdog zswap.enabled=1 zswap.compressor=zstd
    zswap.max_pool_percent=25 zswap.zpool=z3fold
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 wm: xfwm4 v: 4.18.0
    with: xfce4-panel tools: avail: xautolock vt: 7 dm: LightDM v: 1.32.0
    Distro: Garuda base: Arch Linux
  Type: Desktop System: MSI product: MS-7922 v: 2.0
    serial: <superuser required>
  Mobo: MSI model: Z97S SLI Krait Edition (MS-7922) v: 2.0
    serial: <superuser required> uuid: <superuser required>
    UEFI: American Megatrends v: 10.4 date: 04/15/2015
  Device-1: sony_controller_battery_a0:5a:5d:51:d7:87 model: N/A serial: N/A
    charge: N/A status: full
  Info: model: Intel Core i5-4690K bits: 64 type: MCP arch: Haswell
    gen: core 4 level: v3 note: check built: 2013-15 process: Intel 22nm
    family: 6 model-id: 0x3C (60) stepping: 3 microcode: 0x28
  Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 256 KiB
    desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 6 MiB
    desc: 1x6 MiB
  Speed (MHz): avg: 4000 min/max: 800/4000 scaling: driver: intel_cpufreq
    governor: schedutil cores: 1: 4000 2: 4000 3: 4000 4: 4000 bogomips: 28012
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
  Device-1: NVIDIA GM206 [GeForce GTX 960] vendor: ASUSTeK driver: nvidia
    v: 550.67 alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current
    (as of 2024-02; EOL~2026-12-xx) arch: Maxwell code: GMxxx
    process: TSMC 28nm built: 2014-2019 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1401
    class-ID: 0300
  Display: x11 server: X.Org v: 21.1.12 with: Xwayland v: 23.2.6
    compositor: xfwm4 v: 4.18.0 driver: X: loaded: modesetting,nvidia
    alternate: fbdev,nouveau,nv,vesa gpu: nvidia display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.00x11.26")
    s-diag: 583mm (22.95")
  Monitor-1: HDMI-0 pos: primary res: 1920x1080 hz: 60 dpi: 82
    size: 598x336mm (23.54x13.23") diag: 686mm (27.01") modes: N/A
  Monitor-2: None-1-1 size-res: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: kms_swrast surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.67
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GTX 960/PCIe/SSE2
    memory: 1.95 GiB
  Device-1: Intel 9 Series Family HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:8ca0
    class-ID: 0403
  Device-2: NVIDIA GM206 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:0fba class-ID: 0403
  API: ALSA v: k6.8.4-nitrous+ status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: d000 bus-ID: 05:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: ipv6leakintrf0 state: unknown speed: N/A duplex: N/A
    mac: <filter>
  IF-ID-2: tun0 state: unknown speed: 10000 Mbps duplex: full mac: N/A
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  Device-1: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-5:4
    chip-ID: 0a12:0001 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 2.1 lmp-v: 4
    status: discoverable: no pairing: no
  Local Storage: total: 2.04 TiB used: 1.82 TiB (89.4%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: WALRAM model: 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: V0523B0 temp: 47.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 model: 240GB size: 223.57 GiB block-size:
    physical: 512 B logical: 512 B speed: 6.0 Gb/s tech: SSD serial: <filter>
    fw-rev: 0E temp: 24 C scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD10JPCX-24UE4T0 size: 931.51 GiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 1A01 temp: 35 C scheme: GPT
  ID-1: / raw-size: 29.97 GiB size: 29.97 GiB (100.00%)
    used: 17.76 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4
  ID-2: /boot/efi raw-size: 150 MiB size: 147.7 MiB (98.45%)
    used: 570 KiB (0.4%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 885.38 GiB size: 885.38 GiB (100.00%)
    used: 871.04 GiB (98.4%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-4: /var/log raw-size: 29.97 GiB size: 29.97 GiB (100.00%)
    used: 17.76 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4
  ID-5: /var/tmp raw-size: 29.97 GiB size: 29.97 GiB (100.00%)
    used: 17.76 GiB (59.3%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4
  Kernel: swappiness: 180 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: partition size: 16.02 GiB used: 1.53 GiB (9.5%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: swap-2 type: zram size: 15.55 GiB used: 400.2 MiB (2.5%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 4
    dev: /dev/zram0
  System Temperatures: cpu: 75.0 C mobo: N/A gpu: nvidia temp: 53 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 29%
  Memory: total: 16 GiB available: 15.55 GiB used: 9.03 GiB (58.0%)
  Processes: 430 Power: uptime: 4h 43m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 6.18 GiB services: upowerd,xfce4-power-manager
    Init: systemd v: 255 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1959 libs: 530 tools: pacseek,pamac,paru,yay
    Compilers: clang: 17.0.6 gcc: 13.2.1 Shell: garuda-inxi default: fish
    v: 3.7.1 running-in: xfce4-terminal inxi: 3.3.33
Garuda (2.6.25-1):
  System install date:     2024-03-14
  Last full system update: 2024-04-10 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            grub-btrfs-snapper.service 

Open terminal and type garuda-inxi post the complete output.

Detail how you are generating your initrd right now and what you have named it. (The initrd)?

Post the contents of,

ls /boot


ls /boot/efi

Can we see your generated grub-btrfs.cfg so we can see what it is trying to do?

1 Like

Can you share your generated /boot/grub/grub.cfg as well so we can see what a working entry for booster looks like.

That is fine. You can ignore that.

However, be aware, if booster doesn’t have native support for adding overlays when booting read-only btrfs snapshots, you will either need to build or configure that yourself.

1 Like

What does sudo blkid /dev/nvme0n1p4 return?

Why booster?

Just use “standard” Garuda Linux, and you are fine. :slight_smile:

Seems the apps snapper and timeshift are not working together with booster or the “customizer” has more destroyed as we know.

Much luck on your booster travel :crossed_fingers: :crossed_fingers:

1 Like

BTW, Garuda Linux don’t use timeshift since years, IIRC.
We use snapper.

Please post full ISO name. Post the garuda-inxi too.
On fresh installation without garuda-update there will no snapshots exist until you do it manually.

From all you’re “Failed”, post command and log as formatted text.

Do you see the snapshots in the GRUB and boot the one you need before restoring it in the BTRFS assistant?
Just in case:

I think this is true. It appears you have made several other configuration decisions which have broken your install, completely independently from your effort to get Booster working.

I still don’t know if booting off of Btrfs snapshots with Booster is even possible since it hasn’t been established if it supports using the overlayfs or not, but regardless I would agree that the current state of your install is definitely not “Booster’s fault.”

I just installed this ISO on my laptop to test. Here is what I did:

  1. Completed the installation;
  2. Brought the system fully up to date;
  3. Uninstalled Mousepad (the text editor);
  4. Rebooted into the pre-pacman -R mousepad Btrfs snapshot;
  5. Restored the snapshot;
  6. Rebooted into the normal system.

Mousepad is back, everything works, no issues of any kind.

Here are a few considerations:

Snapper and Timeshift have their own snapshot management systems. They might not be “aware” of each other’s snapshots, or could be causing conflicts with each other in other ways. I would just stick with one tool, and get rid of the other one altogether.

In this thread it seems like you are trying to use Snapper snapshots, so I would say just stick with that and don’t install Timeshift at all.

Grub Customizer makes permanent changes that cannot be reverted simply by uninstalling it. They do add a file at /etc/grub.d/backup/RESTORE_INSTRUCTIONS to help guide you when you are removing it, however if you don’t know to look there then it is obviously not helpful.

You can manually remove it, but there are a few steps involved; see this post for example: Cleaning Grub - #3 by BluishHumility

If you re-installed and added Grub Customizer again, I would not expect booting snapshots to work.

grub-btrfs does not restore snapshots, it is only for booting into snapshots. If you make a bunch of unbootable snapshots, it makes sense that you can restore them without issue but you cannot boot into them.

It is uncommon to use this service. Probably it is not related to your issue, but this is not the service you should be examining for troubleshooting the problem in this thread.

This kernel is not an appropriate choice for your system. See here:

❯ pacman -Ss nitrous
chaotic-aur/linux-nitrous 6.8.4-1
    Modified Linux kernel optimized for Skylake X and newer, compiled using clang

You do not have the hardware this kernel is designed to be run on:

Unless you have a compelling reason for using this kernel anyway, I would switch to something which is optimized for the hardware you are using. Or even just stay on the LTS kernel.

I have heard this as well, although in your case I would expect Booster must be near instantaneous because it isn’t actually doing anything:

This thread started off with snapshots not working, but then it turns out the init system had been changed and that is broken too, and Grub Customizer was set up and a bunch of stuff in /etc/grub.d was broken, and new kernels were installed but they weren’t getting images created to go with them, and so on and so on.

In general, it seems like you are making a lot of major system changes at the same time. When things are broken on the other end of that, it’s hard to figure out what went wrong because you already changed so much stuff. Try to take it easy, maybe make one big change at a time and do some testing to make sure everything is working well before changing a bunch of other stuff.


This is what I mean. If it wasn’t working even before you added all that stuff, you are bound to completely lose the trail after making a bunch of changes on top of the already broken system. Better to backtrack and figure out how it became broken, then when it is fixed start introducing changes.

On the back of a fresh installation, all of the stuff works as intended. The main reason I tested it myself was to confirm that.

Yes, during my test I booted into a snapshot and then restored the snapshot while booted into it.

This is the most typical way to use this tool.

When you boot into a snapshot, there is a pop-up notification that says something like “You are booted into a snapshot; do you want to restore it?”. After you say yes, it encourages you to immediately reboot. And that’s about all there is to it.


@BluishHumility, nice effort attempting to support this issue. I highly suggest you follow his advice @AgainstTh3Syst3m.

This thread has already taken up a lot of support time for what is essentially an issue totally unrelated to Garuda. There’s a couple of old sayings that I’d say apply here:

You play you pay!
You broke it you fix it!

Linux is a tinkerers dream. However, your tinkering with Garuda’s boot mechanism’s has created a nightmare.

This is not Garuda’s fault, it is yours. I highly suggest you follow @BluishHumility ‘s advice and do not install grub-customizer, install a more standard kernel, and stick with Garuda’ s standard boot components.

You are certainly free to tinker with anything under the hood of your install. However, it’s not the Garuda forum’s responsibility to correct the carnage that results from making changes that are known to be problematic.

IMO, you are wasting the time of our forum’s best support volunteers on an issue that is wholly of your own creation.

I think enough forum support time has already been wasted on this issue.

I am locking this thread for now, and if any of the other moderators feel inclined to continue troubleshooting this issue they are certainly free to re-open this thread and continue spinning their wheels. :wink: