启动时无法加载模块:无法找到名为“off”的模块

启动时无法加载模块:无法找到名为“off”的模块

我刚刚从 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

我试图注释掉其中一个模块,但没有帮助。

我发现了一个漏洞在 Launchpad 上出现了类似的消息,但我的问题似乎不是由模块引起的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.confcat /etc/modules/给出与上面列出的相同的输出。

答案1

通过注释掉(使用“#”字符)这两行来解决/etc/modules文件中。

答案2

进行更新然后升级可以解决我加载模块失败的问题尽管我得到了

Sub-process /usr/bin/dpkg returned an error code (1)" error [duplicate]

sudo apt-get update
sudo apt-get upgrade

祝你好运

答案3

问题似乎是由于在 16.04 amd64 中/etc/alternatives/x86_64-linux-gnu_nvidia_modconf安装后将nouveau 列入黑名单并将其别名为 off 所致。nvidia-304-updates

该配置通过使用以下命令来禁止切换到 nouveau 驱动程序的序列:

rmmod nvidia
modprobe nouveau

取消注释罪魁祸首可以更改 nvidia 显卡的驱动程序而无需重新启动。然后 nouveau 驱动程序可以正确加载(但仍然没有显示 unity 启动器或 dash)。

答案4

我必须这样做:

sudo apt-get purge $(dpkg -l | grep nvidia | cut -f3 -d' ' | tr '\n' ' ')

相关内容