启动时内核加载模块错误

启动时内核加载模块错误

我在戴尔笔记本电脑上使用 ubuntu 15.10。它运行良好,但最近我的启动时间变慢了(约 1 分钟)。所以我四处查看,当我读取文件时/var/log/boot.log,我看到以下错误:

[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.

所有其他服务(tftpd 除外)均运行正常。以下是完整输出:

[  OK  ] Started Load/Save Screen Backlight Brightness of backlight:intel_backlight.
[  OK  ] Reached target Sound Card.
[  OK  ] Created slice system-systemd\x2drfkill.slice.
         Starting Load/Save RF Kill Switch Status of rfkill0...
[  OK  ] Started Show Plymouth Boot Screen.
[  OK  ] Started Forward Password Requests to Plymouth Directory Watch.
[  OK  ] Started Load/Save RF Kill Switch Status of rfkill0.
[  OK  ] Started Check And Enable File System Quotas.
         Starting Load/Save RF Kill Switch Status of rfkill1...
[  OK  ] Started Braille Device Support.
         Starting Load Kernel Modules...
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Started Load/Save RF Kill Switch Status of rfkill1.
[  OK  ] Started LSB: QEMU KVM module loading script.
[  OK  ] Found device ST500LM012_HN-M500MBB 8.
         Starting File System Check on /dev/sda8...
[  OK  ] Started File System Check on /dev/sda8.
         Mounting /mnt/ubuntuspace...
[  OK  ] Found device ST500LM012_HN-M500MBB 7.
         Activating swap /dev/disk/by-uuid/431a5631-95f2-4d4f-8f81-42e5801b57aa...
[  OK  ] Activated swap /dev/disk/by-uuid/431a5631-95f2-4d4f-8f81-42e5801b57aa.
[  OK  ] Reached target Swap.
[  OK  ] Mounted /mnt/ubuntuspace.
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
         Starting Set console keymap...
[  OK  ] Reached target Remote File Systems.
         Starting Wait for all "auto" /etc/network/interfaces to be up for network-online.target...
         Starting LSB: AppArmor initialization...
         Starting Clean up any mess left by 0dns-up...
         Starting Tell Plymouth To Write Out Runtime Data...
[  OK  ] Started Wait for all "auto" /etc/network/interfaces to be up for network-online.target.
[  OK  ] Started Clean up any mess left by 0dns-up.
         Starting Nameserver information manager...
[  OK  ] Started Nameserver information manager.
[  OK  ] Started Set console keymap.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
         Starting Network Time Synchronization...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started LSB: AppArmor initialization.
         Starting LSB: Raise network interfaces....
[  OK  ] Started LSB: Raise network interfaces..
[  OK  ] Started Tell Plymouth To Write Out Runtime Data.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on UUID daemon activation socket.
         Starting Restore Sound Card State...
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Listening on PC/SC Smart Card Daemon Activation Socket.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Started Trigger resolvconf update for networkd DNS.
[  OK  ] Reached target Paths.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on ACPID Listen Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting Restore /etc/resolv.conf if the system crashed before the ppp link was shut down....
         Starting System Logging Service...
         Starting Permit User Sessions...
[  OK  ] Started Self Monitoring and Reporting Technology (SMART) Daemon.
         Starting Avahi mDNS/DNS-SD Stack...
         Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
         Starting Detect the available GPUs and deal with any system changes...
         Starting LSB: Record successful boot for GRUB...
[  OK  ] Started Cgroup management daemon.
[  OK  ] Started CUPS Scheduler.
         Starting VirtualBox Linux kernel module...
         Starting LSB: automatic crash report generation...
         Starting Network Manager...
[  OK  ] Started Deferred execution scheduler.
[  OK  ] Started crash report submission daemon.
         Starting Modem Manager...
         Starting LSB: Load kernel modules needed to enable cpufreq scaling...
         Starting LSB: Start/stop sysstat's sadc...
         Starting Enable support for additional executable binary formats...
         Starting Accounts Service...
         Starting LSB: Speech Dispatcher...
         Starting Bluetooth service...
[  OK  ] Started Regular background program processing daemon.
         Starting Initialize hardware monitoring sensors...
         Starting LSB: daemon to balance interrupts for SMP systems...
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started Bluetooth service.
[  OK  ] Started Network Manager.
[  OK  ] Reached target Network.
[  OK  ] Started OpenBSD Secure Shell server.
         Starting MySQL Community Server...
         Starting OpenVPN service...
[  OK  ] Reached target Bluetooth.
[  OK  ] Started Make remote CUPS printers available locally.
         Starting LSB: Start daemon at boot time...
         Starting Thermal Daemon Service...
         Starting dnsmasq - A lightweight DHCP and caching DNS server...
         Starting PostgreSQL Cluster 9.4-main...
         Starting Login Service...
         Starting Network Manager Wait Online...
         Starting LSB: Monitor for system resources and process activity...
[  OK  ] Started System Logging Service.
[  OK  ] Started Restore Sound Card State.
[  OK  ] Started Restore /etc/resolv.conf if the system crashed before the ppp link was shut down..
[  OK  ] Started Permit User Sessions.
[  OK  ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand".
[  OK  ] Started LSB: Record successful boot for GRUB.
[  OK  ] Started VirtualBox Linux kernel module.
[  OK  ] Started LSB: automatic crash report generation.
[  OK  ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
[  OK  ] Started LSB: Start/stop sysstat's sadc.
[  OK  ] Started LSB: Speech Dispatcher.
[  OK  ] Started LSB: daemon to balance interrupts for SMP systems.
[  OK  ] Started OpenVPN service.
[  OK  ] Started Initialize hardware monitoring sensors.
         Starting Hostname Service...
         Starting Authenticate and Authorize Users to Run Privileged Tasks...
         Mounting Arbitrary Executable File Formats File System...
         Starting LSB: set CPUFreq kernel parameters...
         Starting vboxweb-service.service...
         Starting vboxballoonctrl-service.service...
         Starting vboxautostart-service.service...
[  OK  ] Mounted Arbitrary Executable File Formats File System.
[  OK  ] Started LSB: set CPUFreq kernel parameters.
[  OK  ] Started vboxweb-service.service.
[  OK  ] Started vboxballoonctrl-service.service.
[  OK  ] Started vboxautostart-service.service.
[  OK  ] Started Enable support for additional executable binary formats.
[  OK  ] Started Hostname Service.
[  OK  ] Started Login Service.
[  OK  ] Started LSB: Monitor for system resources and process activity.
[  OK  ] Started Thermal Daemon Service.
[  OK  ] Started Authenticate and Authorize Users to Run Privileged Tasks.
[  OK  ] Started Accounts Service.
[  OK  ] Started Modem Manager.
[  OK  ] Started LSB: Start daemon at boot time.
[  OK  ] Started ACPI event daemon.
         Starting WPA supplicant...
[  OK  ] Started dnsmasq - A lightweight DHCP and caching DNS server.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Started WPA supplicant.
         Starting Network Manager Script Dispatcher Service...
[  OK  ] Started Network Manager Script Dispatcher Service.
[  OK  ] Started MySQL Community Server.
[  OK  ] Started PostgreSQL Cluster 9.4-main.
         Starting PostgreSQL RDBMS...
[  OK  ] Started PostgreSQL RDBMS.
[  OK  ] Started Network Manager Wait Online.
[  OK  ] Reached target Network is Online.
         Starting LSB: start Samba daemons for the AD DC...
         Starting LSB: disk temperature monitoring daemon...
         Starting LSB: HPA's tftp server...
         Starting /etc/rc.local Compatibility...
         Starting LSB: Tool to automatically collect and submit kernel crash signatures...
         Starting LSB: Apache2 web server...
         Starting ISC DHCP IPv4 server...
         Starting LSB: Postfix Mail Transport Agent...
         Starting LSB: backup and restore program...
         Starting LSB: Starts or stops the xinetd daemon....
         Starting LSB: start Samba NetBIOS nameserver (nmbd)...
[  OK  ] Started LSB: disk temperature monitoring daemon.
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started ISC DHCP IPv4 server.
[  OK  ] Started LSB: backup and restore program.
[FAILED] Failed to start LSB: HPA's tftp server.
See 'systemctl status tftpd-hpa.service' for details.
[  OK  ] Started LSB: Tool to automatically collect and submit kernel crash signatures.
         Starting Wait for Plymouth Boot Screen to Quit...
[  OK  ] Started LSB: Starts or stops the xinetd daemon..
[  OK  ] Started Detect the available GPUs and deal with any system changes.
         Starting Light Display Manager...

以下是 的输出systemctl status systemd-modules-load.service

● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2016-07-06 06:05:56 IST; 1h 13min ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 1019 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 1019 (code=exited, status=1/FAILURE)

Jul 06 06:05:56 hostname systemd[1]: Starting Load Kernel Modules...
Jul 06 06:05:56 hostname systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Jul 06 06:05:56 hostname systemd[1]: Failed to start Load Kernel Modules.
Jul 06 06:05:56 hostname systemd[1]: systemd-modules-load.service: Unit entered failed state.
Jul 06 06:05:56 hostname systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.

这个错误到底是什么?它会影响我的启动时间吗?如何修复?

答案1

什么是“无法启动加载内核模块”?

Systemd 会读取目录中的文件/etc/modules-load.d,以便使用此服务加载模块。如果这些文件中指定的模块不在/lib/modules正在启动的内核的目录中,则会出现“无法启动加载内核模块”的错误。以下是/etc/modules-load.d目录的内容ls -lA

-rw-r--r-- 1 root root 119 Apr 20 17:01 cups-filters.conf
lrwxrwxrwx 1 root root  10 May 12 10:39 modules.conf -> ../modules

获取详细信息journalctl

就我而言,以下是相关部分journalctl

May 27 06:36:50 zanna-X205TA systemd-modules-load[176]: Failed to find module 'lp'
May 27 06:36:50 zanna-X205TA systemd-modules-load[176]: Failed to find module 'ppdev'
May 27 06:36:50 zanna-X205TA systemd-modules-load[176]: Failed to find module 'parport_pc'

如果你这样做,journalctl | grep modules你会看到哪些加载失败

就我而言,/etc/modules(符号链接指向)是空的,但cups-filters.conf文件包含对引发错误的模块的引用:

# Parallel printer driver modules loading for cups
# LOAD_LP_MODULE was 'yes' in /etc/default/cups
lp
ppdev
parport_pc

让消息消失

不出所料,我的笔记本电脑甚至没有并行端口,所以我不需要这些模块。无论如何,它们无法加载,因为它们不在/lib/modules/$(uname -r)

我注释掉了这三行(将#每行放在模块名称前面的行首),错误消息就消失了。

不过我没有注意到启动时间有任何差异。

总结

  • 检查journalctl哪些模块加载失败
  • 读入文件/etc/modules-load.d来查找对这些模块的引用
  • 注释掉指定这些模块的行以使错误消失(但请在编辑前制作备份)
  • 重新启动以查看这是否会对启动时间产生任何影响

相关内容