Linux

update-initramfs 選擇了錯誤的核心

  • September 30, 2016

我正在使用 kernel.org 的核心 4.1.20 執行 Debian 8 Jessie。出於某種原因,當我這樣做時,update-initramfs -u它告訴我以下資訊:/boot/initrd.img-4.4.4 does not exist. Cannot update.出於某種原因,即使我安裝的唯一核心是 4.1.20,它也會選擇核心 4.4.4。當我做apt-get upgrade一個包嘗試更新它時,它告訴我同樣的事情,所以我必須在所有包升級後手動更新它。我查看了配置,但我無法真正弄清楚為什麼它選擇了錯誤的核心。

我在 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錯誤;我刪除它後,沒有問題。

來自update-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

引用自:https://unix.stackexchange.com/questions/274115