在Linux系统中,查看电脑重启记录是系统管理和故障排查的重要操作,通过记录可以分析系统稳定性、定位启动异常等问题,以下是几种常用的查看方法,涵盖不同场景和需求。

通过系统日志文件查看重启记录
Linux系统会将启动过程中的关键信息记录在日志文件中,不同发行版的日志文件位置略有差异:
- Debian/Ubuntu:主要日志文件为
/var/log/syslog,记录系统启动时的内核消息、服务启动状态等。 - CentOS/RHEL:主要日志文件为
/var/log/messages,功能与syslog类似。
使用grep命令过滤关键词可快速定位重启记录,
grep -i "reboot|boot|startup" /var/log/syslog # Debian/Ubuntu grep -i "reboot|boot|startup" /var/log/messages # CentOS/RHEL
输出结果中会包含时间戳、进程名称和详细信息,Mar 15 08:30:01 hostname kernel: Booting Linux on physical CPU 0x00000000000(内核启动)Mar 15 08:30:15 systemd[1]: Startup finished in 1.234s (kernel).(系统启动完成)
优点:信息详细,可追溯历史重启记录(取决于日志保留时间);缺点:需手动过滤关键词,大文件查询较慢。
使用last命令查看重启历史
last命令通过读取/var/log/wtmp文件(记录用户登录、重启、关机等事件)展示系统事件历史,直接添加reboot参数可筛选重启记录:
last reboot -x
参数说明:
reboot:仅显示重启事件;-x:同时显示关机(shutdown)、重启(reboot)等系统事件。
输出示例:

reboot system boot 5.15.0-88-generic Fri Mar 15 08:30 still running reboot system boot 5.15.0-88-generic Mon Mar 10 14:22 (-2+03:30) reboot system boot 5.15.0-88-generic Sun Mar 3 09:15 (-3+03:30)
各列含义:事件类型(reboot)、用户(system)、终端(boot)、内核版本、重启时间、运行时长或关机时间。
优点:命令简洁,可直接查看重启时间线;缺点:依赖wtmp文件完整性,若文件损坏则无法查询。
通过journalctl查看systemd重启日志
对于使用systemd的现代Linux系统(如Ubuntu 16.04+、CentOS 7+),journalctl是日志管理的核心工具,可查看系统启动过程中的详细日志:
journalctl -b -p err | grep -i reboot # 查看当前启动以来的错误日志并过滤重启相关 journalctl -u systemd-reboot.service # 查看重启服务日志 journalctl -k -b | grep -i "kernel|boot" # 查看当前启动的内核消息
参数说明:
-b:显示当前启动周期的日志(-b -1显示上次启动);-p err:仅显示错误级别及以上日志;-u:指定服务单元(如systemd-reboot.service);-k:仅显示内核消息。
输出示例:
Mar 15 08:30:01 hostname kernel: Boot Linux kernel 5.15.0-88-generic Mar 15 08:30:10 hostname systemd[1]: Reached target System Shutdown.
优点:支持实时查看、日志过滤,适合排查启动失败问题;缺点:仅适用于systemd系统,历史日志需指定-b参数。
检查/var/log/dmesg内核日志
/var/log/dmesg记录了系统启动时内核加载模块、硬件检测等详细信息,重启后会被更新:

dmesg | tail -n 20 # 查看最后20行内核消息(通常包含启动结尾信息) grep -i "reboot|boot" /var/log/dmesg # 过滤重启相关内核日志
输出示例:
[ 5.123456] Linux version 5.15.0-88-generic (buildd@lcy01-amd64-012) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0) [ 45.678901] systemd[1]: Startup finished in 1.234s (kernel).
优点:直接展示内核启动流程,适合硬件或驱动相关问题;缺点:需结合时间戳分析,重启后旧日志被覆盖。
系统重启记录方法对比
| 方法 | 适用系统 | 优点 | 缺点 | |
|---|---|---|---|---|
| 日志文件(syslog/messages) | 所有Linux | 启动服务、内核消息 | 信息详细,历史记录完整 | 需手动过滤,大文件查询慢 |
last reboot |
所有Linux | 重启时间、运行时长 | 命令简洁,时间线清晰 | 依赖wtmp文件完整性 |
journalctl |
systemd系统 | 服务日志、内核错误 | 实时过滤,适合故障排查 | 仅限systemd,历史日志需指定参数 |
/var/log/dmesg |
所有Linux | 内核启动、硬件检测 | 直接展示内核流程 | 重启后旧日志被覆盖 |
相关问答FAQs
Q1:为什么使用last reboot命令看不到重启记录?
A:可能原因包括:/var/log/wtmp文件损坏或权限不足(需确保文件存在且权限为644);系统时间被修改,导致记录时间异常;重启发生在日志轮转(logrotate)后,旧记录被归档或删除,可尝试检查文件权限(ls -l /var/log/wtmp)、用file /var/log/wtmp确认文件完整性,或改用journalctl -b -p reboot(systemd系统)查询。
Q2:如何判断系统是否异常重启?
A:可通过以下方式综合判断:
- 运行时间:执行
uptime,若“up time”显示的时间与实际不符(如刚开机但显示运行多天),可能异常重启; - 日志错误:用
journalctl -b -p err查看当前启动周期是否有严重错误(如内核崩溃、服务启动失败); - 硬件日志:检查
dmesg中是否有硬件错误(如磁盘I/O错误、内存故障); - 重启频率:若频繁重启(如每天多次),需结合
top或htop查看资源占用,排查CPU、内存或过热问题。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37883.html