Linux
update-initramfs 選擇了錯誤的核心
我正在使用 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