启动内核模块失败后该怎么办

我试图从Ubuntu 14.04升级我的系统。我的笔记本电脑冻结了几个小时。连指针都没有动。所以我按住电源按钮关机了几秒钟。 这个未完成的安装是问题的根源。 当我重新启动系统时,grub出现,然后显示以下消息:
[FAILED] Failed to start Load Kernel Modules
See 'systemctl status systemd-modules-load.service' for details

还有一些以最后一个字符结尾的其他行:
Failed to start Load Kernel Modules

image

当我按下CTRL+ALT+F1打开命令行时,我可以输入内容。
sudo systemctl status systemd-modules-load.service

我得到以下输出:

status systemd-modules-load.service

image

如果我重复使用systemctl命令,有时会得到其他进程而不是179,例如183。

以防万一需要的话,

sudo ls /lib/systemd/system/systemd-modules-load.service

给我
/lib/system/systemd-modules-load

(written in green)

journalctl

输出了大量的数据。红线是以下几个:

第一条红线:

image

第二和第三条红线:

image

第四个红线:

image

我非常感激在这里得到一点帮助。我不知道接下来该怎么做,我已经搜索了网络,但什么都没有找到。
7个回答

我在ubuntuforums.org的讨论中找到了我需要的东西。具体来说,我正在寻找以下命令:

dpkg --configure -a
上面链接的文章提到了四个可能有助于解决这个问题的命令,并指出它们可能需要“无特定顺序”重复执行。
apt-get update
dpkg --configure -a
apt-get dist-upgrade
apt-get -f install

4这篇链接的文章让我有点困惑,因为它的第一个命令(apt-get update)没有起作用。但是你指出文章的第二个命令(dpkg --configure -a)解决了问题。现在我的机器恢复正常了(我也不再被手机限制),我看到文章建议这些命令可能需要“无特定顺序”重复执行。以防那篇文章消失,另外两个命令是apt-get dist-upgradeapt-get -f install - Steve
我只想补充一下,我正在使用Gem 5进行工作,并且尝试引导Ubuntu 16.04.1/3(服务器)的磁盘映像。虽然在QEMU中引导正常,但在Gem 5的完整系统模式下运行时出现了这个错误。我相信这个解决方案对其他人有效,但在我的情况下并没有修复问题。 - user694859
apt-get update只需要在apt-get dist-upgrade之前运行。如果你不知道自己在做什么,尤其是当dpkg --configure -a已经适用于你时,应避免运行dist-up同样地,只grade。有作为最后的手段时才使用apt-get -f install,因为它可能会严重破坏你的系统。 - virtualxtc
我正在将Ubuntu 18.04升级到20.04,同时也遇到了这个问题,另一方面也无法连接到互联网。这个命令需要互联网连接才能运行吗? - Tri

我有一种印象,更新/内核更新出了问题:

进入恢复模式

  • 菜单 "root": 手动撤销网络

    ifconfig ethx <ip> netmask <mask> up
    echo "nameserver 8.8.8.8" > /etc/resolv.conf
    apt-get update
    
  • 菜单 "dpkg": 修复安装

  • 返回菜单 "root": 修复内核 initramfs

    update-initramfs -k all -u
    update-grub
    

+1 对于 "echo“ nameserver 8.8.8.8” > /etc/resolv.conf" 行的支持 :) - Tom

试试这个:

sudo apt-get remove nvidia-*
sudo apt-get autoremove
sudo nvidia-uninstall

重启。

我刚刚在Ubuntu 16.04安装中遇到了这个问题。当我从恢复根shell中查看journalctl | grep modules时,我发现它试图从16.10(更新的)内核加载模块。这是因为我在将镜像写入USB时没有在其中进行格式化(使用unetbootin从Mac上)。所以我对USB进行了格式化,重新制作了可引导的U盘,问题就解决了。
:)

在我的情况下,可能是因为安装的更新正在进行时,系统突然关机导致没有完全更新。
按下Ctrl+Alt+F1(进入命令行接口)。
之后,
sudo dpkg --configure -a
sudo apt-get dist-upgrade 
sudo apt-get -f install  (this command is optional, because the `dist-upgrade` command should have everything)

最后,
sudo init 6

(重新启动系统)
现在您将看到没有任何错误的Ubuntu 16.04 LTS。
注意:更新可能需要一些时间。在我的情况下,大约需要45-60分钟。

如果您的系统是最新的,那么不会花费45-60分钟。 - virtualxtc

我也得到了

Failed to start Load Kernel Modules

每次启动时。
我按照Francisco的建议做了,但它没有解决错误。
然而,确实起作用的是在我的/etc/modules文件中注释掉nouveau行,即nvidia驱动程序。
所有问题都是在我切换驱动程序时开始的,这是很合理的。其中一件让我找到它的事情是这些行。
... systemd-modules-load[279]: could not find module by name='off'
... Failed to insert 'off': No such file or directory

在我的/var/log/syslog中。顺便说一下,我正在运行Ubuntu 18.04。

对我来说,这是一个与我的家庭分区有关的问题,所以运行fsck /dev/sdb6并回答所有问题为是解决了它。
受影响的分区在您的系统上可能不是sdb6。在这种情况下,您将需要将设备名称从/dev/sdb6调整为您的分区使用的名称。如果您不知道正确的路径名,则可以通过运行mount或检查/etc/fstab的内容(可以使用cat /etc/fstab进行检查)来找到它。