我刚刚安装了 Fedora 39。当它启动时,它会显示一条巨大的消息“欢迎使用 Grub!”。 (不过,它确实启动成功。)几个月前,我有 Fedora 37,但该消息并不存在。
我也广泛使用过 Ubuntu,它在启动时似乎也显示不同的消息,例如加载的实用程序列表等......
为什么 Linux 发行版之间、同一发行版之间以及同一发行版不同版本之间存在不同的启动消息?
答案1
启动过程中有多个元素,每个元素都可以自定义:
GRUB,它的主题、背景和自定义菜单文本(在 Debian 和相关发行版中,您将看到许多名为 的软件包
grub-theme-*
)启动闪屏,现在通常与软件包一起实现
plymouth
,具有自己的主题(请参阅 参考资料sudo plymouth-set-default-theme -l
获取可用启动主题的列表)
每个发行版通常都试图使自己与众不同,因此他们对其进行了自己的定制。他们可以根据自己的选择,在每个主要版本上改变他们的定制。通常,这些特定于发行版的图形会进行协调,以使从 GRUB 到启动画面和/或从启动画面到登录屏幕的过渡尽可能无缝。
有时,这些启动主题的实现质量可能因发行版而异。我见过一些发行版,/boot
如果它作为单独的文件系统存在,则不会复制任何自定义字体或背景,而是尝试直接从根文件系统读取它。如果您选择使用 GRUB 不直接支持的根文件系统类型或磁盘加密类型进行安装,则会导致这些自定义失败,并且 GRUB 恢复为更实用的基于文本的外观。
在其他时候,GPU驱动程序的选择可能会影响开机显示的类型。特别是,安装专有的 NVidia 驱动程序可能会(/曾经有?)禁用图形启动启动的副作用,因为该plymouth
软件包确实(/没有?)不支持专有驱动程序倾向于的高级图形帧缓冲区布局使用(针对 GPU 硬件加速而不是针对轻松启动显示编程进行优化)。
但最终,这些图形元素和定制选修的。如果进行最小安装,则可能会排除其中一些或全部,并且系统将回退到默认启动输出的显示:通常是基于文本的 GRUB 菜单,以及已启动的服务列表及其启动状态适当时为红色/黄色/绿色。
通常,图形启动画面将允许您选择通过按 来查看服务启动确认Esc。但是,如果您更关心简单的故障排除而不是漂亮的图形,则可以将启动消息设置为默认启动视图,例如sudo plymouth-set-default-theme details
或sudo plymouth-set-default-theme text
。通过删除默认内核启动参数 quiet
或添加参数verbose
(取决于发行版),您还可以获取内核硬件探测消息,以进行更详细的启动诊断(如有必要)。
有一种特殊的启动溅类型可能值得一提。如果固件在启动时显示系统/主板供应商的徽标,它还可以使用称为BGRT
(我认为是启动图形资源表)的 ACPI 表使该徽标可供操作系统使用。然后,启动启动画面可以将其合并到启动启动画面中,或者根据需要在启动启动画面和操作系统登录屏幕之间创建平滑过渡。如果您的系统支持它,您应该能够看到该目录,因此可以进行/sys/firmware/acpi/bgrt/
选择。sudo plymouth-set-default-theme bgrt
答案2
您可能会发现这很有趣:https://fedoraproject.org/wiki/Changes/HiddenGrubMenu— 这是 Fedora 决定默认隐藏 Grub 菜单的提议。正如该提案所解释的:
Fedora 已完成大量工作以便不在启动期间向最终用户显示过于技术性的启动消息,例如,我们将 quiet 传递给内核并且我们使用 plymouth 显示启动画面而不是一堆“Starting service-foo: OK”消息。
“plymouth”是在启动期间显示发行版徽标(而不是那些服务消息)的软件。不过,如果您愿意,您实际上可以通过在启动过程的该部分按“esc”来查看这些内容。
所有这一切并非没有争议——有些人真的很喜欢看到技术信息,出于诊断原因,我认为有时只是因为它以极客的方式看起来很酷。 (我记得我被那些神秘的消息吸引去了解更多信息,我第一次看到 Linux 系统启动是在 1993 年左右……)所以,你会看到不同的发行版做出不同的选择。 (事实上,如果您安装 Fedora Linux Server Edition 或 Fedora CoreOS,即使在 Fedora 系列中您也会看到不同的行为。)
Hans de Goede(该提案的支持者)还负责其他相关变更,例如https://fedoraproject.org/wiki/Changes/FlickerFreeBoot- 在任何发行版,如果电脑显示制造商的徽标,然后随着引导过程的继续,顺利地在其下方显示发行版徽标……那是因为汉斯所做的工作。
无论如何:为什么您会在 Fedora Linux 39 上看到 GRUB 菜单,而以前却没有?我可以想到三个可能的原因 - 两个来自变更提案,一个是一种包罗万象的原因:
- 您现在正在使用 Windows 或其他一些操作系统进行双引导(这似乎不太可能)
- 有些东西阻止系统完全关闭(可能是某些服务、内核、甚至系统固件中的错误)
- 配置或升级中还有其他一些错误。它发生了!