Hey liebe Geekos,
dies wird mein erster Post in diesem Forum. Ebenso sei gesagt, dass ich weder der größte Linuxnerd bin, noch vermutlich dazu avancieren werde. Ich bemühe ich. Ich muss allerdings öfter als es mir lieb ist auf Internetsuchen zurückgreifen für Lösung und Verständnis. Jetzt ist mir etwas passiert, dass ich gerne besser verstehen würde und brauche dafür eure Hilfe.
Worum soll es in diesem Post also gehen?
Ich benutze seit einigen Monaten OpenSUSE Tumbleweed als mein einziges OS mit btrfs-Dateisystem. Zuvor habe ich Ubuntu benutzt. Mir ist zwar aufgefallen, dass das System ingesamt etwas leistungsfähiger scheint, allerdings hatte ich sporadisch Probleme damit, dass mein OS, ohne Korrelation mit irgendeiner Aktion eingefroren ist. Das konnte mal bei der Arbeit in der IDE, beim Surfen, oder beim Schreiben sein. Nervig, aber aushaltbar. Bis gestern kam.
Der Bildschirm fror abermals ein, diesmal bootete das System jedoch nur noch in den emergency mode, mit dem ich bisher gottseidank keine Bekanntschaft machen musste.
Nach Konsultation von journalctl ergab sich ein Hinweis darauf, dass die Partition /sysroot nicht mehr eingehangen werden konnte. Zwar verstand ich nun warum mein System nicht startete, aber die mögliche Ursache ist mir bis jetzt unklar. Dabei erhoffe ich mir hier vielleicht ein paar Insights.
Was habe ich versucht um mein Problem zu lösen?
- Zunächst dachte ich ganz naiv an snapper. Also zack neugestartet, letztes, “funktionales” Snapshot ausgewählt und oopsie saß ich wieder im emergency mode. Das brachte also keine Lösung.
- Dann habe ich meine Installations-USB eingeworfen (kein Live-Medium), durch die ich über ein entsprechendes Optionsmenü auf wundersameweise (nicht “boot from hard disk”, das war eine andere Option) in ein offensichtlich älteren Snapshot meines Systems booten konnte. Hier ist spannend, dass ich über
sudo snapper listauch sehen konnte, dass das nun gebootete System nur Snapshots von vor 3 Monaten kannte. Interessante Beobachtung, da ich in meinem normalen Bootmenü zumindest die neueren Snapshots gelistet bekam. - Ich habe dieses wackelige System benutzt, um eine Tumbleweed Live-Image auf einen anderen USB-Stick zu ziehen und erste weitere Analysen zu wagen.
Mein System hat folgende Partitionen:
- nvme0n1p1 EFI-System Partition
- nvme0n1p3 BTRFS-Systempartition mit /
- nvme0n1p4 BTRFS-Partition die offensichtlich nur ältere Snapshots enthält (not sure why what and how)
- nvme0n1p5 Swap
Ich konnte nun feststellen, dass die entsprechende Partition nvme0n1p3, die mein Dateisystem enthält nicht eingehangen werden konnte mit dem Hinweis cant read superblock. Autsch, das klang schmerzhaft.
- Das erstellte Live-System habe ich dann benutzt, um alle weiteren Schritte zu unternehmen:
Zunächst habe ich über
sudo parted -l
versucht festzustellen, ob meine Partition als damaged angezeigt wird. Dann habe ich btrfs-progs instaliert und folgendes versucht:
sudo btrfs rescue super-recover -v /dev/nvme0n1p3
bekam allerdings zu lesen:
“All supers are valid. No need to recover”
Ok, was nun? Zum Ziel führte mich
sudo dmesg
worüber ich feststellen konnte, dass mein log tree fehlerhaft ist. Was das ganz genau bedeutet, well, not so sure.
Final führte ich dann folgenden Befehl aus:
sudo btrfs rescue zero-log /dev/nvme0n1p3
Danach war es gottseidank wieder möglich meine Systempartition zu mounten und mein System normal zu booten.
Wtf just happened. Das ist mir unter Ubuntu noch nie passiert, ich möchte aber auch nicht OpenSuse blamen, oder btrfs,oder meine SSD, oder mich,…ohne etwas mehr Verständnis aufzubauen.
Ich wäre dankbar für die mögliche Hintergründe und ob die Gefahr besteht, dass dies wieder passiert. Denn ich bin eigentlich sehr zufrieden mit OpenSUSE, mit Tumbleweed und überhaupt ![]()
Viele Grüße
(Viele der genannten Schritte habe ich auf linuxbabe.com gefunden, das sei mal als Referenz erwähnt).