急!急!!急!!!硬盘分区被破坏求救!!!200分求救(200分)

  • 主题发起人 主题发起人 emoth
  • 开始时间 开始时间
问题就是你还没有把FAT表把“揪来”跟你的分区联系起来,
在很久以前看到一些这方面的书,因为很少遇到,也没有实践过。
如果是用DE来手工恢复的话,是很麻烦的。
不知道 Scandisk 能不能扫描到你的盘还存在文件?

至于是不是GHOST给你破坏的,应该还是比较明显,你在没有用GHOST之前是
没有问题,而用了GHOST之后,就出现了问题,至少说来,直接原因应该是GHOST,
不排除有其它的原因。
 
你看一下这篇文章对你有没有帮助。。

发信人: seak (江海客), 信区: Virus
标 题: 数据恢复与软故障处理基本指南*序言
发信站: 紫 丁 香 (Wed Nov 24 09:54:35 1999), 转信
一、基础知识

1、DOS(DOS兼容系统硬盘数据)的构成
主分区和扩展分区结构基本相似,以下以主分区为例。
主引导记录(MBR):MBR占一个扇区,在CYL 0、SIDE 0 、SEC 1,由代码区和分区表构成。其中代码区可以由FDISK/MBR重建。
系统扇区:CYL 0、SIDE 0 、SEC 1-CYL 0、SIDE 0 、SEC 63,共62个扇区
引导区(BOOT):CYL 0、SIDE 1 、SEC 1 这是我们过去称的DOS引导区。也占一个扇区。
隐藏扇区:CYL 0、SIDE 0 、SEC 1,如果是FAT16那么占一个扇区,如果是FAT32则由此占32个扇区。
文件分配表:一般有两个FAT表,FAT12、FAT16的第一FAT表一般均在0-1-2,FAT32的第一FAT表在0-1-33。FAT表是记录文件占用扇区连接的地方,如果两个FAT表都坏了,后果不堪设想。由于FAT表的长度与当前分区的大小有关所以FAT2 的地址是需要计算的。
根目录区:(ROOT)这里记录了根目录里的目录文件项等,ROOT区跟在FAT2后面。
数据区:跟在ROOT区后面,这才是数据内容。

2、主引导记录简单说明:
主引导记录是硬盘引导的起点,关于代码区不多说了,其分区表,比较重要的是2个标志,在偏移1BE,处的80 的标记表示系统可引导,且整个分区表只能有一个80标记。 另一个就是结尾的55 AA标记。用来表示主引导记录是一个有效的记录。


其实,无论MBR还是隐含扇区还是BOOT区,都不重要,这些重建都比较容易。对数据恢复来说,能否成功的找回数据文件是重要的。另外,由于FAT表记录了文件在硬盘上占用扇区的链表,如果2个FAT表都完全损坏了。那么恢复文件,特别是占用多个不连续扇区文件就相当困难了。


基本思路是,
1、FAT2没有损坏的情况,用FAT2覆盖FAT1。
2、FAT2也已经损坏的情况,我一般是只期待找回其中某些关键的文件了。我们最期待的是这些文件是连续的。如果不连续的话,也并非没有可能,但这往往还要知道文件的一些细节,包括对一些文件本身的连接结构有了解。如果FAT2没有完全破坏,是有一定用处的,另外,一般来说,FAT16的硬盘因为FAT表靠前破坏的比较严重,一般两个FAT表都坏了,小硬盘也很难恢复了。


二、一个基本恢复被CIH破坏硬盘数据的例子

一直有朋友问手工恢复的技巧,近来恢复了多块被CIH破坏的硬盘,之所以选取这一次,是因为尽管恢复成功,但其中犯了一些错误,值得注意。

委托恢复用户:某银行系统
硬盘情况:CIH发作有该单位电脑人员曾用KV300 F10进行修复,但没有成功,又恢复了保存的MBR。

准备好软盘3张:
DISK1 :WIN98启动盘(带DEBUG)
DISK2:DISKEDIT等工具(此盘不要写保护)
DISK3:DOS下杀CIH的工具

