systemctlサービスの「systemd-modules-load」が失敗する理由を調べるにはどうすればよいですか?


27

しばらくの間、起動中に赤いテキストが点滅するのを見てきました。今日、私はそれを調べることにしました。systemctlサービスsystemd-modules-load.serviceは次のテキストで失敗します:

tomas @ bonus-debian:〜$ sudo systemctl status systemd-modules-load
●systemd-modules-load.service-カーネルモジュールのロード
   ロード済み:ロード済み(/lib/systemd/system/systemd-modules-load.service; static;ベンダープリセット:有効)
   アクティブ:失敗(結果:exit-code)ma以降。2015-11-09 02:58:48 CET; 5分前
     ドキュメント:man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  プロセス:644 ExecStart = / lib / systemd / systemd-modules-load(code = exited、status = 1 / FAILURE)
 メインPID:644(code = exited、status = 1 / FAILURE)

11月 09 02:58:48 bonus-debian systemd [1]:カーネルモジュールのロードの開始...
11月 09 02:58:48 bonus-debian systemd-modules-load [644]:モジュール '-r usbhid'が見つかりませんでした
11月 09 02:58:48 bonus-debian systemd [1]:systemd-modules-load.service:メインプロセスが終了しました。コード= exited、ステータス= 1 / FAILURE
11月 09 02:58:48 bonus-debian systemd [1]:カーネルモジュールのロードの開始に失敗しました。
11月 09 02:58:48 bonus-debian systemd [1]:systemd-modules-load.service:ユニットは障害状態になりました。
11月 09 02:58:48 bonus-debian systemd [1]:systemd-modules-load.service:結果「exit-code」で失敗しました。

私は問題をグーグルで始めることから始めようと思った:

スクリーンショット

痛い。

私のシステムは、ドライバーのロードに失敗したことを気にしていないようです。これは、ユーザーエクスペリエンスの低下に気付いていないためですが、修正したいと思っています。

Googleがどこにも行かないので、もう行き詰まっています。どこから探し始めればいいのかわかりません。

systemctlサービス「systemd-modules-load」が失敗する理由を調べるにはどうすればよいですか?


udevルールを変更しましたか?
MariusMatutiae

journalctlでログを確認できますか?「-r usbhid」という名前のモジュールをロードしようとしていますか?
クリスティ

回答:


40

私もこの問題を抱えていました。Arch Linux systemd wikiページの指示に従うことで解決できました。ここに私がやったことの要約があります:

  1. 起動に失敗したsystemdサービスを見つけましょう

    $ systemctl --failed  
    ------------------------------------------------------------------------
    systemd-modules-load.service   loaded failed failed  Load Kernel Modules
    
  2. OK、systemd-modules-loadサービスに問題が見つかりました。もっと知りたい。

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

    プロセスIDがリストにない場合は、失敗したサービスを再起動します

    $ systemctl restart systemd-modules-load
    
  3. これで、このエラーを詳細に調査するためのプロセスID(PID)が得られました。現在のプロセスID(ここでは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. 一部のカーネルモジュールの設定に誤った設定があることがわかります。したがって、これらの設定は/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. モジュール 'blacklist usblp'の検索に失敗したというエラーメッセージは、blacklist.conf内の設定が間違っている可能性があります。手順3で見つかった各オプションの前に末尾に#を挿入して、非アクティブ化します。

    /etc/modules-load.d/blacklist.conf  
    ----------------------------------------------------------------------
    # blacklist usblp  
    # install usblp /bin/false  
    
  6. さて、systemd-modules-loadを起動してみてください:

    $ systemctl restart systemd-modules-load  
    

    成功した場合、これは何もプロンプトを出しません。エラーが表示された場合は、手順3に戻り、残っているエラーを解決するために新しいPIDを使用します。

    すべてが問題ない場合、次のコマンドでサービスが正常に開始されたことを確認できます。

    $ 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
すばらしい答え– _PID=これからもずっと私のツールボックスにあります。ありがとう!
エイドリアンギュンター

1
残念ながら、私の/etc/modules-load.d/空は、まだモジュールblahを見つけることができませんでした。今何?
エイドリアン

2
また、チェックアウトすることもできjournalctl _SYSTEMD_UNIT=systemd-modules-load.serviceます。PIDの検索を保存します。
TwoD

2
ユーザーbobafetthotmailから:/usr/lib/modules-load.d/アプリケーションが必要なモジュールを配置する場所があるので、モジュールをロードするファイルも調べてください。これ/etc/modules-load.d/は、ユーザー構成ファイル用です。
fixer1234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.