磁盘的坏道检测方法

新手涉及到的教学或入门贴,推荐新手必看,版主维护
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

磁盘的坏道检测方法

#1

帖子 delectate » 2009-10-03 19:47

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”,使移动硬盘停止转动。

(大部分移动硬盘可以停止转动,但是小部分的还是不可以,原因未知,应该是硬盘盒问题。)
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: 磁盘的坏道检测方法

#2

帖子 adagio » 2009-10-03 20:42

终于干点正经事了 :em11
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
istartagain
帖子: 1394
注册时间: 2009-05-27 21:55

Re: 磁盘的坏道检测方法

#3

帖子 istartagain » 2009-10-04 12:39

u盘?
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 磁盘的坏道检测方法

#4

帖子 wangdu2002 » 2009-10-04 12:41

标记之,有点参考价值。 :em09
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
联系:

Re: 磁盘的坏道检测方法

#5

帖子 mmxcq » 2009-10-17 0:14

呵呵 好久没有来这里了 人气很旺啊
我要去租车搜索www.517car.com
头像
wzssyqa
帖子: 4010
注册时间: 2008-04-07 17:36
来自: 泰安人在阜新

Re: 磁盘的坏道检测方法

#6

帖子 wzssyqa » 2009-10-17 0:26

标记,但愿不要用到
头像
sammysun
帖子: 4088
注册时间: 2007-12-08 23:33
来自: SCUT-guangzhou

Re: 磁盘的坏道检测方法

#7

帖子 sammysun » 2009-10-17 0:35

我正好用上 :em11
卟一样
帖子: 17
注册时间: 2009-02-03 12:24

Re: 磁盘的坏道检测方法

#8

帖子 卟一样 » 2009-10-30 10:11

标记一下 谢谢lz的分享
头像
spectater
帖子: 665
注册时间: 2008-02-03 18:53

Re: 磁盘的坏道检测方法

#9

帖子 spectater » 2009-10-30 10:16

太长,不想看

不如点系统, 再点系统管理,再点磁盘实用工具方便:
viewtopic.php?f=48&t=233973
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18

Re: 磁盘的坏道检测方法

#10

帖子 ryoohki » 2009-11-04 2:52

如果假如有坏道的话怎么修理呢?
shy_sunhongyi
帖子: 128
注册时间: 2007-11-29 10:40

Re: 磁盘的坏道检测方法

#11

帖子 shy_sunhongyi » 2009-11-09 12:04

看现在的价格来说,貌似u盘比较划算,携带方便一些,而且不是很容易坏掉。。。

我的移动硬盘都坏掉两块了。。。
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 磁盘的坏道检测方法

#12

帖子 tusooa » 2009-11-20 16:27

e2fsck会自动解决一些问题,
比如/dev/sda8有一个空目录删不掉,sudo e2fsck /dev/sda8
然后mount -v /dev/sda8 /mnt
rm -Rfv /mnt/CANNOT_REMOVED_NULLED_DIRECTORY

代码: 全选

] ls -ld //
头像
Lavande
论坛版主
帖子: 5352
注册时间: 2008-12-21 15:27
来自: TARDIS

Re: 磁盘的坏道检测方法

#13

帖子 Lavande » 2009-12-05 14:02

umount貌似不能让移动硬盘停下来,我都是用磁盘管理工具的那个“detach”的,点一下硬盘就停转了
头像
Lavande
论坛版主
帖子: 5352
注册时间: 2008-12-21 15:27
来自: TARDIS

Re: 磁盘的坏道检测方法

#14

帖子 Lavande » 2009-12-05 14:36

代码: 全选

$ 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
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

Re: 磁盘的坏道检测方法

#15

帖子 delectate » 2009-12-05 14:40

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

所以不停转
回复