отсутствует обновление-initramfs /lib/modules/4.4.0-13-generic

12

Я только что обновил linux-firmwareпакет, и после этого я использовал, $ sudo update-initramfs -u -k allно я получил некоторые ошибки:

$ sudo update-initramfs -u -k all
[sudo] password for piotrek: 
update-initramfs: Generating /boot/initrd.img-4.4.0-34-generic
Warning: No support for locale: en_US.utf8
update-initramfs: Generating /boot/initrd.img-4.4.0-31-generic
Warning: No support for locale: en_US.utf8
update-initramfs: Generating /boot/initrd.img-4.4.0-13-generic
WARNING: missing /lib/modules/4.4.0-13-generic
Ensure all necessary drivers are built into the linux image!
depmod: ERROR: could not open directory /lib/modules/4.4.0-13-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
Warning: No support for locale: en_US.utf8
depmod: WARNING: could not open /var/tmp/mkinitramfs_LJbkti/lib/modules/4.4.0-13-generic/modules.order: No such file or directory
depmod: WARNING: could not open /var/tmp/mkinitramfs_LJbkti/lib/modules/4.4.0-13-generic/modules.builtin: No such file or directory

Я уверен, что у меня нет ядра 4.4.0-13. Я мог бы иметь это некоторое время назад, но удалил это:

$ apt list --installed | grep linux-

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

linux-base/xenial,xenial,now 4.0ubuntu1 all [installed,automatic]
linux-firmware/now 1.159 all [installed,local]
linux-headers-4.4.0-31/xenial-updates,xenial-updates,xenial-security,xenial-security,now 4.4.0-31.50 all [installed]
linux-headers-4.4.0-31-generic/xenial-updates,xenial-security,now 4.4.0-31.50 amd64 [installed]
linux-headers-4.4.0-34/xenial-updates,xenial-updates,xenial-security,xenial-security,now 4.4.0-34.53 all [installed]
linux-headers-4.4.0-34-generic/xenial-updates,xenial-security,now 4.4.0-34.53 amd64 [installed]
linux-image-4.4.0-31-generic/xenial-updates,xenial-security,now 4.4.0-31.50 amd64 [installed]
linux-image-4.4.0-34-generic/xenial-updates,xenial-security,now 4.4.0-34.53 amd64 [installed]
linux-image-extra-4.4.0-31-generic/xenial-updates,xenial-security,now 4.4.0-31.50 amd64 [installed]
linux-image-extra-4.4.0-34-generic/xenial-updates,xenial-security,now 4.4.0-34.53 amd64 [installed]
linux-libc-dev/xenial-updates,xenial-security,now 4.4.0-34.53 amd64 [installed]
linux-sound-base/xenial,xenial,now 1.0.25+dfsg-0ubuntu5 all [installed]
syslinux-common/xenial,xenial,now 3:6.03+dfsg-11ubuntu1 all [installed]
syslinux-legacy/xenial,now 2:3.63+dfsg-2ubuntu8 amd64 [installed]

Как исправить эти update-initramfsошибки?

piotrekkr
источник

Ответы:

21

Утилита update-initramfsзаглядывает внутрь var/lib/initramfs-tools. Там вы найдете запись для этого старого ядра. Удаление это:

sudo rm /var/lib/initramfs-tools/4.4.0-13-generic

избавится от этой ошибки

(языковой вопрос - это совсем другое ...)

Занна
источник
2
Хорошо, спасибо, это сработало. И я исправил локаль с помощью sudo locale-gen --purge --no-archiveэтого ответа askubuntu.com/a/100519/56083
piotrekkr
Кто-нибудь знает, что создает файлы в /var/lib/initramfs-tools? И когда? И почему? Я хотел бы знать, что вызывает проблему.
mpb
@mpb afaik, он создается update-initramfs , который вызывается APT (или dpkg?) при обновлении ядра или драйвера. Но имхо, вы должны задать вопрос об этом
Zanna
@Zanna, я переместил все файлы /var/lib/initramfs-toolsи побежал update-initramfs. Это сразу вышло. Я считаю, что он обновит файлы, которые уже существуют там, но он не будет создавать файлы, которые не существуют. Кроме того, он будет пытаться собрать initrds только для версий ядра, в которых уже есть файлы /var/lib/initramfs-tools. Если бы я достаточно заботился, я бы отправил отдельный вопрос, но у меня есть другие задачи, над которыми нужно работать. Спасибо!
mpb
не решил это для меня. та же проблема здесь, но без старого ядра.
Крис