把我的硬盘摘下,挂上待恢复的的硬盘,开机,进入SETUP,检测硬盘,把参数记下。
CLY 620 HEAD 128 PRECOMP 0 LANDZ 4959 SECTOR 63 MODE LBA。
用准备好的软盘启动:
A:>C:
显示Invalid drive specification
FDISK/MBR重建主引导记录。(这是个习惯),重新软盘引导:(可能没有必要)。此时已经看的见C:硬盘。启动DISKEDIT,启动过程中显示Invalid media type reading DRIVER C,哎呀,算了,还是先用DEBUG 清空分区表, 并置80和55aa标志。重新启动,再运行DISKEDIT,显示设定为READ ONLY, 没关系,把CONFIGURATION中的只读选项去掉,存盘,好了,可以编辑了。
由于当时接的硬盘有多块,我把这块当成了是一块只有C分区(这是等待修复的另一块硬盘),所以没看别的东西,我们期待FAT2没有损坏,以用FAT2覆盖FAT1,在这个时候DISKEDIT要比DEBUG容易的多,在FIND OBJECT中选择 FAT,查一下起始扇区,好的,在CYL 0 SIDE68 SEC 14,0000H,F8 FF FF 0F (FAT32的),好的,FAT2没坏。其实如果不用DISKEDIT的可以用DEBUG查,偏移0000的F8 FF FF。

由于以为只有C分区,所以,上来就在FIND中查找IOSYS(IO 和SYS中要有空格)以查找ROOT区。找到后观察,是否有C:/ 下常见文件。好的,ROOT区没被破坏。记下了该扇区:CYL 0 、SIDE 68 、SEC 14,备用。

FAT1一般前面已经被破坏了,但后面应该还在,这可以作为检查。因为是32位的,FAT1 一般在CYL 0 SIDE1 SEC 33。 因为有了ROOT 区然后应该计算FAT表的长度了,因为FAT2到
ROOT前一扇区为止,所以非常简单。然后可以用FAT2覆盖FAT1,这里用DEBUG还是DISKEDIT都可以,如果用DEBUG一般是用INT 25读绝对扇区,再用INT 26写入,不过一般要分几次。记得保留断点呀:-)用DISKEDIT可以MARK FAT2的内容COPY下来,在WRITE到FAT1。

然后可以恢复主引导记录、隐含扇区和BOOT区,可以先用NDD 修复分区表,然后可以考虑用标准覆盖法,如果你希望下一步由NORTONUtilities ,来接手这些都可以不做。我从另一台FAT32上取来了,相应的部分,写了进去。我这是发现好象有一个D盘。先看一下在说吧。好了,关机串上我的硬盘,用NORTON Utilities
4扫描C盘,文件基本恢复,对C盘杀毒,WHY,没有发现病毒,换了2种杀毒软件还是没有病毒,更糟糕的是,显示C盘是948M,有一个D盘,但是95下无法浏览,DOS 下乱码。于是打电话核实当时的情况,原来是26日那天,放进一张光盘,光驱灯亮了一会,就硬盘狂响,蓝屏死机了。应该证实我的推断一样,是光盘的AUTORUN程序有CIH病毒。所以说没有实时防御能力的软件是没有意义的。另外,他们的硬盘确实分两个区,而且重要文件在D区。(气死我了!)


然后在修复D盘吧,再回到DOS,用DEBUG查找结束标志为55AA 的扇区,由结构判定是否为扩展分区。此时可算出大小来返主分区表。当然,许多工具也可以很好的完成这一工作。如果你没有把握,就用他们完成好了。

经验总结:

1、你不要听信或者凭记忆想一块硬盘该是怎么样的,一定要自己去看,我就是凡了这个错误。
2、KV300 F10确实如一些网友所讲,有一定隐患,如果银行的电脑人员在用KV300 F10处理之前没有备份,可能要给我找些麻烦。
3、恢复数据要本着几项原则: 1。先备份,这也是而后我写HD-MIRROR的原因,2。优先抢救最关键的数据 3。在稳妥的情况下先把最稳定的鸡蛋捞出来,(理应先修复扩展分区,再修复C),最好修复一部分备份一部分。4。要先作好准备,不要忙中出错,由于我的机器没有装过NORTON ,先解压,习惯的敲了一个D:/TEMP,这才想起来文件险些解在没有完全修好的C盘上。

