运行 Ubuntu 18.04 LTS 时,我收到需要升级的通知,我同意了。升级将我的内核从5.4.0-91-generic
更新到并破坏了一些东西。我仍然可以从 GRUB...-92
启动。...91
我现在无法再花更多时间尝试解决升级问题,只想卸载它。但是,我意识到卸载与恢复不同,我不愿意直接卸载升级,...92
因为其他东西可能会丢失。
我该怎么做才能删除...92
升级并恢复我的机器而不损坏操作系统?
机器启动后我可以通过 SSH 进入。
答案1
最好不要使用 GUI。GRUB 对我来说太重要了,我不能相信一个隐藏在 GUI 后面的程序。
首先,创建该文件的备份
/etc/default/grub
:cp /etc/default/grub $HOME
现在,
/etc/default/grub
用文本编辑器打开并添加:GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true
更新 GRUB 以保存更改:
sudo update-grub
重新启动到您的工作内核,以便 GRUB 可以保存您的选择以供下次重新启动。
现在,列出所有内核包:
dpkg -l | egrep linux-'[g|i|m|h]'
一旦确定,您可以通过 删除
5.4.0-92
名称中包含 的任何内核包(例如linux-image-5.4.0-92-generic
,,,)。linux-headers-5.4.0-92
linux-modules-extra-5.4.0-92-generic
linux-modules-5.4.0-92-generic
apt remove
如果您想避免将来的更新出现有问题的内核,请运行:
sudo apt-mark hold linux-image-generic linux-headers-generic
这将暂停当前
linux-image-generic
包并阻止其更新。您可以使用以下方法撤消它:
sudo apt-mark unhold linux-image-generic linux-headers-generic
但您可能不想这样做,因为以下内核更新可能会顺利启动,这会阻止内核更新到较新的版本。
为了避免你正在运行的内核被 卸载
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。不要介意图像中的内核版本,它们仅供参考。