如何查看上次启动级别linux
如何查看上次启动级别linux详细介绍
在 Linux 系统中查看上次启动级别(运行级别或启动目标)的方法因初始化系统(Init System)的不同而有所差异。以下是针对 SysVinit(传统初始化系统)和 systemd(现代初始化系统)的分别说明:
一、使用 systemd 的系统(主流发行版如 Ubuntu、CentOS 7+、Fedora 等)
现代 Linux 系统大多使用 systemd,其通过 目标(Target) 替代传统的运行级别(如 runlevel 3 对应 multi-user.target,runlevel 5 对应 graphical.target)。
方法 1:查看上次启动的目标(推荐)
使用 systemctl 命令查看启动历史记录,其中包含上次启动时加载的目标:
bash
systemctl list-boots
输出示例:
plaintext
BOOT ID BEGIN TIME END TIME DURATION LOGIN USER IMPERSONATED USER COMMAND LINEc32a1e6...-5a4d 2025-04-18 14:30:00 2025-04-18 14:35:00 5min10s root - -
* 8b2f1...-a2b1 2025-04-19 09:00:00 - - - - -
- 带有
*的行是 当前启动项,上一行即为 上次启动记录。 - 在
COMMAND LINE或通过其他字段(如启动时的目标)可判断启动级别。例如,若目标为graphical.target,则对应传统运行级别5。
方法 2:通过日志查看启动目标
查看系统日志(如 journalctl)中的启动目标加载记录:
bash
journalctl
-b -1表示查看 前一次启动 的日志(当前启动为-b 0)。- 输出中会显示类似
Starting Target Multi-User System(对应运行级别 3)或Starting Graphical Interface(对应运行级别 5)的信息。
二、使用 SysVinit 的系统(旧版系统如 CentOS 6 等)
传统 SysVinit 系统通过 运行级别(Runlevel) 管理启动流程(0-6 级),可通过以下方法查看上次启动的运行级别。
方法 1:使用 runlevel 命令(当前和上次级别)
runlevel 命令会显示 当前运行级别 和 上一次运行级别(重启后可能显示为 N):
bash
runlevel
输出示例:
plaintext
N 5 # 表示当前级别为 5,上次级别未记录(N)
- 若系统未重启过,
N会被替换为上次的运行级别(如从级别 3 切换到 5,则显示3 5)。 - 局限性:重启后,上次级别会被清空,仅记录切换记录,不记录启动时的级别。
方法 2:查看启动日志
部分系统会在日志中记录启动时的运行级别,例如:
bash
/var/log/boot.log
或查看系统日志:
bash
/var/log/syslog
- 搜索关键词如
runlevel、Entering runlevel来定位启动时的级别。
三、补充:判断系统初始化类型
在终端中执行以下命令,判断系统使用 systemd 还是 SysVinit:
bash
- 输出为
systemd:使用systemd(现代系统)。 - 输出为
init或其他(如sysvinit):使用传统初始化系统。
总结
- systemd 系统:优先使用
systemctl list-boots或日志查询上次启动目标,对应传统运行级别。 - SysVinit 系统:通过日志或
runlevel命令(需结合实际场景)查看,但记录可能不完整。
如果需要进一步分析,请提供系统发行版信息(如 lsb_release -a 的输出),以便更精准地指导!