返回论坛首页联系我们论坛帮助
>> 在使用电脑时遇到问题了吗?来这里求答解疑吧……本版精华
搜一搜相关精彩主题 
泥客论坛(十几年前的回忆)泥客技术☆电脑应用☆ → 手工恢复回收站文件

您是本帖的第 6041 个阅读者
树形 打印
标题:
手工恢复回收站文件
tianya
帅哥哟,离线,有人找我吗?
等级:高中二年级
威望:526
文章:1056
积分:29100
注册:2003年7月3日
楼主
  QQ 点击这里发送电子邮件给tianya

发贴心情
手工恢复回收站文件
回收站是Windows系统(包括Windows 9x和Windows NT操作系统)特殊管理的一个组件,其作用是保存用户删除的文件或文件夹,防止用户因误操作删除文件而导致损失。从技术上讲,回收站实际上是逻辑磁盘上文件名为Recycled的文件夹,作为临时保存删除文件的特殊存储空间,保护模式的Windows 9x操作系统将对该文件夹实施特殊管理。
问题的提出
在Windows 9x操作系统正常工作状态下,用户可以非常方便地恢复或真正删除保存在回收站文件夹中的删除文件。但是,如果用户误删了操作系统的重要文件,导致操作系统不能正常启动到保护模式,这样自然无法启动回收站管理器,当然也就不可能恢复回收站中保存的删除文件。此时,为了避免重新安装操作系统,可以用手工方式恢复回收站文件夹中的删除文件,但是,由于Windows 9x操作系统采用特殊的技术保存删除的文件,因此手工恢复回收站中的删除文件并非是简单的复制文件操作,本文针对这个问题进行讨论。
存储删除文件的机制
Windows 9x操作系统的回收站实际上采用的是复制部分FDT表内容和增加说明文件的特殊方法来管理删除文件的。复制FDT表的实质就是在Recycled目录下复制一份原来文件在FDT表中的目录项,同时将原文件在原来文件夹下的FDT表中所有登记目录项的首字符置为E5H。其具体工作原理是:
1. 当一个文件被删除后,在对应逻辑磁盘的Recycled文件夹中新建一个文件,这个文件在FDT表中仅占用32个字节。根据回收站文件夹中已命名文件的情况,给新建立的文件命名为:DXn,其中n为数字,其值与当前Recycled文件夹中已重新命名的删除文件数量有关,一般情况下按删除文件的顺序编号。X表示删除文件所在的逻辑盘的盘符,若删除的文件在C盘,则X为C; 若在D盘,X则为字母D,以此类推。若删除的文件包括扩展名,则保留原扩展名并记录到FDT表的目录项中,在Recycled文件夹中实际构成“DXn.原扩展名”的新文件名。
2. 在对应逻辑磁盘的Recycled文件夹下的特殊文件(Info2文件)中添加记录原删除文件的完整文件名、存放的位置(路径)和与新建文件名的对应关系的数据。
3. 若删除的是文件夹,则在Recycled文件夹下面新建立一个文件夹,文件夹的命名方式和在特殊文件中记录的数据与删除文件时完全相似。由于文件夹的内容实际上就是一个FDT表,因此不再对被删除文件夹下面的文件进行任何处理,原样保留其数据。
回收站文件夹中包括Desktop.ini和Info2文件两个控制文件。当操作系统清空回收站后,回收站文件夹中仅包括Desktop.ini文件。一旦逻辑磁盘中有删除文件或文件夹的操作发生,回收站文件夹将立即自动生成Info2文件,并且随着回收站中保存的删除文件的增加,Info2文件的长度也相应变化。
Info2文件是回收站文件夹中最重要的文件之一, Info2文件的文件头由20个字节构成,用于描述与Info2控制文件相关的重要信息。在后面是按顺序记录的删除文件信息块,每个被删除的文件用280个字节记录其相关信息。其中删除文件原来存储的路径和文件名记录在280个字节的前260个字节中,如果路径和文件名的长度不足260个字节,则以“00H”作为结束的标志。当Info2文件中记录的数据块所对应的文件已经被真正删除或还原后,操作系统并不清除整个数据块,而是将数据块的第1个字节置为“00H”。删除文件的编号记录在280个字节的第261字节至第264字节。由于删除的文件在Recycled文件夹下以“DXn.扩展名”的方式重新命名,这个编号也就是文件名中的n。值得注意的是,数据块的第264字节为32位数值的最高8位,而数据块中第261字节为32位数值的最低8位。例如,如果删除文件的编号数值为65536,则对应的4个字节数值为“00 00 01 00”,即16进制的10000H。Info2文件中每个删除文件对应的280个字节的其他字节分别记录了回收站所在逻辑磁盘标志、删除文件的日期和时间、删除文件所占磁盘空间等信息,由于这些信息与手工恢复文件关系不大,限于篇幅此处不再详细讨论。
手工恢复删除文件
根据对回收站文件夹保存删除文件技术的讨论,如果需要恢复回收站中的文件,首先应该在Info2文件中找到删除文件在回收站文件夹下保存的文件名和文件原来存放的文件夹,然后用MS-DOS的COPY命令完成删除文件的手工恢复操作。具体的恢复过程可以按以下步骤进行:
1. 用Windows 9x操作系统的启动软盘或用硬盘直接将计算机启动到命令模式。
2. 进入删除文件所在逻辑磁盘的Recycled文件夹(例如,若删除文件原来在C盘,则用CD命令进入C盘的Recycled文件夹)。
3. 用Debug info2 命令将记录删除文件数据的Info2文件打开。
4. 连续用D命令依次显示内存中Info2文件的内容至显示出被删除文件原路径和文件名信息为止(假设存储删除文件原路径和文件名的开始地址为nnnn)。
5. 用D命令显示nnnn+104地址开始的四个内存单元的值,这四个内存单元的值就是删除文件的编号。注意,其中的104是十六进制值,表示十进制值260。例如,假设删除文件的路径从内存单元的22C处开始存储,则存储删除文件编号的内存单元为330开始的内存单元。
6. 从上述内存单元按逆向顺序取出值并去掉整数前面的零。例如,若四个内存单元的值依次为“01 02 00 00”,则删除文件对应的编号为201,对应于十进制的编号为513。
7. 通过上述编号可以知道删除文件在Recycled文件夹中对应的文件名是DC513(若删除的文件在逻辑D磁盘,则对应的文件名是DD513),其中的C表示逻辑C磁盘。删除文件的扩展名与删除前完全相同。
8. 继续操作并记录下其他要恢复的删除文件信息。
9. 退出Debug程序。
10. 根据记录的数据,用COPY命令完成删除文件的恢复。
11. 重新启动计算机,手工恢复的文件就可以发挥作用了。
手工恢复删除文件夹
由于回收站保存删除文件夹的技术比较特殊,因此可以用以下两种方式来恢复已经被删除的文件夹:
1. 如果已经知道被删除文件夹中某一个或几个文件的文件名,则可以在Recycled文件夹中依次进入以“DXn.原扩展名”方式命名的文件夹并列出文件目录,若找到已知的文件名,则可以使用DOS的XCOPY命令将文件夹及下面的文件复制到删除前的位置。
2. 如果对被删除文件夹下面的文件一无所知,则可以采用前面讨论的删除文件恢复技术,通过在Info2文件中找到删除文件夹的信息和对应的文件夹名称编号,再用XCOPY命令进行恢复。
ip地址已设置保密
2003/8/17 15:18:15

 1   1   1/1页      1    
Powered By Dvbbs Version 7.1.0 Sp1
页面执行时间 00.10938 秒, 5 次数据查询