update-initramfs 选择错误的内核

update-initramfs 选择错误的内核

我正在运行 Debian 8 Jessie,其内核为 kernel.org 上的 4.1.20。出于某种原因,当我update-initramfs -u这样做时,它会告诉我以下信息:/boot/initrd.img-4.4.4 does not exist. Cannot update.出于某种原因,它选择内核 4.4.4,即使我安装的唯一内核是 4.1.20。当我执行一个apt-get upgrade和一个软件包尝试更新它时,它告诉我同样的事情,所以我必须在所有软件包升级后手动更新它。我查看了配置,但我无法真正弄清楚为什么它选择了错误的内核。

答案1

从手册页更新 initramfs

-k  version
              Set  the  specific  kernel  version for whom the initramfs will be generated.  For example the output of uname -r for your currently
              running kernel.  This argument is optional for update. The default is the latest kernel version.

              The use of "all" for the version string specifies update-initramfs to execute the chosen action for all kernel  versions,  that  are
              already known to update-initramfs.

因此,尝试使用 -k 开关更新 initramfs

答案2

我在 Xenial 上使用 更新时遇到了同样的问题update-manager。检查/var/lib/initramfs-tools/是否有错误的内核版本:

$ ls -al /var/lib/initramfs-tools/
insgesamt 20
drwxr-xr-x  2 root root 4096 Sep 28 15:26 .
drwxr-xr-x 62 root root 4096 Sep  3 20:10 ..
-rw-r--r--  1 root root   76 Sep  3 20:38 4.4.0-36-generic
-rw-r--r--  1 root root   76 Sep 28 14:06 4.4.0-38-generic
-rw-r--r--  1 root root   80 Sep 29 14:21 linux-image-4.4.0-22

最后一个条目给了我depmod错误;我把它删除后,没有任何问题。

相关内容