删除较新的 Linux 内核并保留较旧的内核

删除较新的 Linux 内核并保留较旧的内核

我从 linuxkernel.org 下载 tar.xz 文件并进行编译,将 Linux 内核从 3.5 更新到 3.16,随后成功安装在我的 ubuntu 机器上(这意味着我可以在启动 PC 时看到启动选项,并且可以登录到 3.5 或 3.16 版本的 Linux 内核),但现在我想删除较新的版本。我遵循的步骤

  1. 登录旧版本 3.5
  2. 运行dpkg --list | grep linux-image 但没有提到 3.16

    root@h2o-Vostro-1015:~# dpkg --list | grep linux-image
    ii  linux-image-3.5.0-17-generic              3.5.0-17.28                               i386         Linux kernel image for version 3.5.0 on 32 bit x86 SMP
    ii  linux-image-extra-3.5.0-17-generic        3.5.0-17.28                               i386         Linux kernel image for version 3.5.0 on 32 bit x86 SMP
    ii  linux-image-generic                       3.5.0.17.19                               i386         Generic Linux kernel image
    

这表明我只安装了 3.5 版本,但我可以启动到 3.16 版本,而且

  • 我检查了/boot目录,在那里我可以看到initrd.img-3.16.0-rc4,这证明3.16版本仍然存在。

如果上述步骤有效,我会尝试通过突触或

sudo apt-get remove --purge 3.16.0*

通过终端命令。

请告知我如何删除新版本。

答案1

由于您手动安装了内核,发布您所遵循的说明的链接将会很有帮助。

要手动删除,您可以运行ls -l /启动。通常文件为:

  1. abi-*
  2. initrd.img-*
  3. 配置-*
  4. 系统.map-*
  5. vmlinuz-*

删除这些文件(对应3.16)并更新grub。

答案2

您的所有内核都应位于 /boot 中。以超级用户 (root) 身份删除不需要的内核并更新 grub。

答案3

注意:在包管理器之外安装内核(或其他类型的软件)会导致您的工作不会显示在 apt-get(dpkg)中,并且可能对系统稳定性和可维护性产生一些影响。

不过,删除特定内核很容易,只需转到 /boot 文件,删除具有匹配版本号的文件即可。然后,您必须更新 grub 菜单以删除其中的该条目(如果它存在)。

相关内容