update-initramfs hilang /lib/modules/4.4.0-13-generic

12

Saya baru saja memutakhirkan linux-firmwarepaket dan setelah itu saya menggunakan $ sudo update-initramfs -u -k alltetapi saya mendapat beberapa kesalahan:

$ 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

Saya yakin saya tidak memiliki kernel 4.4.0-13. Saya mungkin memilikinya beberapa waktu lalu tetapi menghapusnya:

$ 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]

Bagaimana cara memperbaiki update-initramfskesalahan itu?

piotrekkr
sumber

Jawaban:

21

Utilitas update-initramfsterlihat di var/lib/initramfs-tools. Anda akan menemukan entri untuk kernel lama itu di sana. Menghapusnya:

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

akan menghilangkan kesalahan itu

(masalah lokal adalah sesuatu yang sama sekali berbeda ...)

Zanna
sumber
2
Ok terima kasih itu berhasil. Dan saya memperbaiki lokal dengan sudo locale-gen --purge --no-archivedari jawaban ini askubuntu.com/a/100519/56083
piotrekkr
Apakah ada yang tahu apa yang membuat file /var/lib/initramfs-tools? Dan kapan? Dan mengapa? Saya ingin tahu apa yang menyebabkan masalah.
mpb
@mpb afaik, ini dibuat oleh update-initramfs , yang dipanggil oleh APT (atau dpkg?) ketika kernel atau driver diperbarui. Tetapi saya harus bertanya tentang hal ini
Zanna
@Zanna, saya memindahkan semua file dari /var/lib/initramfs-tools, dan berlari update-initramfs. Segera keluar. Saya percaya ini akan memperbarui file yang sudah ada di sana, tetapi tidak akan membuat file yang tidak ada. Selain itu, ia hanya akan mencoba untuk membangun initrdversi kernel yang sudah memiliki file /var/lib/initramfs-tools. Jika saya cukup peduli, saya akan memposting pertanyaan terpisah, tetapi saya memiliki tugas lain untuk dikerjakan. Terima kasih!
mpb
tidak menyelesaikannya untuk saya. masalah yang sama di sini, tetapi tidak ada kernel lama.
chris