Journalctl 查看系统磁盘错误与修复过程日志

夏萱小哥_5930

夏萱小哥_5930

2026-08-10

333人浏览

原创

要查系统磁盘错误和修复日志,需用journalctl定位内核(-k)、systemd-fsck服务(-u)及fsck/e2fsck进程(_COMM)日志,结合时间过滤与关键词搜索进行关联分析。

journalctl 查看系统磁盘错误与修复过程日志

要查系统磁盘错误和修复过程的日志,核心是定位到内核层、文件系统工具(如 e2fsck、fsck)以及 systemd 服务(如 systemd-fsck)产生的日志条目。journalctl 能精准捕获这些内容,因为它们全由 journald 统一收集。

查看内核层磁盘报错(如 I/O 错误、坏块、设备离线)

磁盘硬件异常、读写失败、SMART 告警等首先反映在内核日志中。用 -k 直接过滤:

  • journalctl -k | grep -i "ata\|nvme\|sd\|error\|fail\|timeout\|offline" —— 快速抓取 ATA/NVMe/SCSI 设备相关错误
  • journalctl -k --since "1 week ago" | grep -E "(I/O|sector|bad|uncorrect)" —— 查近一周的 I/O 或扇区级问题
  • 注意:-k 等价于 --dmesg,输出与 dmesg 一致,但支持时间过滤和分页搜索

追踪启动时的文件系统检查(fsck)日志

系统启动过程中若检测到文件系统不一致,会自动运行 fsck。这类日志由 systemd-fsck@.service 单元生成,可通过单元名过滤:

  • journalctl -u systemd-fsck@-.service -b —— 查本次启动中所有分区的 fsck 日志(@- 匹配任意设备)
  • journalctl -u systemd-fsck@dev-sda1.service -b —— 查特定分区(如 /dev/sda1)的 fsck 过程
  • 常见关键词:clean(正常)、recovered(已恢复)、reboot required(需重启)、corruption(损坏)、lost+found(已移入该目录)

查找手动运行的磁盘修复命令记录

管理员执行 fsck、e2fsck、xfs_repair 或 smartctl 时,命令本身不会直接记入 journal,但其调用的 systemd 服务或 shell 执行痕迹可被捕捉:

  • journalctl _COMM=fsck -n 50 —— 查最近 50 条由 fsck 进程产生的日志(_COMM 匹配可执行文件名)
  • journalctl _COMM=e2fsck -n 30 —— 同理查 e2fsck 执行记录
  • journalctl MESSAGE_ID=9a68c7e4f3f24f5ba4b5b1d6b9e2a7c7 —— 某些发行版为 fsck 事件分配固定 MESSAGE_ID,可结合 journalctl -o verbose 查看某条日志的完整字段确认

关联分析:把磁盘错误和后续修复串起来

单看某类日志容易断片。建议组合时间与上下文:

  • 先用 journalctl -k --since "3 days ago" | grep -A2 -B2 "error" 找出报错时间点
  • 再用 journalctl -b --since "2026-07-06 02:15:00" --until "2026-07-06 02:20:00"(替换为你找到的具体时间)查看该时段内所有日志,观察是否紧随出现 systemd-fsck 或 kernel: EXT4-fs 类消息
  • 加 -o short-precise 显示微秒级时间戳,便于比对毫秒级先后顺序
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

40

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

20

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

40

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

120

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

80

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

40

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

80

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习