我注意到我的/var/log/boot.log文件的日期是2016-04-22,上次我是在15.10版本启动的。Xenial版本的boot.log文件在哪里?
journalctl
由于 journald
包含所有日志,您可以使用适当的过滤器来使用 journalctl
命令。对于以前包含 init 系统消息的 boot.log
,您可以执行以下操作:
journalctl -b0 SYSLOG_PID=1
-b0
显示当前引导的消息,-b1
显示前一个引导的消息,以此类推。如果不使用 -b
选项,journalctl
将显示日志从开头开始的消息。SYSLOG_PID
过滤来自进程 ID 1 的消息,也就是 init 进程。或者:
journalctl -b0 --system _COMM=systemd
_COMM=systemd
查找来自systemd
命令的消息。由于systemd
是init进程,这是我们感兴趣的。--system
过滤系统日志而不是用户会话日志。示例:
muru@muru-vm:~$ journalctl -b0 SYSLOG_PID=1
Apr 30 12:29:18 muru-vm systemd[1]: systemd 229 running in system mode. (+PA
Apr 30 12:29:18 muru-vm systemd[1]: Detected virtualization qemu.
Apr 30 12:29:18 muru-vm systemd[1]: Detected architecture x86-64.
Apr 30 12:29:18 muru-vm systemd[1]: Set hostname to <muru-vm>.
Apr 30 12:29:18 muru-vm systemd[1]: Initializing machine ID from random gene
Apr 30 12:29:18 muru-vm systemd[1]: Installed transient /etc/machine-id file
Apr 30 12:29:18 muru-vm systemd[1]: Set up automount Arbitrary Executable Fi
Apr 30 12:29:18 muru-vm systemd[1]: Listening on fsck to fsckd communication
Apr 30 12:29:18 muru-vm systemd[1]: Reached target User and Group Name Looku
Apr 30 12:29:18 muru-vm systemd[1]: Listening on udev Kernel Socket.
Apr 30 12:29:18 muru-vm systemd[1]: Started Forward Password Requests to Wal
Apr 30 12:29:18 muru-vm systemd[1]: Listening on /dev/initctl Compatibility
Apr 30 12:29:18 muru-vm systemd[1]: Listening on Journal Socket.
Apr 30 12:29:18 muru-vm systemd[1]: Created slice User and Session Slice.
Apr 30 12:29:18 muru-vm systemd[1]: Created slice System Slice.
Apr 30 12:29:18 muru-vm systemd[1]: Starting Braille Device Support...
Apr 30 12:29:18 muru-vm systemd[1]: Mounting POSIX Message Queue File System
Apr 30 12:29:18 muru-vm systemd[1]: Mounting Debug File System...
Apr 30 12:29:18 muru-vm systemd[1]: Mounting Huge Pages File System...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Load Kernel Modules...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Uncomplicated firewall...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Create list of required static
lines 1-23
journalctl
默认情况下会在分页器中打开日志,所以您不需要使用管道命令 less
。
默认情况下,Ubuntu不会启用持久journald日志记录。感谢@Auspex的评论,您需要执行以下操作之一:
编辑/etc/systemd/journald.conf文件,添加以下内容: Storage=persistent相关:
boot.log
。 - murujournalctl -bX
对于这个问题是无用的,它不包含在启动过程中真正出现在屏幕上的消息,只有 boot.log 包含,并且在 16.04 上只能有时候起作用,唯一的方法就是拍照或者把它写下来。我也有同样的问题。 - Mikejournalctl
包含了所有的日志,只需要应用正确的过滤器。如果不知道你要找什么,我无法帮助你。 - muru/var/log/journal/
目录,那么你就没有持久化日志记录)。你可以通过修改/etc/journald.conf
文件来包含Storage=persistent
,或者以root:systemd-journal
用户和drwxr-sr-x+
权限创建/var/log/journal/
目录。 - Auspexboot.log
内容相等的信息。boot.log
提供的远不止如此! - Laurent Simon[main.c:821] on_system_initialized:system now initialized, opening log
[main.c:742] get_log_file_for_state:returning log file '/var/log/boot.log'
[main.c:805] prepare_logging:opening log '/var/log/boot.log'
/etc/default/grub
中配置GRUB_CMDLINE_LINUX_DEFAULT=""
时,不会写入boot.log
。当使用GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
时,boot.log
又会被写入。我使用的是Ubuntu 19.04版本。 - Adrianboot.log
文件仍然位于/var/log
文件夹中,你可以在这里看到here。引导日志文件是今天的(2016年4月29日)。也许在安装Ubuntu 16.04时出了问题,或者将操作系统从Ubuntu 15.10升级到Ubuntu 16.04 LTS时出了问题。kern.log
文件中检查一般的引导行为。另一个可能的选择是手动配置syslog守护进程以生成引导日志文件,这里有一个教程告诉你如何做:How To View and Configure Linux Logs
附加信息:
我调查了两台不同机器的启动日志行为。在一个使用UEFI基于BIOS的计算机上,存在着boot.log
文件 - 但是在一个使用传统基于BIOS的计算机上,似乎根本不存在这个文件。所以如果系统是以传统BIOS(MBR/msdos)模式安装的话,这可能解释了为什么你的boot.log
文件的日期是2016-04-22,它是Ubuntu 15.10的残留文件。
更新信息 2016-05-02 :
我继续调查启动日志文件的行为,并观察到在基于UEFI的机器上boot.log
文件仍然存在,但是几天前开始该文件变为空白。我尝试了另一种方法来观察启动过程中发生的情况,即安装BootChart,但在系统重启后预期在/var/log
文件夹中并不存在bootchart.png
... 只有一个空的/var/log/bootchart
文件夹,也没有预期的bootchart.png
文件。
更新信息 2016-05-04 :
今天的`boot.log`文件似乎又有了一些“功能”,它充满了来自启动过程的部分信息。这似乎是一个随机变化的行为,在Ask Ubuntu上无法解决-所以你应该考虑在Launchpad上提交一个错误报告来解决这个问题!boot.log
文件不在它通常的位置。 - user364819
systemd-analyze blame
和/或systemd-analyze critical-chain
。我发现这比翻找日志文件来找出问题原因更容易。 - oldfredboot.log
了。因此,boot.log
最后更新的日期就是你使用15.10的最后日期。 - murujournalctl
命令来完成。你的英语没问题;楼主可能需要更加礼貌一些。 - muru