我最近在运行 Ubuntu 17.10 的 Dell XPS 13 上遇到了一些问题。我将linux内核更新到最新版本。随着新内核的运行,我的 WiFi 适配器不再工作了。 Virtualbox 也不再工作了。我在互联网上搜索了很多但找不到任何解决方案。我被告知我唯一的选择是将内核降级到以前的工作版本。
现在的问题是,我必须使用 GRUB。几周以来,我的笔记本电脑一直出现问题,其中之一是我的笔记本电脑大多数时候无法启动。当它启动时,它会直接进入磁盘加密密码提示,这意味着我无法从 USB 启动、进入 BIOS 或进入 GRUB。
现在我的问题是,有没有其他方法可以在不使用 GRUB 的情况下降级内核?我想我可以取出SSD并尝试从另一台计算机上修复它,但我没有必要的工具来打开它,即使我这样做了,我也不知道在哪里插入M。 2 个固态硬盘。
答案1
如果我正确理解你的问题,你的问题是由于其他问题而无法成功访问 BIOS 设置或引导时的 GRUB 提示符,并且需要降级内核版本。
由于包管理工具通常不允许您卸载当前正在运行的内核版本,因此您需要以某种方式首先启动旧内核启动时无需与 GRUB 交互。
这很容易。
首先查看/etc/default/grub
您的系统并找到GRUB_DEFAULT=
设置。如果它说:
GRUB_DEFAULT=saved
那么您可以使用sudo grub-set-default <number>
来更改 GRUB 默认选择的已配置引导选项。通常,它将是最上面的条目,或条目号 0。因此,如果您想回溯一个内核更新,您通常只需说sudo grub-set-default 1
并重新启动,然后您就可以自由删除遇到问题的最新内核软件包。
但如果/etc/default/grub
相反说:
GRUB_DEFAULT=0
然后您可以编辑该文件来表示GRUB_DEFAULT=1
,然后运行sudo update-grub
以使更改生效。然后重新启动,您应该能够删除当前安装的最新内核,因为您将不再在其上运行。
删除有问题的内核版本后,您应该撤消引导加载程序更改,否则您将永远落后于内核更新一步:-)
因此,再次运行sudo grub-set-default 0
或编辑/etc/default/grub
以撤消您的更改 + run sudo update-grub
,具体取决于您最初所做的操作。
答案2
如果您可以启动系统,则可以卸载最新的内核版本。内核是包。以下命令将为您提供系统上安装的列表:
dpkg -l | grep linux-image
linux-image-<version number>-generic
最新的将是具有最高版本号的表单之一。要删除它,请以 root 身份发出以下命令:
apt remove linux-image-<version number>-generic
最后,要更新 grub 以使其知道哪些内核版本可用于引导,请以 root 身份运行以下命令:
update-grub
答案3
Grub 2 保留所有已安装内核的列表,除非您禁用或删除了以前的内核。使用以前的内核列表启动到工作系统,然后按照另一个答案的说明删除内核。看如何使用较旧的内核版本启动?