我在 Debian 9.9 Stretch 下。
当我想安装新数据包时dpkg -i
,apt install
甚至当我正在做一个时,apt-upgrade
我收到以下错误:
Processing triggers for initramfs-tools (0.130) ...
update-initramfs: Generating /boot/initrd.img-4.9.0-9-amd64
Added Linux + *
Fatal: open /boot/vmlinuz-4.9.0-7-amd64: No such file or directory
run-parts: /etc/initramfs/post-update.d//runlilo exited with return code 1
dpkg: error processing package initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
我不明白为什么它会寻找 4.9.0-7,因为我有 4.9.0-9:
$ uname -a
Linux my_laptop 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 GNU/Linux
看来我也有 4.9.0-8 文件:
$ ll boot/ | grep vmlinuz
vmlinuz-4.9.0-8-amd64
vmlinuz-4.9.0-9-amd64
我尝试安装 4.9.0-7 标头(通过突触包管理器),但我最终遇到了同样的错误。
似乎我弄坏了一些东西,但我不知道如何解决这个问题(没有从头开始完全重新安装,我想避免这种情况)。
任何指针?
我实际上在这里找到了答案:https ://superuser.com/a/1318064/329216
似乎以下命令可以解决问题:
[编辑]一年后我遇到了类似的问题,用谷歌搜索并在那里找到了我自己的帖子......除了这次没有用。原来我
/etc/lilo.conf
的已经过时了,指向旧图像。我做了以下步骤:uname -R
)(此时仍然出现更新后的 lilo 错误)/etc/lilo.conf
最后一张图片的顶点sudo liloconfig -u
sudo lilo
sudo apt dist-upgrade
问题解决了。