Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)
1. 背景
在Windows(从XP到Win7)中删除文件时,无论是Delete或者是Shift+Delete,都不能真正的删除文件,它做的事情只是从文件分配表中删除了该文件的信息,而并未将文件从存储介质中真正删除。直到硬盘需要此数据空间时,原先的数据才会被覆盖。
因为这样的删除机制,所以网上才有很多的文件恢复工具,如:EasyRecovery/FinalRecovery/Recuva等;相应的,网上也有很多的文件彻底删除工具,它们的名称我就不一一列举了,因为经过我的试验,它们中的好多其实是不能真正物理删除文件的。
前段时间需要恢复一个被自己删除的文件,然后用FinalRecovery恢复,效果不错。然后我就想,那怎样彻底删除一个文件呢?如果是我的隐私信息,我当前不希望我按Shift+Delete,它其实还在我的硬盘上。然后我就用手头的工具测试了一下,不测不知道,一测吓一跳。我用的Windows优化大师是付费版本的,它自带的Wopti文件粉碎工具根本不能物理删除文件。测试了多次,无论是图片、文本文档,都可以轻易的通过FinalRecovery工具恢复(包括文件名不变,内容不变)。然后我又下载了360文件粉碎工具,一样的效果(它的反应速度还很快,几个G的数据几秒就删除完了,可能吗?)。(此段落内容是09年做的测试,现在不知道怎样了)
本文的目的就是探讨Windows环境下文件的删除与恢复。怎样彻底删除文件?怎样恢复误删除的文件?
2. 怎样彻底删除文件?
- 推荐文件粉碎工具一,Wipe File。它是一款免费的软件,免安装,只有几百K,功能很强大,可以对文件真正的彻底删除。经它删除后的文件,通过FinalRecovery/Recuva都不可以恢复(不能获取原文件名,不能获取原文件数据内容,都经过乱码处理了)。同时可以通过配置,把它集成到右键菜单中。下载地址:http://www.gaijin.at/dlwipefile.php
- 推荐文件粉碎工具二,Eraser。它是一款开源软件,稍大些,9M左右,功能更强大,可以对文件(File)、文件夹(Folder)、回收站(Recycle bin)、尚未使用空间(Unused disk spaces)等进行彻底删除。下载地址:http://eraser.heidi.ie/
建议:
- 如果文件还没有删除,用上面两种工具都可以彻底删除。
- 如果文件已经在回收站里,则只能通过Eraser选择回收站(Recycle bin)进行彻底删除。
- 如果文件已经按Shift+Delete删除了(或清空回收站),则建议通过Eraser选择尚未使用空间(Unused disk spaces)等进行彻底删除(非常耗时);或者是通过Recuva工具先扫描磁盘中已经删除了的文件,然后选择需要覆盖的文件,在右键菜单中选择“安全覆盖选择项目”,这样速度来得快些,但结果没有经过测试。
- 一般文件3次以上重写即可(如:美国海军规范);重要文件请选择古特曼法(Peter Gurmann)覆写35次,以保证文件不可以恢复。大文件多次覆写请慎重,因为特别耗时。为什么要覆写如此多的次数,请参考文章:http://wenku.baidu.com/view/d4700bea81c758f5f61f67a0.html
3. 怎样恢复误删除的文件?
- 如果刚按了Delete,文件在回收站内,直接到回收站选择相关文件恢复即可。
- 如果删除了文件,并且已经清空了回收站,则只能通过工具恢复。推荐文件恢复工具,Recuva,下载地址:http://www.piriform.com/,效果很不错,有免费版本也有商用版本。反删除软件FinalRecovery工具也很不错,但它需要注册。
- 如果用了类似于上面的工具彻底删除了某文件,然后又想恢复此文件,那么,上帝保佑你吧......
Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)的更多相关文章
- python Windows环境下文件路径问题
转自:http://blog.sina.com.cn/s/blog_5ee7254801013zu7.html 在python程序里面我们经常需要对文件进行操作,Windows下的文件目录路径使用反斜 ...
- Windows环境下Mysql如何快速导入或恢复表为innodb的数据
注: 一.这个是对Innodb的数据恢复.MyISAM不需要这么麻烦,只要数据文件存在直接复制过去就可以. 二.该方法只适用于 1:想要恢复或者导入表的ibd文件和frm文件 2:你不仅需有ibd和f ...
- windows环境下创建 .文件夹
一.windows环境下创建 .文件夹 1.新建一个文件夹 2.重命名为.properties.(名字前后都加点) 二.windows环境下创建 .文件 1.上面的方法对文件同样适用 2.运行CMD, ...
- maven在windows环境下加载settings.xml文件
今天发现maven在windows环境下加载的settings.xml文件是c:下的,就算修改conf下的settings.xml里的<localRepository>给他明确指向也没用.
- windows环境下svn同步web文件[转]
windows环境下svn同步web文件 SVN在团队开发中使用非常普遍,是一个很方便的版本控制系统. 如果要是能将SVN服务器上的数据自动发布到Web服务器,那将是整个项目开发.测试更加便捷.利用S ...
- Windows环境下用C#编程将文件上传至阿里云OSS笔记
Windows环境下用C#编程将文件上传至阿里云OSS笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/detai ...
- Windows环境下C++中关于文件结束符的问题
参考资料:http://www.cnblogs.com/day-dayup/p/3572374.html 一.前言 在不同的OS环境下,程序中对应的文件结束符有所不一样,根据<C++ Prime ...
- 在windows环境下运行compass文件出现的错误提示解决方案
在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...
- windows环境下备份与恢复,与文件拷贝
mySQL数据库在windows环境下备份与恢复 解压版需进入数据库安装目录.安装版可以忽略本步骤: 1.先在运行中输入CMD,启动命令行2.进入Mysql的Bin目录:E:\Program File ...
随机推荐
- Cocos2d-x教程(31)-TableView的滚动栏
欢迎增加Cocos2d-x 交流群:193411763 转载时请注明原文出处 :http://blog.csdn.net/u012945598/article/details/38587659 在非常 ...
- linux环境中设置jacoco覆盖率
cd /alidata1/admin/za-themis pkill -9 -f za-themis #CATALINA_HOME=/root/za-tomcat #CATALINA_BASE=/ro ...
- Effective C++:条款26:尽可能延后变量定义式的出现时间
(一) 那么当程序的控制流到达这个变量定义时.变承受构造成本:当变量离开作用域时.便承受析构成本. string encryptPassword(const std::string& pass ...
- Oracle多行记录合并自定义函数
在oracle数据库中,进行字段合并,可以使用wm_concat(column)函数,但是在这种方法不被Oracle所推荐,因为WMSYS用户用于Workspace Manager,其函数对象可能因版 ...
- PHP高级教程-Session
PHP Session PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置.Session 变量存储单一用户的信息,并且对于应用程序中的 ...
- Struts2(四)Action一接收参数
一.属性接收参数并输出 导入struts2的包,导入需要的包 和struts.xml配置文件 <?xml version="1.0" encoding="UTF-8 ...
- ios 的 desciption
前段时间,终于将 ipa 文件打包完毕,上传appStore ,最后被打回,是因为 敏感的调用设备功能没有写描述. 有两种解决方式: A.直接修改 info.plist 文件 1.设置启动图标(CFB ...
- git查看各个branch之间的关系图
两种方法: 一. 使用Git log命令 git log --graph --decorate --oneline --simplify-by-decoration --all 说明: --deco ...
- 实战c++中的vector系列--将迭代器转换为索引
stl的迭代器非常方便 用于各种算法. 可是一想到vector.我们总是把他当做数组,总喜欢使用下标索引,而不是迭代器. 这里有个问题就是怎样把迭代器转换为索引: #include <vecto ...
- Struts2的配置文件的配置struts.xml
在学习struts的时候,我们一定要掌握struts2的工作原理. 仅仅有当我们明白了在struts2框架的内部架构的实现过程.在配置整个struts 的框架时.能够非常好的进行逻辑上的配置.接下来我 ...