Linux fsck 命令

注意:执行fsck前必须卸载文件系统,否则可能导致数据损坏。对于根分区,建议使用Live CD/USB或单用户模式。

命令简介

fsck(File System Consistency Check)用于检查和修复Linux文件系统的一致性错误。它是系统维护中的重要工具,常用于系统异常关机或磁盘出现错误后的修复。

命令语法

fsck [选项] [设备名|挂载点]

常用选项

选项 说明
-a 自动修复错误,无需询问
-r 交互式修复(默认方式)
-y 对所有问题回答"yes"
-n 仅检查,不修复
-f 强制检查即使文件系统看起来正常
-t 指定文件系统类型
-V 详细输出
-C 显示进度条

使用示例

1. 检查指定分区(ext4文件系统)

# 首先卸载分区(如果已挂载)
umount /dev/sda1

# 检查并自动修复
fsck -y /dev/sda1

# 或指定文件系统类型
fsck -t ext4 /dev/sda1

2. 强制检查文件系统

# 即使文件系统标记为clean也强制检查
fsck -f /dev/sda2

3. 仅检查不修复

# 安全模式,只检查错误不进行修复
fsck -n /dev/sda3

4. 检查所有文件系统

# 检查/etc/fstab中所有文件系统
fsck -A

# 检查并显示进度
fsck -AC

5. 修复根文件系统(单用户模式)

# 重启进入单用户模式
reboot
# 在grub菜单中选择恢复模式或添加single参数

# 以读写方式重新挂载根分区
mount -o remount,rw /

# 检查根分区
fsck -y /dev/sda1

# 重启系统
reboot

fsck退出状态码

状态码 含义
0 没有错误
1 文件系统错误已修复
2 需要重启系统
4 文件系统错误未修复
8 操作错误
16 使用或语法错误
128 共享库错误

重要注意事项

  • 必须卸载分区:检查前务必卸载分区,否则可能导致数据损坏
  • 备份数据:重要数据建议先备份再执行fsck
  • 根分区检查:检查根分区需使用Live CD或进入单用户模式
  • 自动检查:系统启动时会自动检查标记为需要检查的文件系统
  • 强制卸载:如果无法正常卸载,可使用umount -l(懒卸载)或fuser -k终止占用进程

相关命令

  • e2fsck - ext2/ext3/ext4文件系统专用检查工具
  • xfs_repair - XFS文件系统修复工具
  • badblocks - 磁盘坏道检查工具
  • mount/umount - 挂载/卸载文件系统
  • fdisk/lsblk - 磁盘分区查看工具