分页: 1 / 3

磁盘的坏道检测方法

发表于 : 2009-10-03 19:47
delectate
at first:本来想写上如何修复坏道/屏蔽坏道,但是技术有限,望见谅。

06-07-2010 update:
https://www.deleak.com/blog/2010/06/07/hard-disk-scan/

linux和win是不同的(废话 :em06 ),win下磁盘检测工具一抓一大把,管用不管用的名字起的都相当牛,不是**大师就是**专家,但是管用的就不多了。汗 :em20

linux下,最长用的磁盘检测工具是smartcontrol了(smartctl)

但是我的移动硬盘竟然不支持smart,所以只能用肥猪流方法啦 :em04

起因:悬挂在某高处的某物体,自由落体状,砸在了320G eaget 移动硬盘上,外壳有损伤,因为正在进行读写操作,所以进行坏道检测。(杯具阿!! :em20


首先umount已经mount的移动硬盘

代码: 全选

umount /dev/sd*
进行检测:

方法一:

代码: 全选

badblocks -s  -v  /dev/sd*1 
方法二:

代码: 全选

sudo e2fsck -f -c /dev/sd*1
因为需要对磁盘进行检测,所以速度非常之缓慢,在检测过程中注意不要断电,不要对硬盘进行任何读写,不要移除硬盘,不要物理损伤,不要震动等等。

杂牌硬盘还要注意散热。

检测过程可以中途终止,也可以指定区块重新开始

用法:

代码: 全选

sudo badblock /dev   last  start
耐心等待吧!我320G移动硬盘,用了2小时,60%,然后为了写这篇文章,杯具的按下了ctrl+c

幸好可以指定区块开始 :em06
当你看到:
Pass completed, 0 bad blocks found.
恭喜!!没有坏道。如果>0,那么你也杯具了。快找软件修复吧!!
其他
1、fsck使用badblocks的信息
badblocks只会在日志文件中标记出坏道的信息,但若希望在检测磁盘时也能跳过这些坏块不检测,可以使用fsck的-l参数:

# fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1

2、在创建文件系统前检测坏道
badblocks可以随e2fsck和mke2fs的-c删除一起运行(对ext3文件系统也一样),在创建文件系统前就先检测坏道信息:


# mkfs.ext3 -c /dev/hda1

代码表示使用-c在创建文件系统前检查坏道的硬盘。
这个操作已经很清楚地告知我们可以采用“mkfs.ext3 -c”选项用“read-only”方式检查硬盘。这个命令会在格式化硬盘时检查硬盘,并标出错误的硬盘“block”。用这个方法格式化硬盘,需要有相当大的耐心,因为命令运行后,会一个个用读的方式检查硬盘。

命令以及相关信息请参考:

http://www.jb51.net/os/RedHat/1328.html
http://www.linuxdiyf.com/viewarticle.php?id=79907

2009-10-04 update:

今天进行了320G移动硬盘read-only badblock test

还好还好。
delectate@delectate-laptop:~$ umount /dev/sdc1
delectate@delectate-laptop:~$ umount /dev/sdc2
delectate@delectate-laptop:~$ sudo badblocks -s -v /dev/sdc1
[sudo] password for delectate:
Checking blocks 0 to 304182710
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.
delectate@delectate-laptop:~$ sudo badblocks -s -v /dev/sdc2
[sudo] password for delectate:
Checking blocks 0 to 8385929
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.
delectate@delectate-laptop:~$
所以说,移动硬盘,应该多多注意才是。

每次拔下时,要umount,然后再拔下。

不过我尝试过,第一次umount后马上拔下,硬盘有异响,频率很高的口支声,但是umount后等10s左右再拔下来,就没有,想来应该是磁头回landing zone的时间吧!

移动硬盘不比u盘,多多小心,多多注意才是哦!! :em01

update : 2009-12-05

ubuntu9.10可以在桌面右键点击盘符,然后选择“safely remove this device”,大部分移动硬盘可以自动卸载并停止转动,所以需要进行坏道检测的童鞋,不要点击这个选项,仅仅卸载即可……

检测完成后,可以mount上再点击那个“safely remove device”,使移动硬盘停止转动。

(大部分移动硬盘可以停止转动,但是小部分的还是不可以,原因未知,应该是硬盘盒问题。)

Re: 磁盘的坏道检测方法

发表于 : 2009-10-03 20:42
adagio
终于干点正经事了 :em11

Re: 磁盘的坏道检测方法

发表于 : 2009-10-04 12:39
istartagain
u盘?

Re: 磁盘的坏道检测方法

发表于 : 2009-10-04 12:41
wangdu2002
标记之,有点参考价值。 :em09

Re: 磁盘的坏道检测方法

发表于 : 2009-10-17 0:14
mmxcq
呵呵 好久没有来这里了 人气很旺啊

Re: 磁盘的坏道检测方法

发表于 : 2009-10-17 0:26
wzssyqa
标记,但愿不要用到

Re: 磁盘的坏道检测方法

发表于 : 2009-10-17 0:35
sammysun
我正好用上 :em11

Re: 磁盘的坏道检测方法

发表于 : 2009-10-30 10:11
卟一样
标记一下 谢谢lz的分享

Re: 磁盘的坏道检测方法

发表于 : 2009-10-30 10:16
spectater
太长,不想看

不如点系统, 再点系统管理,再点磁盘实用工具方便:
viewtopic.php?f=48&t=233973

Re: 磁盘的坏道检测方法

发表于 : 2009-11-04 2:52
ryoohki
如果假如有坏道的话怎么修理呢?

Re: 磁盘的坏道检测方法

发表于 : 2009-11-09 12:04
shy_sunhongyi
看现在的价格来说,貌似u盘比较划算,携带方便一些,而且不是很容易坏掉。。。

我的移动硬盘都坏掉两块了。。。

Re: 磁盘的坏道检测方法

发表于 : 2009-11-20 16:27
tusooa
e2fsck会自动解决一些问题,
比如/dev/sda8有一个空目录删不掉,sudo e2fsck /dev/sda8
然后mount -v /dev/sda8 /mnt
rm -Rfv /mnt/CANNOT_REMOVED_NULLED_DIRECTORY

Re: 磁盘的坏道检测方法

发表于 : 2009-12-05 14:02
Lavande
umount貌似不能让移动硬盘停下来,我都是用磁盘管理工具的那个“detach”的,点一下硬盘就停转了

Re: 磁盘的坏道检测方法

发表于 : 2009-12-05 14:36
Lavande

代码: 全选

$ sudo badblocks -s -v /dev/sdb
Checking blocks 0 to 156290903
Checking for bad blocks (read-only test):  23.95% done, 22:39 elapsed
很慢……等会儿来看结果 :em70

Re: 磁盘的坏道检测方法

发表于 : 2009-12-05 14:40
delectate
Lavande 写了:umount貌似不能让移动硬盘停下来,我都是用磁盘管理工具的那个“detach”的,点一下硬盘就停转了
umount仅仅是卸载掉,并不是eject

所以不停转