用fsck处理硬盘磁道损坏问题
硬盘出现坏道在读取某一文件或运行某一程序时,硬盘反复读盘且出错,提示文件损坏等信息,比如linux文件目录报错,结构需要清理“Structure needs cleaning”,通过修护坏道,而不是通过低级格式化修复坏道,格式化将彻底擦除硬盘中的所有数据,这一过程是不可逆的。
在windows下,磁盘的文件系统出错,需要运行chkdsk命令进行修复。而在linux下,则需要运行fsck命令。
语 法
fsck.ext4[必要参数][选择参数][设备代号]
功 能
fsck.ext4 命令:
针对ext4型文件系统进行检测
参数
-a 非互交模式,自动修复
-c 检查是否存在有损坏的区块。
-C<反叙述器> fsck.ext3命令会把全部的执行过程,都交由其逆向叙述,便于监控程序
-d 详细显示命令执行过程
-f 强制进行检查
-F 检查文件系统之前,先清理该保存设备块区内的数据
-l<损坏区块文件> 把文件中所列出的损坏区块,加入标记
-L<损坏区块文件> 清除所有损坏标志,重新标记
-n 非交互模式,把欲检查的文件系统设成只读
-P<数字> 设置fsck.ext2命令所能处理的inode大小为多少
-r 交互模式
-R 忽略目录
-s 顺序检查
-S 效果和指定“-s”参数类似
-t 显示fsck.ext2命令的时序信息。
-v 显示详细的处理过程
-y 关闭互动模式
-b<分区第一个磁区地址> 指定分区的第一个磁区的起始地址/Super Block
-B<区块大小> 设置该分区每个区块的大小
-I 设置欲检查的文件系统,其inode缓冲区的区块数目
-V 显示版本信息
首先确认要运行命令的分区是否挂载。比如要对第一硬盘第一分区进行运行,
首先可以用umount命令进行卸载: sudo umount /dev/sdb1;
再运行fsck命令,保证系统安全:sudo fsck.ext4 /dev/sdb1,然后一直接受修复选择y;
最后sudo reboot。
修复磁盘坏道是很慢的。。。
在工作中,硬盘出现坏道除了硬盘本身质量以及老化的原因外,在使用上保护好硬盘,比如增大内存减少应用软件对硬盘频繁读写操作,减少对硬盘过分频繁地整理碎片,电源质量不好,温度过高,防尘不良,震动等。