Hinweis: Blacklisting funktioniert nicht für Module, die in das Kernel-Image integriert sind (dh nicht über eine separate .koDatei geladen werden . Die einzige Möglichkeit, solche Module zu deaktivieren, besteht darin, einen Kernel-Parameter (falls verfügbar) zu verwenden oder den Kernel neu zu kompilieren.
Öffnen Sie einfach Ihre /etc/modprobe.d/blacklistDatei und fügen Sie den Treibernamen mit folgender Syntax hinzu:
blacklist driver-name
BEARBEITEN: In späteren Versionen seit 12.10 (12.04?) Ist die Datei /etc/modprobe.d/blacklist.conf
Starten Sie Ihre Box neu und verwenden Sie den Befehl lsmod, um den Status der Module im Linux-Kernel anzuzeigen
Hinweis : Hier driver-nameist der Name Ihres gewünschten Blacklist-Treibers. Wenn Sie beispielsweise den NIC-Kartentreiber deaktivieren möchten, können Sie den Namen des Kerneltreibers für Ihre LAN-Karte mithilfe des Befehls lspci -vcommand in einem Terminal ermitteln.
Zum Beispiel war meine Ausgabe:
........
........
Ethernet-Controller 6: 00.0: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (Version 02)
Subsystem: Lenovo Gerät 3861
Flags: Busmaster, Fast Devsel, Latenz 0, IRQ 46
Speicher bei b8000000 (64-Bit, nicht vorab abrufbar) [Größe = 64 KB]
Erweiterungs-ROM bei [deaktiviert]
Fähigkeiten:
Verwendeter Kerneltreiber: tg3
Kernelmodule: tg3
........
........
Hier sehe ich den Fahrer tg3. Sie müssen also tg3(oder Ihren Fahrer) an die Stelle von schreiben driver-name.
In meinem Fall ( Lubuntu 12.10) gibt es keine /etc/modprobe.d/blacklistDatei. Es gibt eine /etc/modprobe.d/blacklist.confDatei
Abdull
1
Es ist besser, Module, die von einem Benutzer auf die schwarze Liste gesetzt wurden, in einer separaten Datei zu speichern, um Konflikte während des Upgrades zu vermeiden (siehe diesen Kommentar bei serverfault ).
Alexander Pozdneev
1
Die blacklist.confDatei muss nicht existieren. Sie könnten eine Datei mit dem Namen my-mom-is-awesomedort ablegen, und es würde funktionieren. Erstelle einen beliebigen Namen, wenn du eine bestimmte Datei erstellen willst, nur um eine bestimmte Sache auf die schwarze Liste zu setzen, wie blacklist-nouveauoder was auch immer.
Doug65536
@ doug65536 Diese Frage wurde vor 7 Jahren gestellt, natürlich werden sich die Dinge ändern. Erstellen Sie einfach eine neue Frage mit der Ubuntu-Version, die Sie haben, damit die Leute Ihnen helfen können
LnxSlck
@LnxSlck Ich habe die Verwirrung angesprochen, die in früheren Kommentaren geäußert wurde. Ich wollte keine Hilfe. Was ist mit der Besessenheit, nicht auf ältere Inhalte zu posten? Lass es einfach verrotten? Die Leute finden das immer noch und andere werden die gleichen Fragen haben, die ich angesprochen habe.
Doug65536
28
Sie können sie auch vorübergehend in der Grub-Befehlszeile (Linux-Zeile) auf die Blacklist setzen, wenn Sie mit der Syntax booten
Wie lange ist das "vorübergehend"? Bis zum nächsten Boot?
Seth
1
Seth, es ist nur für den einzelnen Boot temporär, wenn Sie während des Bootens bearbeitet haben. Wenn Sie mit /etc/grub.d/scripts oder / etc / default / grub bearbeiten, ist dies permanent.
Peter
1
Offenbar dies nicht funktioniert für i915: i915: unknown parameter 'blacklist' ignored.
Rafał Cieślak
5
Was ist der Unterschied zwischen diesem und modprobe.blacklist=module_to_blacklist?
Zaz,
4
Oder verwenden Sie den Kernel-Parameter modprobe.blacklist=module_to_blacklist(siehe man modprobefür Details)
Karl Richter
11
Eine andere Möglichkeit, Module in mindestens Ubuntu 16.04 LTS auf die Blacklist zu setzen, besteht darin, der Kernel-Befehlszeile die folgende Zeile hinzuzufügen:
modprobe.blacklist=MODULE_NAME
Die Verwendung des / etc / modprobe-Systems ist der beste Weg, aber dies ist eine Alternative, die zur Not verwendet werden kann, indem Sie Ihre GRUB-Befehlszeile beim Booten bearbeiten.
Dies kann auch dauerhaft gemacht werden, indem / etc / default / grub bearbeitet und der GRUB_CMDLINE_LINUX_DEFAULTVariablen hinzugefügt wird. Zum Beispiel habe ich in meiner / etc / default / grub:
Dann renne ich update-grub2dann update-initramfs -u. Nach einem Neustart sind Sie frei von dem Modul, solange es nach dem Start nicht geladen wird.
Diese Methode funktioniert auch in EL-Varianten (RHEL, CentOS, SciLinux), aber Sie müssen die Methoden dieser Distribution verwenden, um grub und die initrd zu aktualisieren.
(Hinweis für diejenigen, die versuchen, Nouveau auf die schwarze Liste zu setzen: Stellen Sie sicher, dass X nicht durch Ausführen geladen wird systemctl set-default multi-user.target. Andernfalls wird Nouveau beim Starten von X erneut geladen!)
Das ist sehr hilfreich. Es stellt sich heraus, dass auch bei einem Blacklist-Eintrag in /etc/modprobe/blacklist.confdas Modul noch manuell mit geladen werden kann modprobe <module_name>. Wenn Sie die install <module_name> /bin/falseMethode verwenden, schlägt dies wie gewünscht fehl.
RawwrBag
3
Keine dieser Lösungen funktionierte auf 16.04 LTS für i915.ko.
Die (schmutzige) Lösung, die ich gefunden habe, war das Umbenennen
Antworten:
Öffnen Sie einfach Ihre
/etc/modprobe.d/blacklist
Datei und fügen Sie den Treibernamen mit folgender Syntax hinzu:BEARBEITEN: In späteren Versionen seit 12.10 (12.04?) Ist die Datei
/etc/modprobe.d/blacklist.conf
Starten Sie Ihre Box neu und verwenden Sie den Befehl lsmod, um den Status der Module im Linux-Kernel anzuzeigen
Hinweis : Hier
driver-name
ist der Name Ihres gewünschten Blacklist-Treibers. Wenn Sie beispielsweise den NIC-Kartentreiber deaktivieren möchten, können Sie den Namen des Kerneltreibers für Ihre LAN-Karte mithilfe des Befehlslspci -v
command in einem Terminal ermitteln.Zum Beispiel war meine Ausgabe:
Hier sehe ich den Fahrer
tg3
. Sie müssen alsotg3
(oder Ihren Fahrer) an die Stelle von schreibendriver-name
.Viele Informationen finden Sie hier .
quelle
Lubuntu 12.10
) gibt es keine/etc/modprobe.d/blacklist
Datei. Es gibt eine/etc/modprobe.d/blacklist.conf
Dateiblacklist.conf
Datei muss nicht existieren. Sie könnten eine Datei mit dem Namenmy-mom-is-awesome
dort ablegen, und es würde funktionieren. Erstelle einen beliebigen Namen, wenn du eine bestimmte Datei erstellen willst, nur um eine bestimmte Sache auf die schwarze Liste zu setzen, wieblacklist-nouveau
oder was auch immer.Sie können sie auch vorübergehend in der Grub-Befehlszeile (Linux-Zeile) auf die Blacklist setzen, wenn Sie mit der Syntax booten
quelle
i915: unknown parameter 'blacklist' ignored
.modprobe.blacklist=module_to_blacklist
?modprobe.blacklist=module_to_blacklist
(sieheman modprobe
für Details)Eine andere Möglichkeit, Module in mindestens Ubuntu 16.04 LTS auf die Blacklist zu setzen, besteht darin, der Kernel-Befehlszeile die folgende Zeile hinzuzufügen:
Die Verwendung des / etc / modprobe-Systems ist der beste Weg, aber dies ist eine Alternative, die zur Not verwendet werden kann, indem Sie Ihre GRUB-Befehlszeile beim Booten bearbeiten.
Dies kann auch dauerhaft gemacht werden, indem / etc / default / grub bearbeitet und der
GRUB_CMDLINE_LINUX_DEFAULT
Variablen hinzugefügt wird. Zum Beispiel habe ich in meiner / etc / default / grub:Dann renne ich
update-grub2
dannupdate-initramfs -u
. Nach einem Neustart sind Sie frei von dem Modul, solange es nach dem Start nicht geladen wird.Diese Methode funktioniert auch in EL-Varianten (RHEL, CentOS, SciLinux), aber Sie müssen die Methoden dieser Distribution verwenden, um grub und die initrd zu aktualisieren.
(Hinweis für diejenigen, die versuchen, Nouveau auf die schwarze Liste zu setzen: Stellen Sie sicher, dass X nicht durch Ausführen geladen wird
systemctl set-default multi-user.target
. Andernfalls wird Nouveau beim Starten von X erneut geladen!)quelle
In neueren Versionen müssen Sie die Installationsanweisung in Ihrer Blacklist-Datei verwenden
Ersetzen Sie "Modulname" oben durch den Namen des Moduls. Dadurch wird das Laden gewaltsam verhindert.
Weitere Informationen zur Installationsanweisung finden Sie im Handbuch zu modprobe.conf
quelle
/etc/modprobe/blacklist.conf
das Modul noch manuell mit geladen werden kannmodprobe <module_name>
. Wenn Sie dieinstall <module_name> /bin/false
Methode verwenden, schlägt dies wie gewünscht fehl.Keine dieser Lösungen funktionierte auf 16.04 LTS für i915.ko.
Die (schmutzige) Lösung, die ich gefunden habe, war das Umbenennen
Leider wird der externe VGA-Bildschirm nicht mehr erkannt: {
quelle
sudo update-initramfs -u
nach dem Ändern von /etc/modeprobe.d/ Dateien