しばらくの間、起動中に赤いテキストが点滅するのを見ました。今日私はそれを調べることにしました。 systemctlサービスsystemd-modules-load.service
は次のテキストで失敗しています:
tomas @ bonus-debian:〜$ Sudo systemctl status systemd-modules-load ●systemd-modules-load.service-Load Kernel Modules Loaded:loaded(/ lib/systemd/system/systemd -modules-load.service; static;ベンダープリセット:有効) アクティブ:失敗しました(結果:終了コード)。 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) Main PID:644(code = exited、status = 1/FAILURE) nov。 09 02:58:48ボーナス-debian systemd [1]:ロードカーネルモジュールを開始しています... 11月09 02:58:48ボーナス-debian systemd-modules-load [644]:モジュール '-r usbhid' novが見つかりませんでした。 09 02:58:48ボーナス-debian systemd [1]:systemd-modules-load.service:メインプロセスが終了しました、コード=終了、ステータス= 1/FAILURE 革新。 09 02:58:48ボーナス-debian systemd [1]:カーネルモジュールのロードを開始できませんでした。 nov。 09 02:58:48ボーナス-debian systemd [1]:systemd-modules-load.service:ユニットは障害状態に入りました。 11月09 02:58:48ボーナス-debian systemd [1]:systemd-modules-load.service:結果「exit-code」で失敗しました。
私は問題をグーグルすることから始めると思いました:
痛い。
エクスペリエンスの低下に気づかなかったため、私のシステムはドライバーのロードに失敗したことを気にしていませんが、それでも修正したいと思います。
グーグルのおかげでどこにも行けなくなったので、もう行き詰まっている。どこから始めればいいのかわかりません。
systemctlサービス「systemd-modules-load」が失敗する理由を理解するにはどうすればよいですか?
私もこの問題を抱えていました。 Arch Linux systemd wiki page の指示に従うことで解決できました。これが私がしたことの要約です:
起動に失敗したsystemdサービスを見つけましょう
$ systemctl --failed
------------------------------------------------------------------------
systemd-modules-load.service loaded failed failed Load Kernel Modules
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
これで、このエラーを詳細に調査するためのプロセス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'
カーネルモジュール構成の一部に誤った設定があることがわかります。したがって、/ 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
...
Failed to find module 'blacklist usblp'エラーメッセージは、blacklist.conf内の誤った設定に関連している可能性があります。手順3で見つけた各オプションの前に#を挿入して非アクティブ化します。
/etc/modules-load.d/blacklist.conf
----------------------------------------------------------------------
# blacklist usblp
# install usblp /bin/false
次に、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.