Wie kann ich einen Hauptkernel entfernen und zu einem unterstützten Kernel zurückkehren?

11

Ich habe kürzlich ein Upgrade auf Kernel 3.4 in meinem Ubuntu 12.04 durchgeführt. Danach startet der Computer nicht mehr. Also habe ich einen vorherigen Kernel zum Booten verwendet. Eigentlich will ich keinen 3.4 Kernel. Wie kann ich es entfernen und das vorherige selbst verwenden?

Viswanath Kuchibhotla
quelle

Antworten:

8

Wie haben Sie es installiert? Wenn Sie nur eine Menge Deb-Dateien gepackt und installiert haben, ist es so einfach, sie zu entfernen, wie nur die Pakete zu finden und apt-get removefür jede von ihnen auszuführen.

Ich habe gerade eine Tasse Kaffee getrunken, damit Sie heute Morgen die volle Last meines Bashfu tragen können ... Dies sollte Ihnen sagen, welche Kernel installiert sind:

dpkg -l | awk '/linux-[^ ]+-[0-9]/ {print $2}'

Gehen Sie diese durch und notieren Sie sich die Versionen, die Sie nuklearisieren möchten. Beachten Sie auch Ihre aktuelle Installation (uname -a) oder alle neuen Kernel, die Sie seit dem Booten installiert haben. Sie möchten nicht die neuesten entfernen.

Wenn Sie eine Idee haben, können Sie sie durch Anpassen dieses Befehls in großen Mengen entfernen:

sudo apt-get purge linux-{headers,image,image-extra}-3.5.0-{7,8,9}.*

Die Wörter und Zahlen in geschweiften Klammern werden zur Laufzeit erweitert, sodass folgende Pakete verwendet werden:

linux-headers-3.5.0-7*
linux-headers-3.5.0-8*
linux-headers-3.5.0-9*
linux-image-3.5.0-7*
linux-image-3.5.0-8*
linux-image-3.5.0-9*
linux-image-extra-3.5.0-7*
linux-image-extra-3.5.0-8*
linux-image-extra-3.5.0-9*

Sie können damit herumspielen, aber zum Aufräumen finde ich dies viel sicherer als einen Wide-Wildcard (wie ich es derzeit auf einem 3.5. * -Kernel tue).

Lesen Sie in jedem Fall, was apt-get tun wird, bevor Sie Ja sagen. Das Entfernen aktueller Kernel und aller Kernel ist eine überraschend häufige Situation, in der sich Ubuntu-Benutzer befinden. Es ist nicht unfixierbar, aber ja, tun Sie es nicht!

Seien Sie besonders vorsichtig mit Platzhaltern und Apt-Get. Wenn Sie mir nicht glauben, laufen Sie apt-get -s remove linux-image-3.4*und sehen Sie, was es auswählt (ja - alle Kernel). Machen Sie sich keine Sorgen, dass sich der Befehl im "Simulationsmodus" befindet, sodass er nichts tut (und daher kein Root benötigt).

Oli
quelle
Fast vier Jahre später bleiben Ihre Warnungen wahr. Ich war nur ein bisschen faul von ... einem Kopfschmerztag, an dem ich die Bestätigung etwas genauer las, als ich es normalerweise tun würde. Was für ein enger Anruf!
Fissure King
Sie können sich davon erholen, es ist nur ein Schmerz im Boden, wenn Sie es nicht erwarten.
Oli
7

Mainline-Kernel deinstallieren

Die Mainline-Kernel haben einen eigenen ABI-Namespace, sodass sie neben den Standard-Ubuntu-Kerneln installiert werden (jeder Kernel hat beispielsweise ein separates Verzeichnis unter /lib/modules/VERSION). Dies bedeutet, dass Sie mehrere Mainline- und Ubuntu-Kernel gleichzeitig installieren können und den gewünschten aus dem GRUB-Startmenü auswählen können.

Wenn Sie einen Mainline-Kernel trotzdem deinstallieren möchten, verwenden Sie zuerst:

dpkg -l | grep "linux\-[a-z]*\-"

Um den genauen Namen der Kernel-Pakete zu finden, die Sie deinstallieren möchten, gehen Sie wie folgt vor:

sudo apt-get remove KERNEL_PACKAGES_TO_REMOVE

Denken Sie daran, dass mehrere Pakete zu einer Kernelversion gehören: allgemeine Header, architekturspezifische Header und das architekturspezifische Image.

Quelle: https://wiki.ubuntu.com/Kernel/MainlineBuilds#Uninstalling_Mainline_Kernels

BuZZ-dEE
quelle