Comment savoir pourquoi le service systemctl «systemd-modules-load» échoue?


27

Pendant un certain temps, j'ai vu du texte rouge clignoter pendant le démarrage. Aujourd'hui, j'ai décidé de m'y intéresser. Le service systemctl systemd-modules-load.serviceéchoue avec ce texte:

tomas @ bonus-debian: ~ $ sudo systemctl status systemd-modules-load
● systemd-modules-load.service - Charger les modules du noyau
   Chargé: chargé (/lib/systemd/system/systemd-modules-load.service; statique; préréglage fournisseur: activé)
   Actif: échoué (résultat: code de sortie) depuis ma. 2015-11-09 02:58:48 CET; Il y a 5min
     Documents: man: systemd-modules-load.service (8)
           man: modules-load.d (5)
  Processus: 644 ExecStart = / lib / systemd / systemd-modules-load (code = quitté, status = 1 / FAILURE)
 PID principal: 644 (code = quitté, statut = 1 / FAILURE)

nov. 09 02:58:48 bonus-debian systemd [1]: Démarrage de Load Kernel Modules ...
nov. 09 02:58:48 bonus-debian systemd-modules-load [644]: Impossible de trouver le module '-r usbhid'
nov. 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: Processus principal terminé, code = quitté, statut = 1 / ÉCHEC
nov. 09 02:58:48 bonus-debian systemd [1]: échec du démarrage du chargement des modules du noyau.
nov. 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: L'unité est entrée en état d'échec.
nov. 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: échec avec le résultat 'exit-code'.

Je pensais commencer par googler le problème:

Capture d'écran

Aie.

Mon système ne semble pas s'inquiéter du fait que le pilote n'a pas pu se charger, car je n'ai pas remarqué une expérience dégradée, mais j'aimerais toujours y remédier.

Depuis que Google ne m'a mené nulle part, je suis déjà coincé. Je ne sais pas par où commencer.

Comment puis-je comprendre pourquoi le service systemctl "systemd-modules-load" échoue?


Avez-vous changé une udevrègle, par hasard?
MariusMatutiae

Pouvez-vous vérifier dans journalctl les journaux? Essaie-t-il de charger un module nommé "-r usbhid"?
cristi

Réponses:


40

Moi aussi, j'ai eu ce problème. J'ai pu le résoudre en suivant les instructions de la page wiki Arch Linux systemd . Voici un résumé de ce que j'ai fait:

  1. Permet de trouver les services systemd qui ne parviennent pas à démarrer

    $ systemctl --failed  
    ------------------------------------------------------------------------
    systemd-modules-load.service   loaded failed failed  Load Kernel Modules
    
  2. Ok, nous avons trouvé un problème avec le service systemd-modules-load. Nous voulons en savoir plus.

    $ 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)
    

    Si l'ID de processus n'est pas répertorié, redémarrez simplement le service ayant échoué avec

    $ systemctl restart systemd-modules-load
    
  3. Nous avons maintenant l'ID de processus (PID) pour étudier cette erreur en profondeur. Entrez la commande suivante avec l'ID de processus actuel (ici: 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. Nous voyons que certaines configurations du module du noyau ont des paramètres incorrects. Par conséquent, nous jetons un œil à ces paramètres dans /etc/modules-load.d/

    $ 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. Le message d'erreur Échec de la recherche du module 'blacklist usblp' peut être lié à un paramètre incorrect à l'intérieur de blacklist.conf. Permet de le désactiver en insérant un # de fin avant chaque option trouvée à l'étape 3:

    /etc/modules-load.d/blacklist.conf  
    ----------------------------------------------------------------------
    # blacklist usblp  
    # install usblp /bin/false  
    
  6. Maintenant, essayez de démarrer systemd-modules-load:

    $ systemctl restart systemd-modules-load  
    

    S'il a réussi, cela ne devrait rien provoquer. Si vous voyez une erreur, revenez à l'étape 3 et utilisez le nouveau PID pour résoudre les erreurs restantes.

    Si tout va bien, vous pouvez vérifier que le service a été démarré avec succès avec:

    $ 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.
    

5
Excellente réponse - _PID=sera désormais à jamais dans ma boîte à outils. Merci!
Adrian Günter

1
Malheureusement, mon /etc/modules-load.d/est vide et il indique toujours Échec de la recherche du module blah . Et maintenant?
Adrian

2
Vous pouvez également vouloir vérifier journalctl _SYSTEMD_UNIT=systemd-modules-load.service. Enregistre la recherche du PID.
TwoD

2
De l'utilisateur bobafetthotmail : recherchez également /usr/lib/modules-load.d/les modules de chargement de fichiers, car il y a où les applications placent les modules dont ils ont besoin. Le /etc/modules-load.d/est censé être pour les fichiers de configuration utilisateur.
fixer1234
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.