Wie entferne ich einen neueren Kernel, während ich mit dem älteren Kernel boote?

8

Ich habe zwei Kernel auf meinem System installiert. 3.16 ... und 3.19.3 ... Ich verwende Ubuntu 14.10 und es wurde mit dem 3.16 ... Kernel geliefert. Ich habe beschlossen, den neuesten Kernel (3.19.3 ...) auszuprobieren, aber manchmal erhalte ich Fehler und das System fühlt sich instabil an. Ich sehe keinen Grund, diesen neuen Kernel zu behalten. Gibt es ein Problem, auf das ich stoßen könnte, wenn ich den älteren Kernel boote und dann den neueren mit beispielsweise Synaptic entferne? Treten beim Neustart Probleme auf, oder wird Ubuntu den älteren Kernel ohne großen Aufwand automatisch starten?

Jeder Rat bezüglich des richtigen Verfahrens und der Methoden, um mein Ziel am besten zu erreichen, wäre willkommen. Vielen Dank.

Wes Haq
quelle

Antworten:

6

Sie können Kernel genauso entfernen wie andere Pakete, solange Sie nicht in diesem Kernel gebootet sind.

Verwenden Sie dpkg -lein grep wie folgt, um eine Liste der von Ihnen installierten Kernel zu erhalten :

dpkg -l | grep linux

Dort sehen Sie die Liste der installierten Pakete.

Verwenden Sie dann den removeBefehl vonapt-get

sudo apt-get remove linux-...<name as shown by dpkg -l>

Die Header müssen nicht entfernt linux-image-...werden. Dies sind die tatsächlichen Binärdateien, die entfernt werden müssen.

Beachten Sie, dass apt-getdie zum Aktualisieren grubund zum Starten der RAM-Disk erforderlichen Befehle automatisch erneut ausgeführt werden sollten.

Wenn Sie apt-get update+ verwenden apt-get upgrade(oder das automatische Upgrade, das dasselbe tut), wird der neuere Kernel natürlich neu installiert ...

Ich denke, Sie können eine Neuinstallation verhindern, aber ich kenne den Befehl dafür nicht.

Alexis Wilke
quelle
Vielen Dank! Ich kann Ihre Antwort ohne 15 Reputationspunkte (die ich derzeit leider nicht habe) nicht positiv bewerten. Ich schätze die Antwort.
Wes Haq
4

Das ist sehr einfach. Zuerst müssen Sie einige Dinge über den Kernel wissen, den Sie entfernen möchten. Sie müssen den vollständigen Namen haben (z. B. 3.19.0-15-generic). Sie finden dies, indem Sie mit dem 3.19-Kernel booten, das Terminal öffnen (Strg + Alt + T) und den Befehl ausführen

uname -r

Beachten Sie die Ausgabe. Starten Sie mit dem 3.16-Kernel neu und öffnen Sie das Terminal erneut, indem Sie die Befehle ausführen

sudo apt-get remove linux-headers-$(uname -r)
sudo apt-get remove linux-image-$(uname -r)
sudo update-initramfs -d -k $(uname -r)
sudo update-initramfs -u
sudo update-grub

Und es ist geschafft! Wenn Sie GRUB das nächste Mal sehen, ist der 3.19-Kernel nicht mehr vorhanden.

Eduardo Cola
quelle
Vielen Dank! Ich kann Ihre Antwort ohne 15 Reputationspunkte (die ich derzeit leider nicht habe) nicht positiv bewerten. Ich schätze die Antwort.
Wes Haq
Kein Problem, ich bin hier, um Ihnen zu helfen!
Eduardo Cola
@WesHaq Hallo Wes! Sie können dies als Lösung auswählen, indem Sie auf das Symbol links klicken.
Mchid
1
Durch Ausführen sudo apt-get remove linux-headers-$(uname -r)wird der aktuell ausgeführte Kernel deinstalliert. Mach das nicht.
Cerin