Kernel Backup Experimente
Mittwoch 23. Januar 2019 von Torsten
Der Linux Kernel war bereits Thema im vorherigen Artikel …
Nun sollen einige Experimente zum Kernel Backup durchgeführt werden. Es mag ja Gründe geben, weshalb man auf einen älteren Kernel zurück-wechseln möchte…
Welcher Kernel ist im Einsatz?
Möchte man wissen welcher Kernel aktuell im Einsatz ist, kann folgender Terminalbefehl genutzt werden.
- uname a
Als Ausgabe bekommt man dann so etwas wie:
4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Aktuell ist hier also der Kernel in der Version 4.15.0-39 im Einsatz.
Übersicht über installierte Kernel:
Eine Übersicht über die installierten Kernel und auch die bereits deinstallierten Kernel bietet folgender Terminalbefehl:
- dpkg –get-selections | grep linux-image
Als Ausgabe gibt es dann an meinem Testsystem unter anderem folgendes:
- linux-image-4.15.0-32-generic (deinstall)
Der Kernel in der Version 4.15.0.32 ist also bereits deinstalliert. Zufälligerweise habe ich aber von diesem Kernel ein Backup erstellt – also eine Sicherheitskopie.
Das Experiment:
Ziel dieses Experimentes ist es nun, den gesicherten alten Kernel wieder ins System einzuspielen. Der Kernel in der Version 4.15.0.32 soll also wieder als installierter Kernel aufgeführt werden und auch über den Bootmanager startbar sein.
Die vmlinuz-Dateien:
Zum Zeitpunkt dieses Experiments befanden sich drei vmlinuz-Dateien im Systemordner /boot.
Diese drei Dateien werden auch im Terminal angezeigt. Zusätzlich aber auch eine Datei die nur “generic“ heißt…
Versuch 1:
Mit root-Rechten kopiere ich die gesicherte vmlinuz-Datei nun in den Ordner /boot.
Anschließend prüfe ich mit dem Terminalbefehl dpkg –get-selections | grep linux-image ob das zurückgespielte Backup zumindest als installiert angezeigt wird.
Wenn alles klappt, dann sollte jetzt auch der Kernel 4.15.0.32 als installiert angezeigt werden.
Ergebnis zu Versuch 1:
Klappt aus dem laufenden System noch nicht. Auch über Bootmanager Grub werden nur folgende Kernel angezeigt:
- Kernel 4.15.0.39
- Kernel 4.15.0.38
- Kernel 4.15.0.36
Fehlt der initrd-Ordner?
Eventuell klappt es nur deshalb noch nicht weil der initrd-Ordner oder besser das CPIO-Archiv fehlt.
Für den Kernel 4.15.0.36 werde ich also Kernel-Image und das zugehörige CPIO-Archiv sichern und dann einen zweiten Versuch durchführen…
Versuch 2:
Im Unterschied zu Versuch 1 wird nun die vmlinuz-Datei mit entsprechendem initrd-Ordner zurück-kopiert…Nach einem Update wurde Kernel 4.15.0.36 übrigens automatisch aus dem System entfernt – für diese Experimente also die perfekte Ausgangsbasis…
Kernel 4.15.0.36 wird also mit “initrd.img-4.15.0-36-generic“ gemeinsam in den Systemordner /boot kopiert.
Ergebnis zu Versuch 2:
Vom “update-grub-Befehl“ wird der Kernel 4.15.0.36 schon erkannt. Nur noch nicht vom “get-selections-Befehl“…
Ein kompletter Neustart des Rechners (kein Reboot) brachte einen ersten Erfolg. Über das Grub Bootmenü (Bootmanager) kann der Kernel 4.15.0.36 schon ausgewählt werden…
Eine Überraschung gibt es auch. Der Kernel 4.15.0.32 wird vom Grub-Bootmanager auch angezeigt. Starten lässt sich dieser aber nicht – es fehlt dazu wohl doch der passende initrd-Ordner.
Dieser Beitrag wurde erstellt am Mittwoch 23. Januar 2019 um 08:00 und abgelegt unter Allgemein. Kommentare zu diesen Eintrag im RSS 2.0 Feed. Kommentare und Pings sind derzeit nicht erlaubt.