当前位置: 首页 > news >正文

使用 grubby工具进行多内核管理和切换的核心操作

1.验证多内核支持

首先,确认您的系统是否已安装多个内核版本。

​​1.检查当前运行的内核​​

[root@localhost ~]# uname -r
6.12.0-55.9.1.el10_0.x86_64

这个命令会显示当前正在使用的内核版本号。

2.​​列出所有已安装的内核包​​

[root@localhost ~]# rpm -qa kernel
kernel-6.12.0-55.9.1.el10_0.x86_64
kernel-6.12.0-55.39.1.el10_0.x86_64

2.使用 grubby查询和设置内核

grubby是 RHEL/CentOS 等系统上用于管理引导加载程序配置的强大工具。

1.​​查看所有可启动的内核条目​​

这是最关键的一步,它能显示 GRUB 菜单中所有可用的内核选项及其详细信息

[root@localhost ~]# sudo grubby --info=ALL
index=0
kernel="/boot/vmlinuz-6.12.0-55.39.1.el10_0.x86_64"
args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=297af704-39de-4c54-bd4b-f75e21969479 rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet $tuned_params"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-6.12.0-55.39.1.el10_0.x86_64.img $tuned_initrd"
title="AlmaLinux (6.12.0-55.39.1.el10_0.x86_64) 10.0 (Purple Lion)"
id="54ca88d4326e4d98bac0c068f2ef19f5-6.12.0-55.39.1.el10_0.x86_64"
index=1
kernel="/boot/vmlinuz-6.12.0-55.38.1.el10_0.x86_64+debug"
args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=297af704-39de-4c54-bd4b-f75e21969479 rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet $tuned_params"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-6.12.0-55.38.1.el10_0.x86_64+debug.img $tuned_initrd"
title="AlmaLinux (6.12.0-55.38.1.el10_0.x86_64+debug) 10.0 (Purple Lion) with debugging"
id="54ca88d4326e4d98bac0c068f2ef19f5-6.12.0-55.38.1.el10_0.x86_64+debug"
index=2
kernel="/boot/vmlinuz-6.12.0-55.9.1.el10_0.x86_64"
args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=297af704-39de-4c54-bd4b-f75e21969479 rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet $tuned_params"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-6.12.0-55.9.1.el10_0.x86_64.img $tuned_initrd"
title="AlmaLinux (6.12.0-55.9.1.el10_0.x86_64) 10.0 (Purple Lion)"
id="54ca88d4326e4d98bac0c068f2ef19f5-6.12.0-55.9.1.el10_0.x86_64"
index=3
kernel="/boot/vmlinuz-0-rescue-54ca88d4326e4d98bac0c068f2ef19f5"
args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=297af704-39de-4c54-bd4b-f75e21969479 rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet"
root="/dev/mapper/almalinux-root"
initrd="/boot/initramfs-0-rescue-54ca88d4326e4d98bac0c068f2ef19f5.img"
title="AlmaLinux (0-rescue-54ca88d4326e4d98bac0c068f2ef19f5) 10.0 (Purple Lion)"
id="54ca88d4326e4d98bac0c068f2ef19f5-0-rescue"

请重点关注输出中的 index(索引号)和 title(在启动菜单中显示的标题),它们用于后续设置。

​​2.查询当前默认启动的内核​​

在修改前,先查看当前的默认设置。

# 查看默认内核的完整路径
[root@localhost ~]# sudo grubby --default-kernel
/boot/vmlinuz-0-rescue-54ca88d4326e4d98bac0c068f2ef19f5
# 查看默认内核在菜单中的索引号
[root@localhost ~]# sudo grubby --default-index
3

​​3.​​设置新的默认启动内核​​

您可以通过两种方式指定新的默认内核,​​推荐使用内核路径法​​,更为精确

​​方法一:通过内核路径设置​​

[root@localhost ~]# grubby  --set-default="/boot/vmlinuz-6.12.0-55.39.1.el10_0.x86_64"
The default is /boot/loader/entries/54ca88d4326e4d98bac0c068f2ef19f5-6.12.0-55.39.1.el10_0.x86_64.conf with index 0 and kernel /boot/vmlinuz-6.12.0-55.39.1.el10_0.x86_64

​​方法二:通过索引号设置​​

[root@localhost ~]# sudo grubby --set-default-index=0
The default is /boot/loader/entries/54ca88d4326e4d98bac0c068f2ef19f5-6.12.0-55.39.1.el10_0.x86_64.conf with index 0 and kernel /boot/vmlinuz-6.12.0-55.39.1.el10_0.x86_64

例如,如果 --info=ALL显示目标内核的 index=1,则命令为:
sudo grubby --set-default-index=1。

​​4.验证设置是否成功​​

执行设置命令后,再次运行查询命令,确认默认内核已更改。

[root@localhost ~]# sudo grubby --default-kernel
/boot/vmlinuz-6.12.0-55.39.1.el10_0.x86_64

3.​​使配置生效并验证

修改默认内核后,需要重启系统才能使用新内核启动。

​​1.​​重启系统​​

sudo reboot

​​2.验证运行中的内核​​

系统重启并登录后,执行以下命令检查当前运行的内核版本是否与设置一致。

[root@localhost ~]# uname -r
6.12.0-55.39.1.el10_0.x86_64

谨慎操作​​:修改内核启动项是系统级操作,建议在生产环境操作前在测试环境验证。操作前可备份重要配置文件,如/etc/default/grub。

http://www.dtcms.com/a/507510.html

相关文章:

  • LeetCode每日一题——三角形的最大周长
  • 英飞凌CoolSiC mosfet现在采用TO-247PLUS-4
  • Altium Designer(AD24)原理图符号库绘图按钮总结
  • 西安开发网站的公司西安网站建设ruiqinet
  • 自建网站 备案html5手机网站开发视频
  • spring 中 HttpStatus 与 ResponseEntity
  • 网站开发如何入账建设银行网站
  • C++ 圆台体积和表面积计算程序(Program for Volume and Surface area of Frustum of Cone)
  • 从 0 到 1 搭智能路侧停车系统:SpringCloud Nacos/Feign/Seata 全链路实现(源码可复用)
  • Bootstrap5 导航栏
  • 【基础理论】位置向量|位置编码学习笔记
  • 基于8051+PROTEUS仿真实例006-单只数码管循环显示0~9
  • 如何解决 pip install -r requirements.txt 子目录可编辑安装缺少 pyproject.toml 问题
  • C# 里的 KeyValuePair<TKey, TValue>
  • Speckit 简明教程
  • 明知手机忘带却不着急回去拿,因为可以远程控制
  • 深入理解 CSS 表格布局:table-layout 的秘密与实战详解(附费用报销单案例)
  • rsync+sersync实现数据实时双向同步
  • ppt模板去哪个网站下载德州核酸检测最新公告
  • 迅为RK3568开发板OpenHarmony系统南向驱动开发手册-UART应用开发编译源码
  • java面试-0216-HashMap和LinkedHashMap、TreeMap、HashTable√、ConcurrentHashMap区别?
  • 【文献分享】KADAIF:一种针对复杂微生物组数据的异常检测方法
  • React Native开发AndroidIOS流程完整指南
  • 身份证实名认证接口在金融领域的应用:筑牢风控第一道防线
  • 视频图像数据接入指南
  • STM32H743-ARM例程24-USB_MSC
  • asp网站防注入代码有源码搭建网站难不难
  • go语言每日3题
  • Mysql 坏表修复
  • 烟台专业网站建设湘潭网页设计