查看问题如何删除以前版本的内核?标记为重复。我再次提出这个问题,因为这个问题是特殊情况,相关问题的答案中没有处理。我使用安装媒体从 15.10 升级到 16.04。15.10 的内核位于 /boot 中,但升级后包管理系统似乎不知道这一点。相关错误报告是这里。我不知道,如果发生这种情况,如果您选择在软件更新程序中升级。
答案1
如果内核未知dpkg
,您可以通过删除所有文件来手动删除它们(我这样做是为了删除本地编译的内核:我怎样才能删除已编译的内核?)
首先检查正在运行哪个内核uname -r
不要删除正在运行的内核
假设您想3.19.0-56
从系统中删除内核版本。
您可以使用发布字符串来查找其所有文件和目录。将使用字符串locate -b -e 3.19.0-56
查找现有 ( ) 文件和目录,而不列出所有目录中的所有文件 ( )-e
3.19.0-56
-b
找到它们后,您可以使用 附加命令来删除它们rm -r
。xargs
让我们使用-p
标志进行xargs
交互,以便我们可以在执行命令之前查看目标并确认。以下是整个命令:
locate -b -e 3.19.0-56 | xargs -p sudo rm -r
然后输入y
以真正执行rm -r
所显示的目标
(这会引发一些错误,抱怨所有非目录的内容都不存在,因为您尝试使用 递归删除它-r
,但它仍然有效并且文件确实消失了 - 再次检查sudo updatedb && locate -b -e 3.19.0-56
并且什么都找不到)
最后,要清理启动菜单,请运行
sudo update-grub