其实看来,如果FAT2没有损坏的情况下,恢复C盘数据是非常容易的,可以编程实现。如果FAT2损坏了,最容易恢复的当然是只占用一个扇区的文件和连续的文件,如果不连续的,比较容易恢复的文本文件.

 
各位富翁,有谁知道整个盘都是扩展分区时,在首分区里(C/H/S=0/0/1)是一个表项还是两个表项?
我觉得应该是两个表项的,第一个表示扩展分区,第二个才是 F 盘。有谁知道或有谁正好也是这样
分区的请帮忙看一看。
 

用kv3000试试吧,F10
用google搜一下,down一个就行了。
 
to: 小雨哥
应该是一项,因为就管理上来说,所有的逻辑分区都划分在一个扩展分区内的,
这样说也不对,应该说是看你怎么分了,如果你把所有的逻辑分区都放到一个扩展分区内,
那当然是只有一个分区表项在MBR表中,但是如果你把比如说 C、D两个分区就放到了两个
不同的扩展分区上,那也可以实现的啊。这样的话,MBR表中就可能有多个表项了。
中午我来试试。。
 
因为扩展分区当成是 Primary 的,只有 Primary 才会出现在MBR表中。
 
昨天我试着从网上下载了一个EasyRecovery Professional 6.0专业版下来,选择不依赖文件系统的恢复方式进行恢复,
能找到5万多个文件(仅1G的数据),但只能恢复其中一些。可是它只能识别特定的文件,如DWG、DOC等,对DELPHI
的PAS文件却无能为力!!!唉,我该怎么办呢。现在各位富翁能不能确定的说我的目录区或者FAT已经被破坏?

我的看法是F和H区大小一样,是分区表信息的问题!F、H区的目录区指针也有问题,因为它们均没有完整的反映出该区的
文件(目录)情况,即F区列出的文件和H区列出的文件应合在一起才是H区破坏前实际拥有的文件!!而且现在的H区拥有
的文件与它显示已占用的数据空间不相符(应加上现在恢复后的G区文件大小)!!

因此问题的关键就是如何修改分区信息和目录指针,以及如果FAT1被破坏,怎样用FAT2来恢复FAT1!!!

以上结论是否正确,请各位富翁指正!!

再三感谢大家!!!
 
TO 小雨哥:
原来一个硬盘是建立不了两个扩展分区的,也就是在MBR表能够存储的四个分区信息,
最多只能是 3 个 primary 分区表,再加上一个扩展分区,不可能有两个扩展分区或以上,
所以不管 逻辑分区是多少个在MBR表中都只可能反映成一个相当于 primary 的分区信息,
它指向这个扩展分区链的开始。
我看了一下楼上的内容,emoth 的分区表信息(MBR中的),跟我做实验的结果一致,
也就是说不管逻辑分区的多少,反映在MBR表中都只有一个开始的链接项。
 
to emoth:

如果你的数据真的很重要的话,建议你还是找专业的数据恢复公司来做,
如果不是很重要,那倒是可以当作是“练兵场”。。
 
TO:darnis
非常非常感谢你。
看我的帖子:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1331020 中的标志。
那么在标志号⑤中所示的四个字节应该是第一个逻辑分区的分区表位置了,对吗?
如果是,则 emoth 的硬盘是第一个逻辑分区的分区表被冲掉了。
另外,暂时是不能确定 FAT 情况的,FAT 表不一定会损坏。
 
补正:
标志号⑤[注意是 16 进制排列] + 3F = 第一个逻辑分区的分区表位置
你看,我都丢三拉四了,帮忙查的时候前后翻页看看,我这也可能是错的。
 
我前几天2000蓝屏后80G硬盘的东西全没了,后来是用了国产软件diskman(又名diskgen)
进行两次建立分区表的操作就可以了。第一次的时候只找到了一个盘,当我失望的时候重启机器
再操作一次,竟然又找到了两个盘,最后只有c盘没有找到。最重要的e盘没有丢失
 
你可以试试以下方法:
1 所需要工具软件:norton DiskEdit
2 Debug.exe
-------------------
1>用DiskEdit找到所需恢复硬盘的第62扇区,那里存放第二分区表。用DiskEdit将此扇区信息
写到一个文件内:如:A:/1.txt;
2>运行Debug.exe,输入以下:('>'代表回车)
a500>
n a:/1.txt>
l200>
a500>
mov ax,0301>
mov bx,0200>
mov cx,0001>
mov dx,0080>(第一个物理硬盘)
int 13>
int 3>
>
g=500>
q>
---------------------------------






 
前几天我一个30G硬盘分区损坏,之前没有备份分区表,
用fdisk只发现10%的空间,
norton不能修复,
kv3000只看见c盘

