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 - 磁盘分区查看工具