你好,我在启动时收到此错误:
libkmod: kmod_config_parse: /etc/modprobe.d/acpi-call.conf line 2: ignoring bad
在我的 arch linux thinkpad 上。事情是这样的:我大约两周前删除了该文件,我的 modprobe.d 目录是空的。那么这个错误消息是从哪里来的呢?
还请注意,此错误信息似乎被切断了。
答案1
简短回答
很可能你有一个过时的
初始化内存文件系统
并且需要运行此命令(或类似命令)才能使更改/etc/modprobe.d
生效:
sudo mkinitcpio -p linux
长答案
我以前以为,当我编辑 中的文件时,/etc/modprobe.d/
更改会在我 (a) 重新加载模块modprobe
或 (b) 重新启动后立即生效。但对于重新启动来说,这通常不正确;在大多数情况下,必须先重新生成 中的映像/boot/
。在 Ubuntu 上,当包管理器执行此操作时,它看起来像这样:
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.130ubuntu3.7) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-48-generic
对于基于 Debian 的发行版,这是由
update-initramfs
来自
initramfs-tools
包裹,它主要是一堆最终调用的 shell 脚本cpio
。典型的更新命令如下所示:
sudo update-initramfs -u
Arch Linux 有其自己的一堆 shell 脚本最终调用cpio
,主要调用是
启动。
我没有使用过 Arch Linux,也没有虚拟机来尝试这个,但是Arch wiki 说 这些是常见的选择:
mkinitcpio -p linux
维基百科还建议使用这个命令来检查内容:
lsinitcpio /boot/initramfs-linux.img
就我个人而言,我发现很容易忘记重新生成图像的额外步骤,并且还有许多其他人有过类似的经历:
https://askubuntu.com/questions/51321/modules-loading-despite-being-added-to-the-blacklist
https://askubuntu.com/questions/290884/blacklist-conf-ignoring-bad-line-boot-prompt
https://askubuntu.com/questions/817682/error-in-blacklist-conf-file-ignoring-bad-line-starting-with
https://askubuntu.com/questions/689277/parsing-error-in-blacklist-framebuffer-conf-occurring-at-boot
https://askubuntu.com/questions/841876/how-to-disable-nouveau-kernel-driver
https://www.reddit.com/r/archlinux/comments/bidhsl/module_blacklist_not_working_mkinitcpio/