低字节在前是一种存储数字方式,读出时应对其进行调整。是如两字节12H,34H,应调整为3412H。
文件分配表与文件目录(FDT)相配合,可以统一管理整个磁盘的文件。它告诉系统磁盘上哪些簇是坏的或已被使用,哪些簇可以用,并存储每个文件所使用的簇号。它是文件的“总调度师”。
当DOS写文件时,首先在文件目录中检查是否有相同文件名,若无则使用一个文件目录表项,然后依次检测FAT中的每个表项对应的簇中,同时将该簇号写入文件目录表项相的26-27字节,如文件长度不止一簇,则继续向后寻找可用簇,找到后将其簇号写入上一次找到的表项中,如此直到文件结束,在最后一簇的表项里填上FFF8H,形成单向链表。
DOS删除文件时只是把文件目录表中的该文件的表项第0个字节改为E5H,表此项已被删除,并在文件分配表中把该文件占用的各簇的表项清0,并释放空间。其文件的内容仍然在盘上,并没有被真正删除,这就是undelete.exe,unerase.exe等一类恢复删除工具能起作用的原因。
文件分配表在系统中的地位十分重要,用户最好不要去修改它,以免误操作带来严重的后果。 典型的FAT32表:
F8 FF FF FF FF FF FF FF 96 C4 00 00 FF FF FF 0F FF FF FF 0F 06 00 00 00 FF FF FF 0F 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 0D 00 00 00 0E 00 00 00 0F 00 00 00 10 00 00 00 FF FF FF 0F 00 00 00 00 FF FF FF 0F 14 00 00 00 15 00 00 00 FF FF FF 0F FF FF FF 0F FF FF FF 0F 19 00 00 00 1A 00 00 00 1B 00 00 00 FF FF FF 0F 00 00 00 00 1E 00 00 00 FF FF FF 0F 20 00 00 00 FF FF FF 0F 22 00 00 00 23 00 00 00 24 00 00 00 25 00 00 00 26 00 00 00 27 00 00 00 28 00 00 00 文件目录表(File Directory Table),即根目录区,又称为ROOT区: 紧跟在FAT2的下一个扇区,长度为32个扇区(256个表项)。如果支持长文件名,则每个表项为64个字节,其中,前32个字节为长文件链接说明;后32个字节为文件属性说明,包括文件长度、起始地址、日期、时间等。如不支持长文件名,则每个表项为32个字节的属性说明。 值得注意的是:
1,FAT32没有储存目录的目录区,而 FAT16储存根目录并把子目录放到数据区。
2,表示目录的目录项指出根目录地址同时长度字节为0,表示文件的目录项指出数据地址。 典型的FAT32根目录:
30 30 30 30 30 30 20 20 20 20 20 10 00 12 3C 7C 39 2B 39 2B 05 00 3D 7C 39 2B 3A 34 00 00 00 00 44 4D 32 4B 44 49 53 4B 49 4D 47 20 00 96 DB 40 39 2B 39 2B 0A 00 DC 40 39 2B 88 02 5B 72 13 00 42 49 4E 42 49 4E 20 20 20 20 20 08 00 00 00 00 00 00 00 00 00 00 47 65 09 2B 00 00 00 00 00 00 000000子目录
注意OS7前的怪字符为E5H,表示被删除,被删除文件仍旧能够找到开始簇,数据恢复就依靠这一特点。
数据区(Data Area): 紧跟在FDT的下一个扇区,直到逻辑盘的结束地址。
由上图可以想到,即使目录被破坏仍旧可能从磁盘里把信息读出。 到现在为止,硬盘数据结构的理论部分已经讲完。
数据恢复主要是手动找出FAT、目录、数据的对应关系或直接找到数据,现在已经有完善的磁盘编辑器帮助我们做到这一点,使工作大大简化了。
有只能化的恢复工具能不依靠FAT而恢复被删除文件,比如RECOVERNT,估计是依靠Win2000的文件使用记录。这种方法在冲启动之前恢复文件的。
硬盘数据恢复知识2009年05月29日 星期五 01:431、 硬件或介质问题的情况 ①、 硬盘坏:硬盘自检不到的情况一般是硬件故障,又可分为主版的 硬盘控制器(包括IDE口)故障和硬盘本身的故障。如果问题在主板上 ,那么数据应当没有影响。如果
出在硬盘上,也不是一定不能修复。 硬盘可能的故障又可能在控制电路、电机和磁头以及盘片。如果是控 制电路的问题,一般修好它,就可以读出数据。但如果电机、磁头和盘片故障,即使修理也要返回原厂,数据恢复基本没有可操作性。
②、 软盘坏:当软盘数据损坏时,可以有几种处理,一种是用NDD修 复,他会强制读出你坏区中的东西,MOVE到空白扇区中,这就意味着 如果你的磁盘很满操作是没法进行的。你也可以用HDCOPY2.0以上版本 READ软盘,他也会进行强读,使读入缓冲区的数据是完好的,你再写 入一张好磁盘就可以了。当然这些方式,要看盘坏的程度。如果0磁道
坏,数据也并非无法抢救,早先可以通过扇区读的方式,把后面的数 据读出,不过一般来说,你依然可以HDCOPY来实验。 2、系统问题的情况
①、 在硬盘崩溃的情况下,我们经常要和一些提示信息打交道。我们 要了解他典型提示信息的含义,注意这些原因仅仅分析逻辑损坏而不是 硬盘物理坏道的情况。 提示信息 可能原因 参考处理
Invalid Partition Table 分区信息中1BE、1CE、1DE处不符合只有一个80而其他两处为0 用工具设定,操作在前面已经讲了。
Error Loading Operating System 主引导程序读BOOT区5次没成功。 重建BOOT区 Missing Operating System DOS
引导区的55AA标记丢失 用工具设定,把前面读写主引导区程序的DX=80改为180即可 Non-System Disk or Disk Error BOOT区中的系统文件名与根目录中的前两个文件不同
SYS命令重新传递系统, Disk Boot Failure
读系统文件错误 SYS命令重新传递系统, Invalid Driver Specifcationg 如果试图切换到一个确实存在的逻辑分区出现以下信 息,说明主分区表的分区记录被破坏了。 根据各分区情况重建分区表,或者用自动修复工具修 复。注意分区丢失是最常见的故障之一,此时不要紧 张,一般的说此时数据并没有问题,如果你不了解处理 的方法。你
可以选择我前面介绍的自动修复分区工具进 行处理,他们大多只改写主分区表的数据区,不会影响 你的其他数据。特别提醒大家,这些工具有的不支持 8.4G硬盘,有的与BIOS对硬盘的识别有关系。如果你 在一台机器上不行,可以换台BIOS不同的机器实验一下。 Bad or missing command interpreter 这是说找不到COMMAND.com,或者COMMAND文件坏了。
如果你COPY过去COMMAND文件还是如此,一般来说是 感染了某种病毒。 Invalid media type reading drive X ,Abort,Retry,Fail?
该盘没有高级格式化,或BOOT区中I/O参数表被破坏。 这里情况较多,手工处理比较复杂,特别指出,此时 DISKEDIT可能无法运行,建议用工具修复。
Incorrect DOS Version 可能是文件版本不统一,对9X来说,有95 95osr/2,98,98 oem/2等版本,重新SYS 时,不要弄错 了。
用正确版本的启动盘重新SYS系统 另外说明一下,对于比较老的机器还有1071和not found rom basic、ROM BASIC OK等提示,在目前机器中以消失。另外,当 代码区完全被破坏的情况下,系统关于无系统 的提示是来自BIOS 的,这条提示与BIOS的种类有关。另外,FDISK/MBR对代码区的 重建是我们经常采用的。再介绍一种比较极端的情况,就是硬盘 自检正常,而用软盘和硬盘都无法正常启动的情况,这可能是, 病毒或恶意程序利用,DOS3以上版本启动中都要检索分区表这一 特点,把分区表置为死循环。造成启动中死机。网上曾经流传过 DOS6.22k修改方案,其实是修改西文MS-DOS6.22的 IO.SYS,把 C2 03 06 E8 0A 00 07 72 03替换为:C2 03 90 E8 0A 00 72 80 90就可以启动被类似情况锁住的硬盘。 ②、 9X无法正常进入或工作:以下仅仅是对可能的软故障分析 ,没有考虑硬件故障.进入图形界面前死机情况比较复杂,可能与加载的某些驱动有关 可以在START MS WINDOWS时,用F8激活菜单,设置为step by step ,看是哪项使系统死机。而后从CONFIG或者SYSTEM。INI中删除进入图形界面后死机一般这与开机加载的程序有关进入安全模式(此时自动 运行的程序将不能加载),对注册表中的 HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run* 中的键值和启动组中加载的程序进行分析。必要的予以删除。显示IEXPLORE.EXE错误,不能进行任何操作
可能有某个系统的动态连接库损坏覆盖安装WIN9X,或从 其他机器上COPY损坏的连接库。(确定哪个库损坏一般 比较困难) 频繁出现出错各种信息
一般是虚拟内存不足造成的看C盘是否剩余空间过少, 或者打开的应用程序和窗口太多。 2、 全盘崩溃和分区丢失
首先重建MBR代码区,再根据情况修正分区表。修正分区 表的基本思路是查找以55AA为结束的扇区,再根据扇区结构 和后面是否有FAT等情况判定是否为分区表,最后计算填回
, 主分区表,由于需要计算,过程比较烦琐,就不仔细介绍了 ,希望大家用前面介绍的工具,比如NDD处理。如果文件仍然 无法读取,要考虑用TIRAMINT等工具进行修复。 如果在FAT 表彻底崩溃的情况下,恢复某个指定文件,可以用DISKEDIT 或DEBUG查找已知信息。比如文件为文本,文件中包含“软件 狗”,那么我我们就要把他们转换为内码
C8 ED BC FE B9 B7 进行查找。 3、 文件丢失、误格式化的情况
一般的来说,文件删除仅仅是把文件的首字节,改为E5H,而并 不破坏本身,因此可以恢复。但由于对不连续文件要恢复文件 链,由于手工交叉恢复对一般计算机用户来说并 不容易,在这 篇缩略版中就不讲了,建议用工具处理,如果已经安装了Norton Utilities,可以用他来查找。另外,RECOVERNT 等工具,都是 恢复的利器。特别注意的是, 千万不要在发现文件丢失后,在 本机安装什么恢复工具,你可能恰恰把文件覆盖掉了。特别是 你的文件在C盘的情况下,如果你发现主要文件被你失手清掉了 ,(比如你按 SHIFT删除),你应该马上直接关闭电源,用软盘 启动进行恢复或把硬盘串接到其他有恢复工具的机器处理。误格 式化的情况可以用等工具处理。 4、 文件损坏的情况
一般的说,恢复文件损坏需要清楚的了解文件的结构,并不是很 容易的事情,而这方面的
工具也不多。不过一般的说,文件如果 字节正常,不能正常打开往往是文件头损坏。 就文件恢复举几个 简单例子。 类型 特征 处理
ZIP、TGZ等压缩包无法解压
ZIP文件损坏的情况下可以用一个名为ZIPFIX的工具 处理。不过如果你的文件是从FTP站点上下载的,那么 有可能是你没有定义下载模式为BIN。 自解压文件无法解压
可能是可执行文件头损坏,可以用对应压缩工具按一般 压缩文件解压。 DBF文件死机后无法打开
典型的文件头中的记录数与实际不匹配了,把文件头中 的记录数向下调整,遗憾的是公式我找不到了。
5、 硬盘被加密或变换:
此时千万不要FDISK/MBR,SYS等处理,否则可 能数据再也无法找回,一定要反解加密算法,或找到被移走的重要扇区。 对于那些加密硬盘数据的病毒,清除时一定要选择能恢 复加密数据的可 靠杀毒软件。 6、 文件加密后密码遗忘:
对于很多字处理软件的文件加密和ZIP等压 缩包的加密,你是不能靠加密逆过程来完成的,因为那从理论上是异常 困难的。目前有一些相关的软件,他们的思想一般都是用一 个大字典集 中的数据循环用相同算法加密后与密码的密文匹配,直到一致时则说明 找到了密码。你可以去寻找这些软件,当然,有些软件是有后门的,比 如DOS 下的WPS, Ctrl+qiubojun就是通用密码。Undiskp的作者冯志宏 是解文件密码的个中高手,大家不妨去他的主页看看。
7、 系统用户密码遗忘的处理:
最简单的方法就是用软盘启动(NT的你也 可以把盘挂接在其他NT上),找到支持该文件系统结构的软件(比如针对 NT的NTFSDOS),利用他把密码文件清掉、或者是COPY出密
码档案,用破解 软件套字典来处理。前者时间短但所有用户信息丢失,后者时间长,但保 全了所有用户信息。对UNIX系统,我建议你一定先做一张应急盘。
分区误删后如何巧妙恢复2009年05月29日 星期五 01:33 (一)文件或文件夹的恢复
不向目标分区写入新文件,从概念上容易理解,但实际要做到却不是那么容易的。因为Windows会在各个分区多多少少生成一些临时文件,加上还有在启动时自动扫描分区的功能,如果设置不当或操作上稍不留意,可能已经写入了新文件而您还不知道。 1.注意Windows扫描和报告的设置
默认状态下,Windows会在启动的时候检测分区有没有错误,如果上次是非正常关机,您就会看到一个扫描的任务及进度条,这种扫描对解决交叉链接错误有用,但对于要恢复的文件可能会造成致命的破坏—因为扫描完毕后,Windows会生成信息报告,有可能刚刚(占用)破坏目标文件的关键字节,如果是可执行文件,就算勉强恢复过来也用不了。进入Windows后,也请您不要在该目标分区进行磁盘扫描,因为默认状态下,Windows会把交叉链接文件和把文件碎片转化成*.CHK,也有可能破坏您的目标文件。如果您用的是Windows98,建议您在MSDOS.SYS里设置一下,在Option组加入一句AutoScan=0,把启动的扫描屏蔽掉;如果是Windows2000或XP,就按回车条国磁盘检测直接进入Windows。 2.不要安装新软件或运行新任务
特别是不要向恢复目标分区安装新的软件,即使是恢复软件本身。例如您要恢复的是C
盘被误删除的数据,而工具软件的默认指向都是C盘的,您一路回车安装的话,可能就万事休矣;如果您的虚拟内存设在了C盘,此时也不要打开新的任务,以免因为虚拟内存的更新变化覆盖数据。您应该在“系统”里更改虚拟内存的指向路径,然后重新启动Windows,再安装恢复软件到目标以外的分区。 3.操作恢复的技巧
(1)恢复工具的扫描技巧。一般来说,误删除文件都是马上发现自己的误操作,所以刚删除的文件在磁盘里的文件分配表处于较靠前的位置,我们可以利用这一点,加快恢复的速度。例如您运行了EasyRecover,在选定了目标分区后,只要扫描5%左右的目录树,大概在3000个到5000个文件左右,就可终止扫描,然后进入下一步,一般都能找到。这种方式比完全扫描后再找恢复文件要容易,如果您扫描所有的文件,可能会有数万个甚至10多万个已经删除的列表,此时您要找自己想恢复的目标就比较困难了—因为在您的机器里,不同时期可能产生过同一个文件名的几个文件,为了防止混乱,恢复软件一般会把这些类似的文件标记为—开头,数字编号结尾的文件,您无法按首字母来找,要靠眼睛一个个识别,太多的选择会让您眼花缭乱。可以在终止扫描时,选择保存当前扫描进度,如果5%的数量没找到您的目标,可以按此进度继续扫描,不必从头开始一次。注意这个保存操作也不要放到目标分区里,要另外指定路径存盘。DOS时代的UNDELETE软件,只能处理FAT的格式,而且对于长文件名结构无能为力。
(2)字处理软件相关文件的技巧象WPS或WORD这类字处理软件,除了用恢复工具,还可以进入其安装目录,找到隐藏的临时文件直接恢复。因为这类软件都会对您当前操作的文件生成一个后备文件,而且不自动删除,所以您可以在DOS状态下,在目标目录键入ATTRIB*.*-h消除临时文件的隐藏状态,然后把后缀名改为*.DOC*或是.WPS,就可能已经成功恢复了。当然,得到的临时文件可能会有10多个,名字也是千奇百怪的,您微一个个打开看看是哪一个吧。
用FDISK命令删除了硬盘分区之后,表面现象是硬盘中的数据已经完全消失,在未格式化时进入硬盘会显示无效驱动器。如果您了解Fdisk的工作原理,就会知道Fdisk只是重新改写了硬盘的主引导扇区(0面0道1扇区)中的内容,具体地说就是删除了硬盘的分区表信息,而硬盘中任何分区的数据均没改动。可仿照“分区表错误”的修复方法,即想办法恢复分区即数据,但这只限于删除分区或重建分区之后;如果已经对分区用Format命 令格式化,需在恢复分区之后,再恢复分区数据。
针对以上介绍的几种误删除类恢复,为了提高恢复成功率,我们应遵循如下几点: (二)恢复分区的注意事项
此处说的主要是没有正确备份分区表的情况下,对分区的恢复;已经有分区表备份的恢复很简单,这里不再重复。
1.NTFS的格式不要急于重装系统
如果您使用的是NTFS格式,但Windows运行出了问题。即使分区表没有损坏,还能看到该分区,也不要急急忙忙地重装系统。因为NTFS是有权限加密的,而且在一个操作系统下面加密的密钥是唯一的,如果您重装了系统,即使是同一个2000或XP版本,也有可能会读不出NTFS加密的文件夹。低级格式化更是不要轻易尝试。
3.如果是误格式化了分区,有条件的话,最好先用Ghost备份镜像全盘到另外一个硬盘,再尝试各种工具进行恢复操作。
一般来说,完全无损恢复是不太可能的了,只能恢复象MP3,文档,邮件等等独立的文件,对于一些要VXD设备文件,DLL动态链接对话框运行的软件,完好地恢复不太可能。所以,对分区的操作一定要小心谨慎!
2.在用NDD等工具重建分区表之前,先备份现在的分区表状态