系统文件的完全清除方法详解

如果只能使用Windows本身提供的工具 , 那么我们可以认为清空回收站之后 , 被删除的文件已经彻底清除了 。不过事实并非如此 , 只要有专用的硬件和软件 , 即使数据已经被覆盖、驱动器已经重新格式化、引导扇区彻底损坏 , 或者磁盘驱动器不再运转 , 我们还是可以恢复几乎所有的文件 。

一、磁盘如何保存数据

要理解如何恢复已删除的数据 , 首先要搞清楚磁盘如何保存数据 。硬盘驱动器里面有一组盘片 , 数据就保存在盘片的磁道(Track)上 , 磁道在盘片上呈同心圆分布 , 读/写磁头在盘片的表面移动访问硬盘的各个区域 , 因此文件可以随机地分布到磁盘的各个位置 , 同一文件的各个部分不一定要顺序存放 。

存放在磁盘上的数据以簇为分配单位 , 簇的大小因操作系统和逻辑卷大小的不同而不同 。如果一个硬盘的簇大小是4 K , 那么保存1 K的文件也要占用4 K的磁盘空间 。大的文件可能占用多达数千、数万的簇 , 分散到整个磁盘上 , 操作系统的文件子系统负责各个部分的组织和管理 。

当前 , Windows支持的硬盘文件系统共有三种 。第一种是FAT , 即所谓的文件分配表(File Allocation Table) , 它是最古老的文件系统 , 从Dos时代开始就已经有了 。Windows 95引入了第二种文件系统 , 即FAT 32 , Windows NT 4.0则引入了第三种文件系统NTFS 。这三种文件系统的基本原理都一样 , 都用一个类似目录的结构来组织文件 , 目录结构包含一个指向文件首簇的指针 , 首簇的FAT入口又包含一个指向下一簇地址的指针 , 依此类推 , 直至出现文件的结束标记为止 。

二、Windows不能真正清除文件

在Windows中 , 如果我们用常规的办法删除一个文件 , 文件本身并未被真正清除 。例如 , 如果我们在Windows资源管理器中删除一个文件 , Windows会把文件放入回收站 , 即使我们清空了回收站(或者不启动回收站功能) , 操作系统也不会真正清除文件的数据 。

Windows所谓的删除实际上只是把文件名称的第一个字母改成一个特殊字符 , 然后把该文件占用的簇标记为空闲状态 , 但文件包含的数据仍在磁盘上 , 下次将新的文件保存到磁盘时 , 这些簇可能被新的文件使用 , 从而覆盖原来的数据??因此 , 只要不保存新的文件 , 被删除文件的数据实际上仍旧完整无缺地保存在磁盘上 。

因此 , 我们可以用工具软件绕过操作系统 , 直接操作磁盘 , 恢复被删除的文件 。这类工具软件很多 , EasyRecovery就是其中的佼佼者 。

如果不小心删除了某个重要文件 , 想要恢复 , 这时千万不要覆盖它 。立即停用计算机 , 不要再向磁盘保存任何文件 , 包括不要把恢复工具安装到已删除文件所在的硬盘 , 因为任何写入磁盘的内容都有可能覆盖已删除文件释放的磁盘簇 。如果必须安装恢复工具 , 可以安装到其他硬盘分区、软盘 , 或者干脆拆下硬盘到另一台机器上去恢复 。

三、覆盖七次才能清除的蛛丝马迹

如果数据已经覆盖 , 用通常的恢复工具就无能为力了 , 但这并不意味着我们绝对不能挽救丢失的数据 。读取硬盘上被覆盖的数据通常有两种办法 。

读/写磁头向磁盘写入数据时 , 它会将磁化数据位的信号调整到某个适当的强度 , 但信号不是越强越好 , 不应超出一定的界限 , 以免影响相邻的数据位 。由于信号强度不足以使存储媒介达到饱和的磁化状态 , 所以实际记录在媒介上的信号受到以前保存在同一位置的信号的影响 , 例如 , 如果原来记录的数据位是0 , 现在被一个1覆盖 , 那么实际记录在磁盘媒介上的信号强度肯定不如原来数据位是1的强度 。

推荐阅读