Jetzt zum „Worst Case“-Szenario:
Angenommen, das BTRFS selbst ist in Ordnung, aber das aktuelle System ist so beschädigt, dass es gar nicht mehr bootet. Ist es dann möglich, einen Snapshot über GRUB zu starten und von diesem read-only-System aus ein Rollback anzustoßen? Genau das habe ich bisher nicht hinbekommen.
Jein. Nicht über GRUB. GRUB ist in diesen Fall ein nachgelagertes Werkzeug nur zum booten.
Du benötigst einen r/w Snapshot. Der wird mit btrfs erstellt. Im Anschluss hast du die Möglichkeit entweder einen GRUB Booteintrag zu editieren, oder mit Hilfe des chroot-helpers aus dem neuen Snapshot heraus GRUB zu installieren. In beiden Fällen benötigst du ein funktionsfähiges System, entweder ein anderes auf dem PC, oder ein Live System. Dabei ist zu beachten, dass der mit btrfs erstellt Snapshot
nicht von snapper erkannt und gelistet wird.
Die symbolhafte Befehlszeile für den neuen Snapshot (mit root Rechten):
btrfs subvolume snapshot path/to/source_subvolume path/to/targetDer Grund, weshalb das Ändern des -r Flags eines Subvolumen keine gute Idee ist (von
https://btrfs.readthedocs.io/):
Schreibgeschützte Snapshots sind Bausteine der inkrementellen Übertragung (siehe btrfs-send), und der gesamte Anwendungsfall basiert auf unveränderten Snapshots, aus denen die relativen Änderungen generiert werden. Daher würde eine Änderung der Subvolume-Flags von schreibgeschützt zu schreibbar die Annahmen widerlegen und zu unerwarteten Änderungen im resultierenden inkrementellen Stream führen.