麒麟os启动故障排查需提取原始启动日志:用journalctl -b系列命令查本次/历史启动错误、内核日志及服务差异;dmesg -t获取带时间戳的内核消息;辅以/var/log/下boot.log等静态日志分析。

您需要回溯麒麟OS开机过程中服务加载失败、内核模块初始化异常或硬件识别问题,必须提取本次或历史启动阶段生成的原始日志流,不能只查运行时普通日志。
用 journalctl 查本次启动日志
第一步:执行命令查看本次开机以来全部结构化日志(最新条目在最末)→ sudo journalctl -b
第二步:过滤出错误级别及以上消息,跳过大量调试信息→ sudo journalctl -b -p err
第三步:只显示与内核直接相关的日志(不含用户空间服务),快速定位驱动或硬件初始化失败→ sudo journalctl -b -k
第四步:分页浏览避免刷屏,支持按 / 键搜索关键词(如 “failed”、“timeout”)→ sudo journalctl -b --no-pager | less
查上一次及更早启动日志
方法一:查看上一次系统启动的日志(-1 表示倒数第一次)→ sudo journalctl -b -1
方法二:查看倒数第三次启动记录(-3)→ sudo journalctl -b -3
方法三:对比本次与上次 SSH 服务启动行为差异,直接并列输出→ sudo journalctl -b -u sshd.service && sudo journalctl -b -1 -u sshd.service
【注意:若 journalctl 提示“No journal files were found”,说明 journald 未启用持久化,需先运行 sudo mkdir -p /var/log/journal/ && sudo systemctl restart systemd-journald】
用 dmesg 提取内核环形缓冲区启动消息
这一步操作起来很简单,直接把命令敲进去就行。dmesg 不依赖 journald 运行状态,能读到 kernel 初始化阶段的原始输出,系统卡死在 logo 画面时只能靠它。
① 显示带人类可读时间戳的全部内核启动消息→ sudo dmesg -T
② 仅输出警告(warn)和错误(err)级别的启动消息→ sudo dmesg -l warn,err
③ 将本次启动的内核日志导出保存,便于离线分析→ sudo dmesg -T > ~/dmesg_boot_$(date +%Y%m%d_%H%M%S).log
读取 /var/log/ 下静态启动日志文件
部分麒麟OS桌面版会在 /var/log/ 目录下持久化记录启动摘要,这些文件不依赖 systemd-journald,适合做归档比对。
sudo cat /var/log/boot.log
sudo less /var/log/syslog | grep -i "starting\|started\|failed" | tail -n 50
sudo grep -i "kernel.*panic\|oom-killer" /var/log/messages 2>/dev/null || echo "messages 文件不存在或无匹配项"











