如何卸载有问题的内核?

如何卸载有问题的内核?

运行 Ubuntu 18.04 LTS 时,我收到需要升级的通知,我同意了。升级将我的内核从5.4.0-91-generic更新到并破坏了一些东西。我仍然可以从 GRUB...-92启动。...91

我现在无法再花更多时间尝试解决升级问题,只想卸载它。但是,我意识到卸载与恢复不同,我不愿意直接卸载升级,...92因为其他东西可能会丢失。

我该怎么做才能删除...92升级并恢复我的机器而不损坏操作系统?

机器启动后我可以通过 SSH 进入。

答案1

最好不要使用 GUI。GRUB 对我来说太重要了,我不能相信一个隐藏在 GUI 后面的程序。

  1. 首先,创建该文件的备份/etc/default/grub

    cp /etc/default/grub $HOME
    
  2. 现在,/etc/default/grub用文本编辑器打开并添加:

    GRUB_DEFAULT=saved
    GRUB_SAVEDEFAULT=true
    
  3. 更新 GRUB 以保存更改:

    sudo update-grub
    
  4. 重新启动到您的工作内核,以便 GRUB 可以保存您的选择以供下次重新启动。

  5. 现在,列出所有内核包:

    dpkg -l | egrep linux-'[g|i|m|h]'
    
  6. 一旦确定,您可以通过 删除5.4.0-92名称中包含 的任何内核包(例如linux-image-5.4.0-92-generic,,,)。linux-headers-5.4.0-92linux-modules-extra-5.4.0-92-genericlinux-modules-5.4.0-92-genericapt remove

  7. 如果您想避免将来的更新出现有问题的内核,请运行:

    sudo apt-mark hold linux-image-generic linux-headers-generic
    

    这将暂停当前linux-image-generic包并阻止其更新。

    您可以使用以下方法撤消它:

    sudo apt-mark unhold linux-image-generic linux-headers-generic
    

    但您可能不想这样做,因为以下内核更新可能会顺利启动,这会阻止内核更新到较新的版本。

  8. 为了避免你正在运行的内核被 卸载apt autoremove,你可以将你想在系统上保留的内核和头文件版本标记为manual。在你的情况下,你想继续使用的版本是5.4.0-91,因此:

    sudo apt-mark manual linux-image-5.4.0-91-generic linux-headers-5.4.0-91-generic
    

答案2

图形用户界面

你可以使用软件包来实现这一点grub-customizer。你可以使用以下命令安装它:

sudo apt install grub-customizer

安装软件包后,您可以启动应用程序使用:

grub-customizer

您将获得界面喜欢:

在此处输入图片描述

右键单击内核导致错误5.4.0-92-generic),然后选择remove

在此处输入图片描述

现在,右键单击工作内核5.4.0-91-generic)并选择move up

在此处输入图片描述

点击保存按钮保存更改:

在此处输入图片描述

完成上述操作后,在终端中运行以下命令:

sudo update-grub
sudo apt autoremove

就是这样!

参考

笔记:为了获得设备的支持和正确的驱动程序,我使用带有自定义内核的 Ubuntu 21.10。不要介意图像中的内核版本,它们仅供参考。

相关内容