Come faccio a capire perché il servizio systemctl "systemd-modules-load" fallisce?


27

Per qualche tempo ho visto del testo rosso lampeggiare durante l'avvio. Oggi ho deciso di esaminarlo. Il servizio systemctl systemd-modules-load.servicenon riesce con questo testo:

tomas @ bonus-debian: ~ $ sudo systemctl status systemd-modules-load
● systemd-modules-load.service - Carica i moduli del kernel
   Caricato: caricato (/lib/systemd/system/systemd-modules-load.service; statico; preimpostazione fornitore: abilitato)
   Attivo: non riuscito (Risultato: codice di uscita) da ma. 2015-11-09 02:58:48 CET; 5min fa
     Documenti: man: systemd-modules-load.service (8)
           man: moduli-load.d (5)
  Processo: 644 ExecStart = / lib / systemd / systemd-modules-load (codice = uscito, stato = 1 / FAILURE)
 PID principale: 644 (codice = uscito, stato = 1 / GUASTO)

novembre 09 02:58:48 bonus-debian systemd [1]: avvio del caricamento dei moduli del kernel ...
novembre 09 02:58:48 bonus-debian systemd-modules-load [644]: Impossibile trovare il modulo '-r usbhid'
novembre 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: processo principale chiuso, codice = uscito, stato = 1 / GUASTO
novembre 09 02:58:48 bonus-debian systemd [1]: Impossibile avviare Load Kernel Modules.
novembre 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: unità inserita in stato non riuscito.
novembre 09 02:58:48 bonus-debian systemd [1]: systemd-modules-load.service: errore con il codice 'exit-code'.

Ho pensato di iniziare con Google il problema:

Immagine dello schermo

Ahia.

Il mio sistema non sembra preoccuparsi del mancato caricamento del driver, poiché non ho notato un'esperienza degradata, ma mi piacerebbe comunque correggerlo.

Da quando Google non mi ha portato da nessuna parte, sono già bloccato. Non ho idea di dove iniziare a cercare.

Come faccio a capire perché il servizio systemctl "systemd-modules-load" fallisce?


Hai cambiato una udevregola, per caso?
MariusMatutiae,

Puoi controllare journalctl per i registri? Sta cercando di caricare un modulo chiamato "-r usbhid"?
cristi,

Risposte:


40

Anch'io ho avuto questo problema. Sono stato in grado di risolverlo seguendo le istruzioni sulla pagina wiki di System Linux di Arch Linux . Ecco un riassunto di quello che ho fatto:

  1. Consente di trovare i servizi di systemd che non si avviano

    $ systemctl --failed  
    ------------------------------------------------------------------------
    systemd-modules-load.service   loaded failed failed  Load Kernel Modules
    
  2. Ok, abbiamo riscontrato un problema con il servizio di caricamento dei moduli di systemd. Vogliamo saperne di più.

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

    Se l'ID processo non è elencato, è sufficiente riavviare il servizio non riuscito con

    $ systemctl restart systemd-modules-load
    
  3. Ora abbiamo l'ID di processo (PID) per approfondire questo errore. Immettere il comando seguente con l'ID processo corrente (qui: 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. Vediamo che alcune delle configurazioni del modulo del kernel hanno impostazioni errate. Pertanto diamo un'occhiata a queste impostazioni in /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. Il messaggio di errore Impossibile trovare il modulo "blacklist usblp" potrebbe essere correlato a un'impostazione errata all'interno di blacklist.conf. Consente di disattivarlo inserendo un # finale prima di ogni opzione trovata tramite il passaggio 3:

    /etc/modules-load.d/blacklist.conf  
    ----------------------------------------------------------------------
    # blacklist usblp  
    # install usblp /bin/false  
    
  6. Ora, prova ad avviare systemd-modules-load:

    $ systemctl restart systemd-modules-load  
    

    Se ha avuto successo, questo non dovrebbe richiedere nulla. Se vedi qualche errore, torna al passaggio 3 e usa il nuovo PID per risolvere gli errori rimasti.

    Se tutto è a posto, puoi verificare che il servizio sia stato avviato correttamente con:

    $ 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
Ottima risposta - _PID=ora sarà per sempre nella mia cassetta degli attrezzi. Grazie!
Adrian Günter,

1
Sfortunatamente, il mio /etc/modules-load.d/è vuoto e dice ancora Impossibile trovare il modulo blah . E adesso?
Adrian,

2
Potresti anche voler dare un'occhiata journalctl _SYSTEMD_UNIT=systemd-modules-load.service. Salva cercando il PID.
Due giorni

2
Da utente bobafetthotmail : guardare anche a /usr/lib/modules-load.d/per i moduli di caricamento dei file, in quanto v'è dove le applicazioni collocano i moduli di cui hanno bisogno. La /etc/modules-load.d/si doveva essere per i file di configurazione utente.
fixer1234
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.