![删除较新的 Linux 内核并保留较旧的内核](https://linux22.com/image/1083229/%E5%88%A0%E9%99%A4%E8%BE%83%E6%96%B0%E7%9A%84%20Linux%20%E5%86%85%E6%A0%B8%E5%B9%B6%E4%BF%9D%E7%95%99%E8%BE%83%E6%97%A7%E7%9A%84%E5%86%85%E6%A0%B8.png)
我从 linuxkernel.org 下载 tar.xz 文件并进行编译,将 Linux 内核从 3.5 更新到 3.16,随后成功安装在我的 ubuntu 机器上(这意味着我可以在启动 PC 时看到启动选项,并且可以登录到 3.5 或 3.16 版本的 Linux 内核),但现在我想删除较新的版本。我遵循的步骤
- 登录旧版本 3.5
运行
dpkg --list | grep linux-image
但没有提到 3.16root@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 /启动。通常文件为:
- abi-*
- initrd.img-*
- 配置-*
- 系统.map-*
- vmlinuz-*
删除这些文件(对应3.16)并更新grub。
答案2
您的所有内核都应位于 /boot 中。以超级用户 (root) 身份删除不需要的内核并更新 grub。
答案3
注意:在包管理器之外安装内核(或其他类型的软件)会导致您的工作不会显示在 apt-get(dpkg)中,并且可能对系统稳定性和可维护性产生一些影响。
不过,删除特定内核很容易,只需转到 /boot 文件,删除具有匹配版本号的文件即可。然后,您必须更新 grub 菜单以删除其中的该条目(如果它存在)。