🕒 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-btrfserkennt 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
@homeeingebunden 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 → /mntsda → 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.@homesind 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