journalctl --list-boots 仅列出历史启动序号、时间范围和boot id,不显示日志内容;需先用该命令获取启动快照,再用 journalctl -b 加序号或boot id检索对应日志。

journalctl --list-boots 本身只列出历史启动的序号、时间范围和boot ID,不直接检索日志内容。要“列出所有历史启动记录并检索特定历史日志”,需分两步操作:先用 --list-boots 查启动快照,再用 -b 选项定位并读取某次启动的完整日志。
查看所有历史启动记录
运行以下命令即可列出从最早到最近的所有启动会话(每次内核启动算一次):
journalctl --list-boots
输出类似:
-1 Wed 2024-04-10 08:22:15 CST — Wed 2024-04-10 17:30:42 CST
0 Wed 2024-04-10 17:35:21 CST — Thu 2024-04-11 09:12:05 CST
1 Thu 2024-04-11 09:15:33 CST — Thu 2024-04-11 16:48:22 CST
其中负数(如 -1)表示上上次启动,0 是上次,1 是当前启动。每行末尾的 boot ID(如 abc123...)也隐含在输出中(可加 --no-pager 配合 grep -A1 提取)。
按序号检索某次启动的完整日志
使用 -b 后接序号(支持负数),例如:
-
journalctl -b 0— 查看上一次启动的日志(不含当前) -
journalctl -b -1— 查看上上次启动的日志 -
journalctl -b 1— 查看当前启动(等价于journalctl -b)
建议加上 --since 或 --until 缩小范围,比如:
journalctl -b -1 --since "2024-04-10 08:00:00" --until "2024-04-10 09:00:00"
按 Boot ID 精确检索(更可靠)
某些系统重启频繁或时间跨度大时,序号可能因日志轮转变动。推荐用唯一 Boot ID:
- 先获取某次启动的 ID:
journalctl --list-boots | grep "2024-04-10" | awk '{print $NF}' - 再查该次日志:
journalctl -b abc123def456...
Boot ID 更稳定,尤其配合 --all 或 --output=short-monotonic 可增强可读性。
快速筛选关键事件(如失败服务或内核报错)
在指定启动日志中过滤常见问题:
- 查启动失败单元:
journalctl -b -1 | grep "failed"或journalctl -b -1 --priority=err - 查内核消息:
journalctl -b -1 -k - 查某服务(如 sshd)在上次启动中的行为:
journalctl -b -1 -u sshd
搭配 --no-pager 和 less 或 head -n 50 可避免刷屏。











