通过删除文件内的参数quiet
和splash
行,我能够在 Ubuntu 启动期间将系统启动脚本(服务)显示的消息显示在屏幕上。GRUB_CMDLINE_LINUX_DEFAULT
/etc/default/grub
但是,这些消息滚动得非常快,几乎不可能捕捉到任何FAILED
消息。用于保存这些消息的文件/var/log/boot.log
。例如:
# grep -a FAILED /var/log/boot.log
[FAILED] Failed to start Raise network interfaces.
...
但是,我的系统上不再更新此文件(自 2019 年 4 月起),这表明从 Ubuntu 19.04 开始它已被弃用。我在 Ubuntu 19.10 上哪里可以找到该内容?有没有办法在启动期间将 init 脚本在控制台上显示的数据捕获到文件中?
笔记
相同的功能(即精确的控制台文本输出)是不是由 提供journalctl
。例如:
# journalctl -b 0 | grep Raise
Jan 13 12:01:25 ... systemd[1]: Starting Raise network interfaces...
Jan 13 12:01:25 ... systemd[1]: Started Raise network interfaces.
答案1
经过一些测试,我最终得到以下结果:
- 看这。
Bootlogd
不再受支持。Plymouth
服务接管。该文件/etc/default/bootlogd
无关紧要。- 要将
plymouth.service
消息记录到/var/log/boot.log
文件,文件/etc/default/grub
应包含以下行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
。否则,普利茅斯服务将不会将任何内容记录到boot.log
!
因此,@WinEunuuchs2Unix 的答案或多或少是正确的。
答案2
可以查看来自这启动
sudo journalctl -b 0
阅读man journalctl
并查看我的 AskUbuntu 个人资料以获取journalctl
提示。
答案3
该问题从 Ubuntu 16.04 开始就存在:
那里的答案也有推荐,journalctl
但隐藏在评论中:
我确认在配置时
GRUB_CMDLINE_LINUX_DEFAULT=""
不会/etc/default/grub
写入boot.log
。使用时GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
会再次写入 boot.log。我使用的是 Ubuntu 19.04。 – adrhc 2019 年 6 月 9 日 11:21
当我第一次开始使用16.04我记得/var/log/boot.log
是空的,但我不太在意去调查。我读完这个问题后看了看,现在它已经满了。有一个错误已经修复了:
可能存在错误回归19.10或者sysvinit
没有安装软件包。在我的16.04安装我有这个:
$ apt list | grep sysv | grep installed
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
sysv-rc/xenial,xenial,now 2.88dsf-59.3ubuntu2 all [installed]
sysvinit-utils/xenial,now 2.88dsf-59.3ubuntu2 amd64 [installed]
对于那些不知道的人来说, 的优势/var/log/boot.log
在于journalctl -b
镜像控制台启动消息的颜色格式: