Wie finde ich heraus, warum der systemctl-Dienst "systemd-modules-load" fehlschlägt?

26

Seit einiger Zeit sehe ich einen roten Text beim Booten. Heute habe ich beschlossen, mich damit zu befassen. Der systemctl-Dienst schlägt systemd-modules-load.servicemit folgendem Text fehl :

tomas @ bonus-debian: ~ $ sudo systemctl status systemd-modules-load
● systemd-modules-load.service - Kernel-Module laden
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; Herstellervoreinstellung: enabled)
   Aktiv: fehlgeschlagen (Ergebnis: Exit-Code) seit ma. 2015-11-09 02:58:48 CET; Vor 5min
     Docs: man: systemd-modules-load.service (8)
           man: modules-load.d (5)
  Prozess: 644 ExecStart = / lib / systemd / systemd-modules-load (Code = beendet, Status = 1 / FAILURE)
 Haupt-PID: 644 (Code = Verlassen, Status = 1 / FEHLER)

nov. 09 02:58:48 bonus-debian systemd [1]: Laden von Kernel-Modulen starten ...
nov. 09 02:58:48 bonus-debian systemd-modules-load [644]: Das Modul '-r usbhid' konnte nicht gefunden werden
nov. 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: Hauptprozess beendet, Code = beendet, Status = 1 / FAILURE
nov. 09 02:58:48 bonus-debian systemd [1]: Fehler beim Starten von Load Kernel Modules.
nov. 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: Die Einheit ist in den Fehlerzustand eingetreten.
nov. 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: Fehler beim Ergebnis 'exit-code'.

Ich dachte, ich würde damit anfangen, das Problem zu googeln:

Bildschirmfoto

Autsch.

Meinem System scheint es nichts auszumachen, dass der Treiber nicht geladen werden konnte, da ich keine Beeinträchtigung festgestellt habe, es aber dennoch beheben möchte.

Da Google mich nirgendwo hin gebracht hat, stecke ich schon fest. Ich habe keine Ahnung, wo ich anfangen soll.

Wie finde ich heraus, warum der systemctl-Dienst "systemd-modules-load" fehlschlägt?

Hubro
quelle
Haben Sie udevzufällig eine Regel geändert ?
MariusMatutiae
Können Sie journalctl für die Protokolle einchecken? Versucht es, ein Modul mit dem Namen "-r usbhid" zu laden?
Cristi

Antworten:

39

Ich hatte auch dieses Problem. Ich konnte es lösen, indem ich den Anweisungen auf der Wiki-Seite Arch Linux systemd folgte . Hier ist eine Zusammenfassung dessen, was ich getan habe:

  1. Lässt die systemd-Dienste finden, die nicht gestartet werden können

    $ systemctl --failed  
    ------------------------------------------------------------------------
    systemd-modules-load.service   loaded failed failed  Load Kernel Modules
    
  2. Ok, wir haben ein Problem mit dem Systemd-Module-Load-Service gefunden. Wir wollen mehr wissen.

    $ systemctl status systemd-modules-load  
    ------------------------------------------------------------------------
    systemd-modules-load.service - Load Kernel Modules      
       Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)     
       Active: failed (Result: exit-code) since So 2013-08-25 11:48:13 CEST; 32s ago  
         Docs: man:systemd-modules-load.service(8).  
               man:modules-load.d(5)
      Process: 15630 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
    

    Wenn die Prozess-ID nicht aufgeführt ist, starten Sie den fehlgeschlagenen Dienst einfach mit neu

    $ systemctl restart systemd-modules-load
    
  3. Jetzt haben wir die Prozess-ID (PID), um diesen Fehler eingehend zu untersuchen. Geben Sie den folgenden Befehl mit der aktuellen Prozess-ID ein (hier: 15630):

    $ journalctl _PID=15630
    ----------------------------------------------------------------------
    -- Logs begin at Sa 2013-05-25 10:31:12 CEST, end at So 2013-08-25 11:51:17 CEST. --
    Aug 25 11:48:13 mypc systemd-modules-load[15630]: Failed to find module 'blacklist usblp'
    Aug 25 11:48:13 mypc systemd-modules-load[15630]: Failed to find module 'install usblp /bin/false'
    
  4. Wir sehen, dass einige der Kernelmodul-Konfigurationen falsche Einstellungen haben. Daher schauen wir uns diese Einstellungen in /etc/modules-load.d/ an.

    $ ls -Al /etc/modules-load.d/
    ----------------------------------------------------------------------
    ...  
    -rw-r--r--   1 root root    79  1. Dez 2012  blacklist.conf  
    -rw-r--r--   1 root root     1  2. Mär 14:30 encrypt.conf  
    -rw-r--r--   1 root root     3  5. Dez 2012  printing.conf  
    -rw-r--r--   1 root root     6 14. Jul 11:01 realtek.conf  
    -rw-r--r--   1 root root    65  2. Jun 23:01 virtualbox.conf  
    ...  
    
  5. Die Fehlermeldung 'blacklist usblp' des Moduls konnte nicht gefunden werden hängt möglicherweise mit einer falschen Einstellung in der Datei blacklist.conf zusammen. Deaktivieren wir es, indem wir vor jeder Option, die wir in Schritt 3 gefunden haben, ein abschließendes # einfügen:

    /etc/modules-load.d/blacklist.conf  
    ----------------------------------------------------------------------
    # blacklist usblp  
    # install usblp /bin/false  
    
  6. Versuchen Sie nun, systemd-modules-load zu starten:

    $ systemctl restart systemd-modules-load  
    

    Wenn es erfolgreich war, sollte dies nichts auffordern. Wenn Sie einen Fehler sehen, gehen Sie zu Schritt 3 zurück und verwenden Sie die neue PID, um die verbleibenden Fehler zu beheben.

    Wenn alles in Ordnung ist, können Sie überprüfen, ob der Dienst erfolgreich gestartet wurde mit:

    $ systemctl status systemd-modules-load
    ----------------------------------------------------------------------
    systemd-modules-load.service - Load Kernel Modules
       Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
       Active: active (exited) since So 2013-08-25 12:22:31 CEST; 34s ago
         Docs: man:systemd-modules-load.service(8)
               man:modules-load.d(5)
     Process: 19005 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
    Aug 25 12:22:31 mypc systemd[1]: Started Load Kernel Modules.
    
Rahul Khimasia
quelle
5
Tolle Antwort - _PID=wird jetzt für immer in meiner Toolbox sein. Vielen Dank!
Adrian Günter
1
Leider ist mein /etc/modules-load.d/Modul leer und es wird immer noch "Modul blah nicht gefunden" angezeigt . Was jetzt?
Adrian
2
Vielleicht möchten Sie auch auschecken journalctl _SYSTEMD_UNIT=systemd-modules-load.service. Spart das Nachschlagen der PID.
TwoD
2
Vom Benutzer bobafetthotmail : Suchen Sie auch /usr/lib/modules-load.d/nach Dateien, die Module laden, da dort, wo Anwendungen die Module platzieren, die sie benötigen. Das /etc/modules-load.d/soll für User Konfigurationsdateien sein.
Fixer1234