15.04から15.10にアップグレードしたばかりで、ブートプロセス中に、一部のモジュールのロードに失敗したというエラーが表示されるようになりました。だから私はsystemctl status -l systemd-modules-load.service
を実行し、これを得た:
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Inserted module 'option'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: could not find module by name='off'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Failed to insert 'off': Function not implemented
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: could not find module by name='off'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Failed to insert 'off': Function not implemented
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Inserted module 'cuse'
Oct 24 12:22:23 ubuntu systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Oct 24 12:22:23 ubuntu systemd[1]: Failed to start Load Kernel Modules.
Oct 24 12:22:23 ubuntu systemd[1]: systemd-modules-load.service: Unit entered failed state.
Oct 24 12:22:23 ubuntu systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
cat /etc/modules
を実行すると、
loop
lp
usbserial
option
nouveau
nouveau
nouveauモジュールの1つをコメントアウトしようとしましたが、役に立ちませんでした。
Launchpadで bug を見つけましたが、これは同様のメッセージを出しますが、私の問題はrtc
モジュール(リンクされたバグの犯人)によって引き起こされているようには見えません。
誰が私が何を試してみるべきか考えていますか?
編集:詳細を追加:
cat /lib/systemd/system/systemd-modules-load.service
は
[Unit]
Description=Load Kernel Modules
Documentation=man:systemd-modules-load.service(8) man:modules-load.d(5)
DefaultDependencies=no
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
ConditionCapability=CAP_SYS_MODULE
ConditionDirectoryNotEmpty=|/lib/modules-load.d
ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d
ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d
ConditionDirectoryNotEmpty=|/etc/modules-load.d
ConditionDirectoryNotEmpty=|/run/modules-load.d
ConditionKernelCommandLine=|modules-load
ConditionKernelCommandLine=|rd.modules-load
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/systemd/systemd-modules-load
TimeoutSec=90s
cat /etc/modules-load.d/modules.conf
は、上記のcat /etc/modules/
と同じ出力を提供します。
/etc/modules
ファイル内のnouveaの両方の行をコメントアウト(「#」文字を使用)することで解決しました。
問題は、Nouveauをブラックリストに登録し、16.04 AMD64に/etc/alternatives/x86_64-linux-gnu_nvidia_modconf
をインストールした後、nvidia-304-updates
でエイリアスをオフにしたためと思われます。
この構成では、以下を使用して、シーケンスがnouveauドライバーに切り替わるのを禁止します。
rmmod nvidia
modprobe nouveau
犯人のコメントを外すと、再起動せずにnvidiaグラフィックカードのドライバーを変更できます。 nouveauドライバーは適切にロードされます(ただし、ユニティランチャーまたはダッシュは表示されません)。
サービスから完全なログを取得するには、使用することもできます
journalctl -u systemd-modules-load.service
おそらく、/ etc/modules(または/etc/modules-load.d/)に、存在しないか壊れているモジュールを参照する何かがあるのでしょうか?
/ etc/modulesから削除すると、問題が解決します。
更新を実行してからアップグレードすると、失敗したロードモジュールに関する問題が解決します。
Sub-process /usr/bin/dpkg returned an error code (1)" error [duplicate]
Sudo apt-get update
Sudo apt-get upgrade
幸運を