如何从以前的版本中删除内核
请参阅问题如何从先前版本中删除内核? 被标记为重复。 我再次问这个问题,因为问题是特殊情况,而不是在相关问题的答案中处理。 我使用安装媒体从15.10升级到16.04。 来自15.10的内核位于/ boot,但是包管理系统似乎在升级后没有意识到这一点。 相关的错误报告在这里 。 我不知道,如果发生这种情况,如果您选择升级软件更新程序。
如果dpkg
不知道内核,你可以通过删除所有文件来手动删除它们(我这样做是为了删除本地编译的内核: 如何删除已编译的内核? )
首先检查使用uname -r
运行的内核
不要删除运行核心
假设您要从系统中删除内核版本3.19.0-56
。
您可以使用发布字符串来查找其所有文件和目录。 locate -b -e 3.19.0-56
将找到包含字符串3.19.0-56
现有( -e
)文件和目录,而不列出所有目录中的所有文件( -b
)
找到它们之后,您可以附加命令以使用xargs
删除它们rm -r
。 让我们使用-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