Es gibt ein defektes Kernelmodul, aufgrund dessen ich das Betriebssystem nicht einmal laden kann, sodass ich es nicht löschen oder reparieren kann. Ist es möglich, dieses Modul beim Booten mit den Kernel-Parametern oder etwas anderem zu überspringen?
12
Antworten:
Das Blacklisting des Moduls wie in der vorherigen Antwort erwähnt ist der beste Weg, um ein Kernelmodul vollständig zu vermeiden. Abgesehen von der schwarzen Liste gibt es keine generische Möglichkeit, ein Modul zu deaktivieren.
Einige Linux-Distributionen bieten Kernel-Boot-Parameter, um solche Dinge zu tun.
load_modules=off
Erzwingt unter Arch Linux , dass udev das automatische Laden überspringt. Auf diese Weise können Sie starten, ohne Module zu laden, ein Modul auf die schwarze Liste setzen, das Probleme verursacht, und normal neu starten, ohne dass das problematische Laden des Moduls erforderlich ist.Weitere Informationen finden Sie in der Dokumentation zu den Kernelparametern . Es gibt Parameter zum Deaktivieren bestimmter Subsysteme. Zum Beispiel:
nousb
Deaktiviert die USB-Unterstützung des Kernelscgroup_disable=[name]
deaktiviert einen bestimmten Controller; "Speicher" ist jedoch das einzige Beispiel, das speziell unterstützt wirdlibata.noacpi
Deaktiviert die Verwendung von ACPI in libata (SATA-Controller). Dies ist ein Beispiel für die Übergabe eines Modulparameters über den Kernelquelle
Das Deaktivieren bestimmter Module ist über den Bootloader möglich, scheint jedoch tatsächlich von der Distribution abhängig zu sein.
Einerseits heißt es in den Dokumentationen zu Linux-Kernelparametern ab August 2016:
Andererseits wird die Option, die für mich mit openSUSE 42.1 (Linux 4.1.31) funktioniert hat, im Wiki der Arch Kernel-Module beschrieben :
(Vielen Dank an @gertvdijk unter unix.SE für den Hinweis.)
Erwähnenswert ist auch die folgende Methode :
Ich habe keine Ahnung, woher sie das haben, aber es wird definitiv nicht schaden, eine andere Methode auszuprobieren, wenn alles andere fehlschlägt.
quelle
Sie sollten es entweder zu /etc/modprobe.d/blacklist oder zur Blacklist 'modulename' hinzufügen können.
quelle