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?

Hubro
la source
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.
    
Rahul Khimasia
la source
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