如何在使用旧内核启动时删除较新的内核?

如何在使用旧内核启动时删除较新的内核?

我的系统上安装了两个内核。3.16... 和 3.19.3...我运行的是 Ubuntu 14.10,它附带 3.16... 内核。我决定尝试最新的内核(3.19.3...),但有时会出错,系统感觉不稳定。我认为没有理由保留这个新内核。如果我选​​择启动到旧内核,然后使用 Synaptic 等删除新内核,会遇到什么问题吗?重新启动后会遇到问题吗,还是 Ubuntu 会自动启动到旧内核,没有任何麻烦?

任何有关正确程序和最佳实现目标的方法的建议都将不胜感激。谢谢。

答案1

您可以像删除其他软件包一样删除内核,只要您没有在该内核中启动即可。

要获取已安装的内核列表,请使用dpkg -lgrep 命令,如下所示:

dpkg -l | grep linux

您将在那里看到已安装的软件包列表。

然后使用remove命令apt-get

sudo apt-get remove linux-...<name as shown by dpkg -l>

不需要删除标题,linux-image-...需要删除的是实际的二进制文件。

请注意,apt-get应该自动重新运行更新grub和启动 RAM 磁盘所需的命令。

当然,如果您使用apt-get update+ apt-get upgrade(或执行相同操作的自动升级),则较新的内核将重新安装...

我认为您可以阻止重新安装,但我不知道该命令。

答案2

这很简单。首先,您需要了解要删除的内核的一些信息。您必须知道它的全名(例如,3.19.0-15-generic)。您可以通过使用 3.19 内核启动、打开终端(Ctrl+Alt+T)并运行命令来找到它

uname -r

记下输出。使用 3.16 内核重新启动并再次打开终端,运行命令

sudo apt-get remove linux-headers-$(uname -r)
sudo apt-get remove linux-image-$(uname -r)
sudo update-initramfs -d -k $(uname -r)
sudo update-initramfs -u
sudo update-grub

大功告成!下次您看到 GRUB 时,3.19 内核将不再存在。

答案3

使用旧内核登录。
我的目标版本是:5.13.0-28
运行此命令

sudo apt-get remove --purge linux-image-5.13.0-28-generic linux-image-5.13.0-28-lowlatency linux-headers-5.13.0-28-generic linux-headers-5.13.0-28-lowlatency linux-modules-5.13.0-28-generic linux-modules-5.13.0-28-lowlatency linux-hwe-5.13-headers-5.13.0-28

相关内容