TranslateProject/published/202309/20230816 How to Change the default kernel in RHEL 8 and 9.md
2023-10-02 11:01:21 +08:00

158 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: subject: "How to Change the default kernel in RHEL 8 and 9"
[#]: via: "https://www.2daygeek.com/changing-default-kernel-rhel-8-rhel-9/"
[#]: author: "Rasool Cool https://www.2daygeek.com/author/rasool/"
[#]: collector: "lujun9972"
[#]: translator: "onionstalgia"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16147-1.html"
如何使用 grubby 更改 RHEL 8 和 9 的默认内核
======
![][0]
通常 Linux 系统会默认引导系统进入最新安装的内核,并保留最新的 3 个 Linux 内核引导条目。
假设你已经执行了 `yum update`,并且新的内核作为更新的一部分已经安装了。这时,由于这个新内核与应用程序不兼容,它会阻止应用程序启动。
想要暂时解决这个问题,你应该还是引导系统进入旧内核。
在本文中,我们将向您展示如何使用 `grubby` 工具将旧的内核版本设置为 RHEL 8 和 RHEL 9 系统上的默认版本。
### grubby 是什么
`grubby` 是一个命令行工具,用于在多个架构上更新和显示引导加载配置文件的信息。
### 检查当前引导的内核
你可以使用如下的 `uname` 命令来检查当前引导/加载的内核。
```
# uname -r
4.18.0-477.13.1.el8_8.x86_64
```
### 列出默认内核
使用 `grubby` 验证默认内核版本,运行以下命令:
```
# grubby --default-kernel
/boot/vmlinuz-4.18.0-477.13.1.el8_8.x86_64
```
要获取当前默认内核的索引号,请运行以下命令:
```
# grubby --default-index
0
```
### 检查已安装的内核
要检查已安装的内核的列表,请运行以下命令:
我们来解释以下的输出信息。最新安装的内核的**条目索引**为 `0`,接下来的 **较旧的内核** 版本将会是 `1`,第二个更旧的内核版本将会是 `2`,而 **救援内核** 的条目索引将会是 `3`
```
# grubby --info=ALL | egrep -i 'index|title'
index=0
title="Red Hat Enterprise Linux (4.18.0-477.13.1.el8_8.x86_64) 8.8 (Ootpa)"
index=1
title="Red Hat Enterprise Linux (4.18.0-425.19.2.el8_7.x86_64) 8.7 (Ootpa)"
index=2
title="Red Hat Enterprise Linux (4.18.0-425.13.1.el8_7.x86_64) 8.7 (Ootpa)"
index=3
title="Red Hat Enterprise Linux (0-rescue-13iu76884ec5490puc67j8789s249b0c) 8.2 (Ootpa)"
```
### 更改默认内核引导条目
我们可以用两种方式,使用 “内核文件名”,或者使用 “内核条目索引”。我们设置索引号为 `1``4.18.0-425.19.2.el8_7.x86_64` 为默认内核,以此满足应用程序的依赖关系。
语法:
```
# grubby --set-default [kernel-filename]
```
```
# grubby --set-default /boot/vmlinuz-4.18.0-425.19.2.el8_7.x86_64
```
或者
```
# grubby --set-default vmlinuz-4.18.0-425.19.2.el8_7.x86_64
```
使用内核条目索引更改默认的内核引导:
语法:
```
# grubby --set-default-index=[kernel-entry-index]
```
```
# grubby --set-default-index=1
```
### 重启系统
重启系统,检查旧内核是否持久更改。
```
# reboot
```
或者
```
# init 6
```
### 验证更改
让我们检查一下在上一步中添加的内核是否生效了。好了,按我们的预期使用了较旧的内核 “N-1” 进行引导了。
```
# uname -r
4.18.0-425.19.2.el8_7.x86_64
# grubby --default-kernel
/boot/vmlinuz-4.18.0-425.19.2.el8_7.x86_64
```
要检查所有内核的详细信息,请运行以下命令:
```
# grubby --info=ALL
```
![][2]
### 总结
在本教程中,我们展示了如何使用 `grubby` 工具在 RHEL 8 和 RHEL 9 系统上将旧版本内核设置为默认。
如果有任何问题或反馈,欢迎在下方发表评论。
*题图MJ/9204b9c1-c1ad-4694-b2f6-a7d983976d22*
--------------------------------------------------------------------------------
via: https://www.2daygeek.com/changing-default-kernel-rhel-8-rhel-9/
作者:[Rasool Cool][a]
选题:[lujun9972][b]
译者:[onionstalgia](https://github.com/onionstalgia)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.2daygeek.com/author/rasool/
[b]: https://github.com/lujun9972
[1]: https://www.2daygeek.com/upgrading-from-rhel-7-to-rhel-8/
[2]: https://www.2daygeek.com/wp-content/uploads/2023/06/changing-default-kernel-rhel-8-rhel-9-1024x494.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202309/01/105123phdy0f0fmgavquqq.jpg