这GRUB 安静启动说:
启动画面(最终出现在 /boot/grub/grub.cfg 中)会导致显示启动画面。
同时,您希望启动过程保持安静,否则各种消息都会破坏启动屏幕。
尽管在 GRUB 中指定,但这些是影响内核或其模块加载的内核参数,而不是改变 GRUB 行为的参数。
然而,我还没有splash
找到https://www.kernel.org/doc/html/v5.0/admin-guide/kernel-parameters.html,但 AFAIK 它适用于基于内核 5+ 的现代发行版。为什么?
答案1
如果指定内核无法识别的引导选项,则不会导致错误:未知的引导参数除了在 中列出之外,不会对内核产生任何影响/proc/cmdline
。然后 initramfs 脚本或其他用户空间程序可以查找它并使用它来修改其行为。
未知的启动参数也会传递给进程init
,无论它是什么(SysVinit、systemd 还是其他)。事实上,这就是故障排除/恢复启动选项工作的重要性,例如single
将 SysVinit 系统启动到单用户模式,或者systemd.unit=emergency.target
在具有systemd
.
如果您的发行版使用用户空间启动启动软件,例如plymouth
,内核只是“传递”任何splash
/ nosplash
boot 选项到/proc/cmdline
,并plymouth
在 initramfs 中检查它。
您的发行版可能具有由 initramfs 生成器包作为额外引导选项实现的其他故障排除/恢复功能。在 Debian/Ubuntu 和相关发行版中,请参阅man 7 initramfs-tools
参考资料 特定于软件包创建的 initramfs 文件的引导选项列表initramfs-tools
;在现代 RedHat/Fedora 中,请参阅man dracut
.
答案2
如今,Linux(事实上,Fedora 从 Fedora 10 开始,那是 10 年前了,Ubuntu 从 10.04 开始,等等)不使用内核自己的设施在启动时加载一些启动映像,而是依赖于包含在initramfs,使用内核直接渲染管理器或帧缓冲设备,在启动期间显示某些内容。
在几乎所有系统上,该软件都将是plymouth
,它可以通过读取从 grub 传递到内核的命令行来推断要做什么(不做什么)。