AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 789630
Accepted
ron
ron
Asked: 2025-01-16 00:03:25 +0800 CST2025-01-16 00:03:25 +0800 CST 2025-01-16 00:03:25 +0800 CST

在 RHEL 9 中获取详细的启动画面

  • 772

在 RHEL 7 和 8 中我一直这样做:

  • /etc/default/grub
    • GRUB_CMDLINE_LINUX=... verbose并移除rhgb quiet然后执行
    • grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

这不会对 RHEL 9 产生影响。现在在 RHEL 9 中执行此操作的正确方法是什么?

我注意到grub.cfg现在位于/boot/RHEL,并且我尝试了-o选项中的该位置但仍然不起作用。

rhel
  • 1 1 个回答
  • 27 Views

1 个回答

  • Voted
  1. Best Answer
    telcoM
    2025-01-16T02:06:10+08:002025-01-16T02:06:10+08:00

    您错过了从 RHEL 8 开始的更改。

    不应该有/boot/grub.cfg,但肯定有/boot/grub2/grub.cfg,因为后者应该被重写grub2-mkconfig——即使在 RHEL9 中的 UEFI 系统中也是如此。

    除非有人已经用grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg命令重写了它,否则在 RHEL 9 中/boot/efi/EFI/redhat/grub.cfg应该只有几行告诉 GRUB 如何找到其配置目录/boot/grub2/及其中的主配置文件,如下所示:

    search --no-floppy --root-dev-only --fs-uuid --set=dev 12345678-9abc-def0-1234-56789abcdef0
    set prefix=($dev)/grub2
    export $prefix
    configfile $prefix/grub.cfg
    

    /boot如果包含的文件系统位于 LVM 逻辑卷或软件 RAID 集上、加密或以 GRUB 现在可以处理的其他方式进行特殊处理,则可能会多出一行或两行。如果/boot它是根文件系统的一部分,而不是其自己的单独文件系统,则该set prefix行将改为set prefix=($dev)/boot/grub2。

    在 RHEL9 中,无论系统使用 BIOS 还是 UEFI,主菜单grub.cfg都再次位于古老的标准位置。/boot/grub2/grub.cfg

    但由于它现在符合BootLoaderSpec,因此在 RHEL8 和 RHEL9 中,内核启动选项现在应该位于文件kernelopts=中定义的变量中/boot/grub2/grubenv。主 GRUB 配置文件仅保存kernelopts=变量的后备值,以防grubenv文件丢失。

    如果您已经覆盖了 中的迷你配置/boot/efi/EFI/redhat/grub.cfg,那么 GRUB 将不再有机会加载,并且它将恢复为根据中的变量/boot/grub2/grubenv构建的默认启动选项。GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub

    要自动将覆盖的微配置恢复/boot/efi/EFI/redhat/grub.cfg为标准,RHEL 文档推荐的方法是:

    dnf reinstall grub2-efi shim grub2-tools
    grub2-mkconfig -o /boot/grub2/grub.cfg  # yes, even on UEFI systems in RHEL9
    

    RHEL9文档的相关部分甚至有这样的警告:

    警告

    对于基于 BIOS 和 UEFI 的机器,重建路径grub.cfg是相同的。实际的 grub.cfg 仅存在于 BIOS 路径中。UEFI 路径有一个存根文件,不得使用grub2-mkconfig命令修改或重新创建。

    在 RHEL9 中运行grub2-mkconfig -o /boot/grub2/grub.cfg也应该更新文件中的内核启动参数/boot/grub2/grubenv,除非您使用--no-grubenv-update...特别禁止它,或者仍然受到 RHEL 9.0 中存在但已被 9.1 修复的错误的影响。

    如果您仍然受到该错误的影响,则运行一次修复版本grub2-mkconfig就应该可以修复它。


    RedHat 记录了您最初想要修改内核选项的方法(假设迷你配置/boot/efi/EFI/redhat/grub.cfg没有被覆盖)如下:

    grubby --update-kernel=ALL --args="verbose"
    grubby --update-kernel=ALL --remove-args="rhgb"
    grubby --update-kernel=ALL --remove-args="quiet"
    

    这些命令适用于 RHEL 8 和 RHEL 9。

    如果您修改了GRUB_CMDLINE_LINUX_DEFAULT变量/etc/default/grub或添加了类似的内容,例如基于 SSH 的 iLO/iDRAC/ILOM 登录会话支持:

    GRUB_TERMINAL="serial"
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    

    那么您必须做一个grub2-mkconfig -o /boot/grub2/grub.cfg- 是的,在 RHEL9 中,它正是 BIOS和 UEFI系统上的命令。

    在 RHEL8 中,您仍然必须grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg在 UEFI 系统上执行操作。

    • 1

相关问题

  • 为什么 Linux 会杀死我的进程?

  • linux redhat 7 ( 或 centos 7 ) + firewalld 屏蔽防火墙

  • systemctl 命令在 RHEL 6 中不起作用

  • 如何在 RHEL 7 上离线安装 docker?

  • 在 Gnome3 中禁用窗口的自动最大化

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve