fsck是修复文件系统元数据的唯一工具,但必须在卸载状态下运行,否则易致数据丢失;需用mount确认挂载状态,根分区须从Live USB操作;默认只读检查,修复需加-y或-r参数;修复后须重新挂载并验证。
文件系统损坏时,fsck 是唯一能直接干预元数据的工具,但它不能在挂载状态下安全运行——强行操作大概率导致数据彻底丢失。
必须先卸载分区再运行 fsck
绝大多数错误都源于用户在设备仍挂载(尤其是读写挂载)时执行 fsck。系统会拒绝操作,或给出警告 fsck: error 2 (No such file or directory) 或更隐蔽的 filesystem is mounted 提示,但有些版本仍允许继续,结果是索引错乱、目录项消失。
- 用
mount | grep /dev/sdX1确认是否挂载;若已挂载,先执行umount /dev/sdX1 - 根分区无法手动卸载,需从 Live USB 启动后操作;此时设备名可能变化,用
lsblk -f或blkid重新识别目标分区 - 如果
umount报错target is busy,用lsof +D /mount/point或fuser -v /mount/point查看占用进程
fsck 参数选错会导致静默跳过修复
默认不加参数运行 fsck /dev/sdX1 只做只读检查,即使发现错误也不会修正——这是最常被忽略的行为。真正触发修复需要明确指令。