后在华军http://sz.onlinedown.net/DiskMan.htm
下载了Disk Genius(DiskMan),操作了几次,OK,
恢复前应先执行备份

以下是软件简介:
  国产全中文硬盘分区表维护软件,
软件主要功能及特点:
1、仿WINDOWS纯中文图形界面,支持鼠标操作;
2、提供比fdisk更灵活的分区操作,支持分区参数编辑;
3、提供强大的分区表重建功能,迅速修复损坏了的分区表;
4、支持FAT/FAT32分区的快速格式化;
5、在不破坏数据的情况下直接调整FAT/FAT32分区的大小;
6、自动重建被破坏的硬盘主引导记录;
7、为防止误操作,对于简单的分区动作,在存盘之前仅更改内存缓冲区,不影响硬盘分区表;
8、能查看硬盘任意扇区,并可保存到文件。
9、可隐藏FAT/FAT32及NTFS分区。
10、可备份包括逻辑分区表及各分区引导记录在内的所有硬盘分区信息。
11、提供扫描硬盘坏区功能,报告损坏的柱面。
12、具备扇区拷贝功能。
13、可以彻底清除分区数据。
 
同意所有推荐diskman朋友的观点。它给我也帮了不少忙!
感谢**海的作者!
兄弟你试试吧!
good luck!
 
diskman是个很好的工具,我用他几次修好playboot病毒破坏的硬盘
 
用norton修复,不行的话,可以修复的可能性就小了
 
我同大家一样,用norton已很多年,其他不敢用,老牌权威嘛。
当时为什么要用DiskMan呢:反正其他工具都试过,孤注一掷吧。

当用DiskMan全自动成功修复硬盘时,想到商业软件norton
和准备上市集资的KV3000硬盘救护王,再看着完全免费的DiskMan...

让我由衷的感谢您,李大海。
 
To 小雨哥:
厉害!看来你是经常把硬盘弄来翻过来翻过去了 :)
我对分区信息的格式内容不是很熟,都是以前上学的时候,对这些东西感兴趣
所以多看了几眼,,呵,如果你那⑤的内容是分区的位置信息的话,那就应该是第一
个逻辑分区的物理位置参数。

但是按照的我分析,emoth 已经把他的分区表贴出来了,有些不可理解。

///////////////////////
根据diskgen.exe所查找分区位置的绝对扇区号,我查出了以下CHS值的DBR表(均为修改前,即破坏状态)

C/H/S=0/0/1(即F区?) // 1、这里放的是MBR表,不是DBR,MBR表项里只放 primary
// 主分区,或者是扩展分区。
// 扩展分区是逻辑分区的“容器”,所有逻辑分区都是挂在
// 扩展分区里的,我记得是这样的:
// MBR表中的项是记录的是逻辑分区的
// 第一分区也就是你的F,当你依照这里提供的起始位置
// 到达的扇区信息(DBR)里面,,见2、

01be: 00 00
01c0:01 01 0f fe 7f b1 c1 3e - 00 00 71 2c 60 02 00 00
01d0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
01e0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
01f0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 aa

C/H/S=1276/0/1(即G区) // 2、这里接着了,这里应该是F区开始,按照我的分析
// 你这里的表项应该只有一项,它是一个指向G区开始的
// 记录。但是他这里居然是两个表项?然后由G区的DBR
// 表中指向H区。

01be: 00 01
01c0:c1 ff 0b fe ff ff 3f 00 - 00 00 44 70 0b 01 00 00
01d0:c1 ff 05 fe ff ff be fb - 43 02 b3 30 1c 00 00 00
01e0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
01f0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 aa

C/H/S=2367/0/1(即H区) // 3、按我的理解,这里的分区表项应该为空,什么也没有
// 不管形式上怎样,我还是看过我的分区再来说。。:)
// 实践出真知嘛。所以这里也不说这些表的内容是否正确。

01be: 00 01
01c0:c1 ff 0b fe ff ff 3f 00 - 00 00 74 30 1c 00 00 00
01d0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
01e0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
01f0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 aa

另外楼上兄弟们推荐的 DiskMan 我是早有听说了,只是也没有用过,
如果能够解决问题的话,那也算是好事了。 :-)
 
后退
顶部