使用命令行进行操作。
一:检查坏道
对磁盘操作前,必须卸载之~
umount参数如下:
-a 卸除/etc/mtab中记录的所有文件系统。
-h 显示帮助。
-n 卸除时不要将信息存入/etc/mtab文件中。
-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
-t<文件系统类型> 仅卸除选项中所指定的文件系统。
-v 执行时显示详细的信息。
-V 显示版本信息。
对整个磁盘进行read-only检测:
sudo badblocks -s -v -c 32 /dev/sdb
检测过程是可以中途终止,也可以指定区块重新开始。
sudo badblock -s -v -c 32 /dev/sd* 976762583 125637824 (注意此处结束区块在前,起始区块在后)
badblocks 用法详细说明
语 法:
badblocks [-svw][-b < 区块大小>][-o < 输出文件>][磁盘装置][磁盘区块数][启始区块]
参 数:
-b< 区块大小> 指定磁盘的区块大小,单位为字节。
-o< 输出文件> 将检查的结果写入指定的输出文件。
-c< 检查区块数目> 每一次检测区块的数目。默认值是16。增加这个数目可以增加检测 块的效率可同时也会增加内存的耗费。
-s 在检查时显示进度。
-v 执行时显示详细的信息。
-w 在检查时,执行写入测试。
[磁盘装置] 指定要检查的磁盘装置。
[磁盘区块数] 指定磁盘装置的区块总数。
[启始区块] 指定要从哪个区块开始检查。
二:修复坏道
如果只是逻辑坏道,你可以
直接fsck
fsck -a /dev/sdb
或者格式化
如果是物理坏道,那么兄弟你真的悲剧了。你需要
a.备份硬盘数据
b.删除所有硬盘分区
c.根据坏块位置以及大小,估算出所占空间。然后重新分区隔离损坏部分。btw:坏道是会扩散的,所以尽可能隔离掉多些空间。
当然,不妨看看windows下的chkdsk工具,很强大~
检查磁盘并显示状态报告。
CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]
volume 指定驱动器(后面跟一个冒号)、装入点
或卷名。
filename 仅用于 FAT/FAT32: 指定要检查是否有碎片的文件。
/F 修复磁盘上的错误。
/V 在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。
在 NTFS 上: 如果有清除消息,将其显示。
/R 查找不正确的扇区并恢复可读信息(隐含 /F)。
/L:size 仅用于 NTFS: 将日志文件大小改成指定的 KB 数。
如果没有指定大小,则显示当前的大小。
/X 如果必要,强制卷先卸下。
卷的所有打开的句柄就会无效(隐含 /F)。
/I 仅用于 NTFS: 对索引项进行强度较小的检查。
/C 仅用于 NTFS: 跳过文件夹结构的循环检查。
/I 和 /C 命令行开关跳过卷的某些检查,减少运行 Chkdsk 所需的时间。