如何在启动期间**真正**抑制内核消息?

如何在启动期间**真正**抑制内核消息?

我有 Ubuntu Server 18.04 LTS。我想在启动期间隐藏控制台上显示的内核消息。(那种[0.1234] kernel message充斥屏幕的东西)。

这没有起作用

  • 更改 /etc/systl.conf
  • 在 中设置LogLevel=err或。这实际上删除了消息的类型,但没有删除类型。LogLevel=emerg/etc/systemd/system.conf[ ok ] Blah blah[123.456] Something something
  • 更改 GRUB 设置。 甚至GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log-priority=3 loglevel=0" 来源loglevel=0)。不,或的区别loglevel=3。不,我没有忘记运行sudo update-grub
  • sudo dmesg -n 1来源
  • 这个也是。不要将此问题标记为与该问题重复,因为agetty它与启动消息完全无关,并且 OP 自己的答案不起作用,就像我上面提到的GRUB部分一样。
  • 编辑/etc/systemd/journal.conf以设置ForwardToWall=noMaxLevelWall=emerg
  • 设置console=tty5/etc/default/grub来源
  • plymouth完全删除了 - 消息仍然出现。这也是有道理的,因为它与 plymouth 无关,它甚至没有在 systemd 中作为服务启动,并且该系统上没有 GUI。

我可能会为能够实现完美安静启动设置的答案提供悬赏,并可能否决所有其他答案,因为它们已经过时,毫无用处,根本不起作用。我花了相当多的时间试图弄清楚这一点,但没有多少成果。

答案1

因此显然console=tty5不起作用或任何虚拟控制台都不起作用。似乎起作用的是console=ttyS0设置GRUB_CMDLINE_LINUXGRUB_CMDLINE_LINUX_DEFAULT由于某种原因不起作用,即使该选项应该将内核参数发送到正常启动,而GRUB_CMDLINE_LINUX- 发送到诊断和正常)。如果我发现其他任何事情,我会更新这个答案,但到目前为止,这似乎就是这样。

相关内容