如何使用 grubby 更改 RHEL 8 和 9 的默认内核

系统 Linux
在本文中,我们将向您展示如何使用 grubby 工具将旧的内核版本设置为 RHEL 8 和 RHEL 9 系统上的默认版本。

通常 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

总结

在本教程中,我们展示了如何使用 grubby 工具在 RHEL 8 和 RHEL 9 系统上将旧版本内核设置为默认。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2019-10-12 10:24:06

CentOSRHELCockpit

2012-07-25 14:47:18

Linux内核

2011-03-04 15:19:19

Vsftpd路径

2021-11-04 23:08:35

Windows 11Windows微软

2023-12-11 22:17:56

Docker镜像for 循环

2020-10-29 09:40:21

PostgreSQLpgAdmin数据库

2017-06-19 09:44:15

OpenStack安全组规则

2020-02-18 19:02:03

UbuntuLinux终端

2019-11-14 09:20:15

CentOS 8RHEL 8Nagios Core

2023-11-28 13:17:21

mkosiRHELRHEL UBI

2023-05-29 17:52:29

2022-07-19 15:01:34

Linux

2009-10-12 17:14:50

RHEL内核编译

2022-11-17 09:52:12

RHEL 9Node.js

2020-03-02 14:06:54

CentOS 8FFmpegLinux

2019-11-05 11:20:36

CentOS 8RHEL 8Linux

2019-10-14 15:00:12

Centos 8 RHEL 8VNC

2023-03-16 08:55:51

RHEL 8MiniKube开源

2019-03-10 22:45:42

代码开发内核

2021-01-28 05:14:40

C#接口签名
点赞
收藏

51CTO技术栈公众号