修复移动存储设备无法打开——文件或目录损坏且无法读取

[复制链接]
  • TA的每日心情
    奋斗
    2012-11-25 08:44
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    8

    主题

    11

    回帖

    70

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    70
    发表于 2012-11-23 18:45:47 | 显示全部楼层 |阅读模式
    我们可能经常遇到移动硬盘、U盘之类的可移动存储设备出现如下错误(文件或目录损坏且无法读取,见图):





    我的移动硬盘被我分成两个区:上图中I和J盘。点任何一个,都出现位置不可用,无法访问提示,在“计算机管理”→“磁盘管理”中看到两个盘的文件系统是RAW。碰到这样的问题如何解决。我在网上百度了下,大致有4类方法:

      解决方案1:系统权限的问题1(原系统是NTFS格式出现问题)

      在RAW格式盘符上点右键,选“属性”,再选“安全”,将无用的用户删除,添加自己的用户名,再改一下权限即可。若无安全选项,可以在文件夹选项(打开“我的电脑”—选“工具”菜单—再选“文件夹”选项)中,去掉“使用简单文件共享”前的勾,即可在NTFS格式的盘中点右键,属性菜单中显示安全选项。

      解决方案2:系统权限的问题2(原系统是NTFS格式出现问题)

      进“控制面板”找到“管理工具”,将其打开,在将“本地安全策略”打开,在将“安全选项”打开,在右面窗口找到“网络访问:本地帐户的共享和安全模式”后的“仅来宾”改为“经典”,退出回到我的电脑,在变成RAW的盘上点右键找“安全”标签,将其乱码删掉,然后添加本计算机的用户即可。

      解决方案3:修改盘符的方法

      把RAW的盘符改一下,如果是C、D、E、F,F是RAW盘符,就把F改成E,就可以恢复了。

      解决方案4:利用EasyRecovery软件恢复数据。

        解决方案5:点击“运行”→输入cmd→输入“chkdsk (盘符): /f”。冒号和反斜杠中间有一个空格,盘符写上后,将括号去掉。如“chkdsk i: /f”。

        我不知道是不是系统的问题,我用的windows7系统,方案1和方案2都是修改权限,但无法解决问题,第三种方法试过,无用。至于方案4是可以的。但是必须有一个足够大的空间放你恢复的数据。原理是这样的。比如你要恢复D盘的资料,通过软件恢复后,你需要将恢复的数据拷贝到D盘以外的地方,然后格式化D盘,再将数据拷回来。如果你没有足够的空间放这些数据,那我建议用方案5。但是方案5中会有一个问题,特别是像我这种情况的,还需要修复MBR和MFT。运行CHKDSK后,就出来一条提示语(大概意思):需要修复磁盘是NTFS格式,但无法确定卷版本或状态,CHKDSK被中止。这种情况说明MBR是没问题的,问题就出在MFT上。下面我就讲解下如何修复MBR和MFT。

        请确定你的移动硬盘没有坏扇区,如果有坏扇区,我也无能为力。

        需要用到的软件工具:winhex。自己去搜索下,下中文版的。

        由于本人硬盘已经修复,就用修复好的硬盘做截图演示,稍有出入。

        首先,如果是windows vista或windows7系统的朋友,必须以管理员身份运行该软件。

        第二步,“打开磁盘”→选择需要修复的磁盘→确定

       

    如果offset的000000000位置如下图所示(主要看红色框框位置是否出现NTFS字样),说明系统文件是NTFS,只是显示成RAW格式而已,需要修复MFT。




    如果不是,则MBR也需要修复。重新打开一个正常的磁盘,选中"EB 52"至"55 AA",ctrl+C复制。然后点击需要修复的磁盘,在offset为00000000位置的横轴为0的第一个数值上,单击,然后Ctrl+b写入即可(注意快捷键是ctrl+b,不是ctrl+v)。




    下面我们讲解一下如何修复MFT。有些东西我也不懂,比如NTFS的BPB图,一点也不懂,我是根据别人的教程是确定MFT的位置的。

    一般移动硬盘的存放$MFT的簇号都是786432,在分区页按住Ctrl+G,在出现的对话框的簇号中输入786432。确定即可。

    你会发现这样的界面,原本应该为MFT文件的位置0C0000000变为了USBC。


    一定要用鼠标慢慢向下滚动直到找到46 49 4C 45,然后你可以看到红色框框中的字样为$MFT。



    正常情况下,有四个数据:$MFT,$MFTMirro,$LogFile,$Volume,每个数据都是以46 49 4C 45开头的。

    由于数据发生偏移,造成volume数据丢失。所以只看到前面3个。将前面三个的数据选中,一般到0c0000E00为止,ctrl+c复制。在0c0000000位置(也就是刚才usbc位置)横轴0上的第一个数值单击,ctrl+b写入。

    然后重新打开一个正常的磁盘,锁定簇号786432,慢慢查找第四个以46 49 4C 45开头的$volume数据。如下图,从0c0000c00开始,至0c0000DF0结束,选中,ctrl+c复制。回到需要修复磁盘,也在0c0000c00位置的横轴0位置的第一个数值上单击,ctrl+b写入即可。





    最后在0c0000FF0位置的最后4个数值,手动输入 63 01。




    完成上述操作后,保存即可。

    然后点击“运行”→输入cmd→输入“chkdsk (盘符): /f”。冒号和反斜杠中间有一个空格,盘符写上后,将括号去掉。如“chkdsk i: /f”。这样就可以修复了。



    PS:此修复方案需要耐心研究。我只是将我的研究过程尽量表达出来。我花了2个晚上才看略微看懂winhex,才完成了上述的操作。对于那个BPB,还是不懂。呵呵
  • TA的每日心情
    奋斗
    2012-11-28 19:01
  • 签到天数: 8 天

    [LV.3]八品县丞

    5

    主题

    29

    回帖

    32

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    32
    发表于 2012-11-23 22:30:20 | 显示全部楼层
    学习学习,,,,,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    56

    回帖

    -31

    积分

    [INTOHARD]地雷

    积分
    -31
    发表于 2012-11-24 09:36:27 | 显示全部楼层
    学习了!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-4-26 23:45
  • 签到天数: 79 天

    [LV.6]五品郎中

    1

    主题

    139

    回帖

    445

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    445
    发表于 2012-12-7 18:59:31 | 显示全部楼层
    出来 匝道,班长很给力
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表