首先通过系统提示或命令识别文件系统异常,常见表现包括:
dmesg或journalctl中的error关键词)。dmesg | grep -i error # 查看内核日志中的错误信息
journalctl -xe # 查看系统日志中的近期错误
文件系统检查前必须卸载目标分区(避免数据损坏),若分区为系统根分区(/),需进入恢复模式或Live USB环境操作。
sudo umount /dev/sdX1 # 替换为实际分区(如/dev/sda1)
若分区正在使用,可通过以下命令查找并终止相关进程:
sudo fuser -vm /dev/sdX1 # 查看占用进程
sudo fuser -vk /dev/sdX1 # 终止占用进程
fsck(File System Consistency Check)是Ubuntu下最常用的文件系统检查工具,支持ext2/ext3/ext4等格式。
基本语法:
sudo fsck -y /dev/sdX1 # -y 自动修复错误(无需手动确认)
注意事项:
-f强制检查:sudo fsck -fy /dev/sdX1;sudo fsck.ext4 -y /dev/sdX1。若fsck报错“bad superblock”(超级块损坏),可通过备用超级块恢复。
步骤如下:
① 查找备用超级块位置(以ext4为例):
sudo mke2fs -n /dev/sdX1 # 不实际修复,仅显示备用超级块位置(如32768、98304)
② 使用备用超级块修复:
sudo fsck -b 32768 /dev/sdX1 # 替换为实际的备用超级块编号
若怀疑硬盘存在物理坏道,可使用badblocks或smartctl工具:
① 使用badblocks扫描坏道(耗时较长,建议夜间运行):
sudo badblocks -v /dev/sdX1 > badsectors.txt # 将坏道信息保存到文件
② 使用e2fsck修复坏道(需指定坏道文件):
sudo e2fsck -l badsectors.txt /dev/sdX1
③ 使用smartctl(SMART监控工具)检查硬盘健康状态:
sudo apt install smartmontools # 安装工具
sudo smartctl -H /dev/sdX1 # 查看健康状态(OK为正常)
sudo smartctl -a /dev/sdX1 # 查看详细SMART信息
修复完成后,重新挂载分区并检查状态:
sudo mount /dev/sdX1 /mnt # 挂载到指定目录(如/mnt)
df -h # 查看挂载状态及磁盘使用情况
sudo mount -o remount,rw / # 若之前为只读模式,重新挂载为读写
若偏好图形界面,可通过以下工具检查文件系统:
① 打开“磁盘”应用(Applications→Disk);
② 选中目标分区,点击齿轮图标→“检查文件系统”;
③ 若发现问题,点击“修复文件系统”(需输入密码)。
rsync或外部存储);/)损坏,需从Live USB启动(开机按住Shift键进入GRUB,选择“Recovery Mode”);