Skip to main content

🕒 Timeshift & Btrfs Snapshots

📦 Installation

Falls Timeshift noch nicht installiert ist, kannst du es mit folgendem Befehl installieren:

sudo pacman -S --needed timeshift timeshift-autosnap-manjaro grub-btrfs
🔄 GRUB aktualisieren

Nach dem ersten Erstellen eines Snapshots solltest du den GRUB-Bootloader aktualisieren, um den Timeshift-Menüeintrag hinzuzufügen:

sudo update-grub

Dieser Befehl sorgt dafür, dass ein Timeshift-Menüeintrag im GRUB-Bootmenü erscheint.


🗑️ Timeshift deinstallieren

sudo pacman -Rsn timeshift timeshift-autosnap-manjaro grub-btrfs
sudo update-grub

💡 Grundlagen: Btrfs & Snapshots

Das Btrfs-Dateisystem unterstützt im Gegensatz zu ext4 sogenannte Snapshots.

Wenn Manjaro mit Btrfs installiert wird, ist standardmäßig Pacman so konfiguriert, dass vor jedem Paketupdate automatische Snapshots erstellt werden (snap-pac + Timeshift + grub-btrfs).

Diese Snapshots werden dann automatisch ins GRUB-Menü eingebunden:

  • Beim Start wähle einfach „Erweiterte Optionen für Manjaro“ → „Snapshots“
  • Dort kannst du einen früheren Systemzustand booten (readonly)
  • So lässt sich ein fehlerhaftes Update schnell rückgängig machen
🎯 Vorteil

Für eine Rückkehr zu einem funktionierenden Zustand ist keine Live-CD/USB notwendig!


⚠️ Wichtig

  • Snapshots sind keine echten Backups – sie schützen NICHT vor Hardware-Ausfällen!
  • Sie benötigen zusätzlichen Speicherplatz auf der Partition
  • Grundkenntnisse in Btrfs sind empfehlenswert: Was ist Btrfs?
  • Für echte Backups nutze z.B. BackInTime

📦 Timeshift Snapshot-Boot über GRUB → nur read-only!

Standardmäßig wird ein Snapshot, der über das GRUB-Menü via grub-btrfs gestartet wird, im read-only Modus gemountet.

🔧 Technisch passiert Folgendes:
  • grub-btrfs erkennt Btrfs-Snapshots unter:
/timeshift-btrfs/snapshots/
  • Beim Booten wird der ausgewählte Snapshot temporär als neues Root-Subvolume verwendet
  • Dieses Subvolume ist readonly, d.h. du kannst es nutzen, aber keine Änderungen speichern

Das ist Absicht: Du kannst in einem sicheren Zustand analysieren oder manuell wiederherstellen, ohne dein aktuelles System zu verändern.


🧭 METHODE 1: Wiederherstellung mit Timeshift-GUI

Starte dein reguläres System (nicht Snapshot)

Öffne Timeshift per Menü oder Konsole:

sudo timeshift-launcher
📋 Schritte
  • Wähle den gewünschten Snapshot
  • Klicke auf „Restore“
  • Aktiviere „Restore Home Directory“, falls du @home eingebunden hast
  • Folge dem Assistenten, bestätige und starte neu

🧰 METHODE 2: Manuelle Wiederherstellung per Terminal (Live-System)

⚙️ Voraussetzung
  • Timeshift verwendet Btrfs-Snapshots
  • SSD mit Subvolumes (@, @home, etc.)
  • Zugriff auf Live-System (z.B. Manjaro-ISO oder Arch-ISO)

🔍 1. Live-System starten

Starte ein Live-System und öffne ein Terminal mit Root-Rechten.


🔍 2. Btrfs-Partition erkennen
lsblk -f
sudo blkid

Beispielausgabe:

  • nvme0n1 → nvme0n1p1 → btrfs → /mnt
  • sda → sda2 → btrfs

→ Suche nach der Partition mit Typ „btrfs“ (ggf. Mountpoint „/“)


📂 3. Partition mounten
sudo mount -o subvol=/ /dev/nvme0n1p1 /mnt

📁 4. Snapshot-Verzeichnis öffnen
cd /mnt/timeshift-btrfs/snapshots/<snapshot-name>/

♻️ 5. @-Subvolume zurücksetzen
sudo btrfs subvolume delete /mnt/@
sudo btrfs subvolume snapshot ./@ /mnt/@

🏠 6. @home (falls vorhanden)
sudo btrfs subvolume delete /mnt/@home
sudo btrfs subvolume snapshot ./@home /mnt/@home

🔄 7. (Optional) GRUB-Konfiguration neu erstellen
sudo manjaro-chroot /mnt
sudo update-grub
exit

🔁 8. Neustarten
sudo reboot

✅ Ergebnis

  • Snapshot ist nun dauerhaft als aktives System gesetzt
  • @ und ggf. @home sind wieder beschreibbar
  • Alle Änderungen bleiben erhalten

🛠️ GRUB NEU INSTALLIEREN (bei beschädigtem GRUB oder falscher Bootkonfiguration)

🔍 1. Live-System starten

Starte ein Live-System (z.B. Manjaro ISO) und öffne ein Terminal mit Root-Rechten.


🔍 2. Partitionen identifizieren
lsblk -f
sudo fdisk -l

Beispiel:

  • Root: /dev/nvme0n1p1 → Btrfs mit Subvolumes
  • EFI (UEFI): /dev/nvme0n1p0 → FAT32, Mountpoint /boot/efi

📂 3. Root mounten (@)
sudo mount -o subvol=@ /dev/nvme0n1p1 /mnt

🏠 4. @home mounten (falls vorhanden)
sudo mount -o subvol=@home /dev/nvme0n1p1 /mnt/home

💽 5. EFI mounten (nur UEFI-Systeme)
sudo mount /dev/nvme0n1p0 /mnt/boot/efi

🔧 6. Chroot
sudo manjaro-chroot /mnt

🧱 BIOS-System (MBR)
sudo grub-install --recheck --target=i386-pc /dev/nvme0n1

🧬 UEFI-System
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck

🔄 7. GRUB-Konfiguration neu generieren
sudo update-grub

🔁 8. Neustart
exit
sudo reboot

✅ Ergebnis

  • GRUB ist neu installiert
  • Vorhandene Snapshots werden erkannt (grub-btrfs)
  • System sollte wieder normal booten

🍀 good luck!