我在 Ubuntu 18.04 上,并且遇到了 iGPU 挂起系统的问题(此错误在这里:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1861395)。
我目前使用的是 5.3 内核,但我想尝试更改内核来解决问题。
我并不真正需要超尖端的内核功能,我更感兴趣的是稳定性。
我应该升级到 5.6 吗?还是降级到 5.2 或 4.XX?
如果出现问题,我该怎么做才能安全地从存储库返回官方内核?
编辑:我注意到这个问题与我的问题非常相似:如何在没有任何发行版升级的情况下将内核更新到最新的主线版本?。
但是,它仅涵盖了如何升级内核,而不是如何确保我可以使用包管理器安全地将系统恢复到以前的状态。对于通过 PPA 安装的大多数软件包,apt 都会用新版本替换旧版本。内核也是一样吗?
答案1
您可以从Ubuntu 内核 PPA。
你可以安装任意数量的内核。系统默认会使用最新的内核启动,但你可以在 grub 菜单中任意选择内核。
要恢复到标准 Ubuntu 内核,请使用它启动并删除所有主线内核,例如synaptic
:
答案2
抽象的
要升级内核,我建议使用稳定版本。另外,根据经验,我建议始终升级内核,不要降级,因为降级可能会导致系统缺陷。
本指南所需的安装
sudo apt-get install -y gcc libncurses5-dev make wget flex bison vim libssl-dev libelf-dev
如何
为了更改当前内核,需要一些耐心和谨慎,但肯定有一种方法可以做到这一点,同时仍然能够恢复到原始内核。那么让我们开始吧,我建议使用 root 执行所有这些操作,因此首先执行sudo -i
并输入您的密码。
因此,让我们继续下载截至目前(2020-05-05)的最新稳定内核。
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.19.tar.xz
注意:您可能需要安装 wget 才能使其正常工作(apt-get install wget
)。
现在让我们提取该档案并将其移动到合适的目录。
tar -xvf linux-5.5.19.tar.xz -C ../usr/src/
注意:您可能需要安装 tar 才能使其正常工作(apt-get install tar
)。
这将存档解压到包含所有其他内核的目录中。我们现在将cd
进入该目录以完成接下来的几个步骤。
cd ../usr/src/linux-5.5.19/
现在乐趣部分 :)
如果您的电脑不够强大,这一部分很容易需要 2 个小时才能完成,因此如果您的电池电量不足或时间紧迫,请注意。此外,在重新启动之前,请务必阅读以下所有说明(如果出现任何问题,这将是必不可少的)。
我们现在要编译内核,因此只需按照以下命令操作,并让所有命令运行完成。对于人们来说,这第一个命令通常花费的时间最长。此外,我将在这些 make 命令上使用 -j4 标志来加快该过程。它基本上利用 4 个核心而不是一个核心进行编译(我假设您有 4 个核心,如果没有,您可以省略 -j4)。
make -j4
注意:您可能需要安装 make 才能使其正常工作(apt-get install make
)。
make modules -j4
make modules_install -j4
make install -j4
暂时不要重启
我们现在将修改 grub,以便您有时间选择要在启动时使用的内核。
cd ~/../etc/default/
vim grub
注意:您可以使用任何您熟悉的文本编辑器,另一个流行的编辑器是 nano,但请熟悉您的选择并知道如何编辑和保存。我在本指南中选择了 vim,您可能需要安装 vim 才能使其工作(apt-get install vim
)。
将以下行修改为(在 vim 中按 i 开始编辑并使用箭头键导航):
GRUB_DEFAULT=2
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=25
要保存文件,请按 ESC,然后按 :wq! 并按回车键。
现在,这是最后一步,您需要更新 grub。
update-grub2
该命令完成后,您可以重新启动系统(reboot
)。
系统恢复后,您会注意到启动时会提示您输入一些选项。选择高级选项,然后选择新的 linux-5.5.19 内核。
如果本指南有任何问题,请发表评论,我将尝试通过编辑本指南来解决该问题。
希望它有效!