免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3501 | 回复: 8
打印 上一主题 下一主题

【求助】linux下有没有不破坏硬盘中的数据修复坏道的软件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-13 14:10 |只看该作者 |倒序浏览
查了很久,找到badblacks有个-w的方法,好像这个方法会破坏硬盘的其他数据。linux下有没有一个类似hddreg的软件可以不破坏硬盘其他数据,而修复坏道的?

招聘 : 技术支持/维
论坛徽章:
0
2 [报告]
发表于 2010-12-13 17:49 |只看该作者
没听说过,要是有就牛逼了。呵呵!

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
3 [报告]
发表于 2010-12-14 09:15 |只看该作者
难啊。都有坏道了还想不破坏数据的情况下修复。

论坛徽章:
0
4 [报告]
发表于 2010-12-14 10:53 |只看该作者
你都说了硬盘有坏道了,那请问他在是修复的时候该如何不破坏数据的修复呢?

论坛徽章:
0
5 [报告]
发表于 2010-12-14 11:39 |只看该作者
硬件坏了...怎么能用软件修复呢?

论坛徽章:
0
6 [报告]
发表于 2011-01-13 10:24 |只看该作者
回复 5# liuyangxky

犀利!精辟!

论坛徽章:
0
7 [报告]
发表于 2011-02-03 13:49 |只看该作者
回复 1# ilxsh


    修复方法一

为了检查坏道,可以使用mkfs.ext2的命令,带上参数-C用只读的方式检查硬盘。我们使用man命令查看“mkfs.ext2”需要带上的参数,输入下面命令:

#man mkfs.ext2

由其结果可以看到显示“mkfs.ext2”可以支持的功能和参数。

#man mkfs.ext2
mke2fs [ -c | -l filename ] [ -b block-size ] [ -f fragment-size ] [ -i
……

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

# mkfs.ext2 -c /dev/hda1

修复方法二

根据经验,坏道通常会波及到其它的区域,尤其是邻近的“block”。此外还有些“block”会有以下的情况:读写16次中有一两次会出现读写错误的情况。类似这种要坏不坏的情况具体修复方法如下,先输入下面命令:

# man badblocks

查看一下badblocks所带的参数,由结果可以看到显示“badblocks”可以支持的功能和参数。

NAME
badblocks - search a device for bad blocks
badblocks [ -svwnf ] [ -b block-size ]
[ -c blocks_at_once ] [ -i input_file ]
[ -o output_file ] [ -p num_passes ] device [ last-block ] [ start-block ]
-b block-size
-c number of blocks
……

上面的说明中表明badblocks 检查寻找一个设备上的坏道;-b是block的大小,-c是检查的次数,-i输出文件,-o输入文件,-p是通过的数量。

硬盘在格式化时会指定一个“block”的大小,默认值为“block 4K ”(4K/block)。“badblocks”在检查坏道时并不知道将来想要格式化时所指定的“block-size”,所以必须告知“badblocks”硬盘的“block size”。

“-c number of blocks”是检查的次数,默认是16次。这样的命令需要耐心等待。语法如下:

# badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list

其中,“badblocks”以4096的一个block,每一个block检查16次,将结果输出到“hda-badblocks-list”文件里。

“hda-badblocks-list”是个文本文件,内容如下:

# cat hda-badblocks-list
51249
51250
51251
51253
51254
……
61245
……

如果希望能找出可疑的“blocks”,并一起“mark”起来,可以针对可疑的区块多做几次操作:

# badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000

“badblocks”以4096字节为一个“block”,每一个“block”检查1次, 将结果输出到“hda-badblocks-list.1”文件中,由第51000 block开始,到63000 block结束。这次花费的时间比较短,硬盘在指定的情况下在很短的时间就产生“嘎嘎嘎嘎”的响声。由于检查条件的不同,其输出的结果也不完全是相同的。

# cat hda-badblocks-list.1
51248
51250
51251
51253
……
61243
61245
……

重复几次上述的操作,因条件多少都有些不同,所以结果也有所不同。进行多次操作后,产生了最后的“hda-badblock-list.final” ,最后要格式化硬盘。输入下面代码:

#man mkfs.ext2

结果可以看到显示“mkfs.ext2 ”可以支持的功能和参数。

NAME mke2fs - create an ext2/3 filesystem
……

mkfs.ext2是用来创建一个ext2/3系统文件。

论坛徽章:
0
8 [报告]
发表于 2011-02-05 00:27 |只看该作者
精辟,牛B

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
9 [报告]
发表于 2011-02-07 02:23 |只看该作者
fsck?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP