我在我的笔记本电脑联想 E455 上安装了 14.10。
并按照下列顺序编译内核 3.19
因为看起来 14.10 不想与我的一起工作。(我看到了慢动作)
下载当前内核http://www.kernel.org/
make oldconfig
make
sudo make install
最后,无法使用新内核启动。
我怎样才能从 grub 中删除已编译的内核并恢复?
答案1
如果通过 编译和安装make install
,您将需要手动删除以下条目:
/boot/vmlinuz*KERNEL-VERSION*
/boot/initrd*KERNEL-VERSION*
/boot/System-map*KERNEL-VERSION*
/boot/config-*KERNEL-VERSION*
/lib/modules/*KERNEL-VERSION*/
/var/lib/initramfs/*KERNEL-VERSION*/
然后更新 grub 配置:
sudo update-grub2
如果通过 进行编译debian method
,您可以看到已安装kernel
以下内容:
dpkg --list | grep kernel-image
然后使用以下命令卸载所需的内核包apt-get
:
sudo apt-get remove kernel-image-your-kernel-image
参考:
- 在 Ubuntu 12.04 LTS 上编译 Linux 内核(详细):这个答案沉重来自这篇文章和附加的评论。
答案2
感谢 jarno 的提问这里我找到了一种实现 Mudit Kapil 答案的方法,它只需要很少的输入,并且可以捕获任何多余的部分
由于删除内核所需要做的就是删除其所有文件和目录,并且所有这些文件和目录的路径中都会包含内核发布字符串,因此我们可以用来locate
查找所有带有内核发布字符串的文件并删除它们以删除内核。
(首先检查uname -r
当前运行的内核的名称并确保不要删除它)
假设您要删除一个名为 的内核4.4.6-my-kernel
。您可以使用 查找其所有现有文件和目录(无需列出所有命名目录中的文件)locate -b -e 4.4.6-my-kernel
。将rm -r
with 附加到此命令后xargs
,您还可以删除文件。我将其添加-p
到 makexargs
显示目标并在执行前要求确认
locate -b -e 4.4.6-my-kernel | xargs -p sudo rm -r
然后键入在显示的目标上y
执行rm -r
。它会抱怨非目录的文件不存在,因为你正在尝试递归删除它们(-r
),但没关系,它们仍将与目录及其内容一起被删除。完成后,只需运行
sudo update-grub
瞧!