我写的磁盘坏道标记工具 MarkBadClusTool

我写的磁盘坏道标记工具 MarkBadClusTool




      半年前,我的硬盘惹上了坏道的麻烦。机器经常假死或者蓝屏,而且由于坏道导致的文件系统的损坏,使得不少数据丢失,让我心疼不已。苦于没钱更换新的硬盘,只有寻找死马当活马医的方法了。找了各种关于修复/屏蔽硬盘坏道的工具,它们的工作原理大致如下:1、通过低格的方式重新检测坏的扇区,并将这些扇区放入P表,类似硬盘刚出厂时检测缺陷时的处理方式。2、硬盘正常使用过程中检测出坏扇区并将其加入G表。MHDD一类的软件修复坏扇区就是这样的原理。3、通过多次读写坏扇区使其磁性恢复正常。这种方式很不稳定,过段时间多半仍然是坏扇区,无法真正修复。4、通过分区的方式隔离硬盘上不能正常使用的区域。这种方式对于坏道集中,有规律的情况下是有效的。对于范围大、分散不规律的情况下则力不从心。而且这种方式会牺牲硬盘的“大容量”以及用户体验。5、用文件系统本身的坏块机制屏蔽坏扇区。这是本文的重点,下边会着重讨论。还有一种修复方法就是用专业工具PC3000修复硬盘。这种方式很理想,然而对于我等农民而言是渴望而不可求的事情,只能作罢。

      上个暑假,天易奶牛针对NTFS文件系统的大放奶,掀起了一股NTFS热。再结合其它前辈的研究成果,使我受到了启发。过程中发现,一般的文件系统均有屏蔽坏扇区的机制。然而在系统正常工作的过程中对该机制的使用是很低效的。通常情况下,文件系统在执行完全的高级格式化或者系统在运行过程中遇到坏扇区时才会将坏扇区添加到文件系统的坏块机制中,而在磁盘有大量坏道的情况下,高级格式化往往由于检测扇区缓慢或者磁盘IO问题无法顺利完成,文件系统工作过程中遇到坏扇区再标记又不全面。而且,上边这两种方法都有一个共性,即对坏扇区的识别太精确,由于坏扇区有向周围蔓延的特点,所以这两种方法无法有效降低文件系统下次访问坏扇区的概率。因此,系统假死或者蓝屏,无故丢失数据的现象依旧会频繁出现。基于上边的分析,很自然的想到,如果能将大量的坏扇区信息一次性加入文件系统的坏块机制中,甚至将真正坏扇区周围的“正常”扇区也视为坏扇区一并加入,则可以很好的应对“坏道蔓延”,大范围不规律分布的情况。

      一边学习,一边敲代码调试,大约用了将近一个学期的零碎时间写成了这个小工具。如何使用请参看Readme以及演示视频。由于时间精力所限,目前仅实现了NTFS文件系统的处理,其它文件系统还没实现。

      本来想写点高质量的代码的,然而由于功力实在太差,没能达到预期的高质量。大家就将就着看吧:-) 这个代码对文件系统的操作几乎是最底层的了,算法都是自己写的,效率不高的情况在所难免。帖子最后提供了模块架构图,为要阅读代码的朋友提供导航支持。但愿这些代码对大家关于NTFS的学习有所帮助。如果对这个有兴趣,可以在论坛里联系我,大家一起学习进步。

      最后,我要特别感谢论坛里的朋友 天易奶牛、 雪yaojun、 邓韬、仙果,以及家人对我的支持。再加上以前那句话:好好学习,天天向上!

下载地址:1: http://pan.baidu.com/share/link?shareid=291307&uk=34547064
                    2 :http://download.csdn.net/detail/hackerlzc/5075433

 

注:本文首发在看雪论坛

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件简介: 本软件可以由用户自行将扇区信息添加到文件系统块机制中,从而使得文件系统在正常工作的过程中不会再访问这些用户自定义的扇区。 通常情况下,在执行完全的高级格式化或者系统在运行过程中遇到扇区时才会将扇区添加到文件系统块机制中,而在磁盘有大量坏道的情况下,高级格式化往往由于检测扇区缓慢或者磁盘IO问题无法顺利完成,文件系统工作过程中遇到扇区标记又不全面。 而且,上边这两种方法都有一个共性,即对扇区的识别太精确,由于扇区有向周围蔓延的特点,所以这两种方法无法有效降低文件系统下次访问扇区的概率。 本软件通过直接访问文件系统块机制,可以将第三方工具或者用户自行扫瞄出的扇区信息及“将扇区”的信息一并快捷高效地添加到文件系统块机制中,从而最大限度地降低了系统访问扇区的概率,并在保证系统的正常运行的前提下又延长了磁盘的“余热” 寿命。此外,以往屏蔽扇区的方式主要是分区隔离,然而此类方法对大范围不规律的坏道来说是无法处理的,过多的分区不仅降低了用户体验,而且对硬盘空间也无法充分利用。本软件通过文件系统自身的块机制标记扇区,从而使得剩余的磁盘空间仍可被文件系统组 织利用,满足用户对“大容量”的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值