自己暂时没有这方面的需求,但是单位有老同志相继退休,他们会要求技术部门完全清除他们电脑硬盘的所有数据。不是格式化全盘这么简单,而是要做到完全清除,说白了就是使其无法利用数据恢复软件或设备进行恢复。这样的要求完全合理,几年用下来,电脑里的文件不计其数,里面有可能涉及到重要的、敏感的,甚至是涉密的文件,必须予以彻底删除。

  关于文件的彻底清理,网上找到一篇文章,写得不错,有参考价值,这里分享一下。

  为防止用户误删文件,Windows默认设置下按[Del]键删除文件,系统只是将文件移到回收站,文件虽然从原来的位置消失,但却仍然存在。在资源管理器中右击各驱动器的图标可修改回收站设置,可选择不使用回收站而将文件直接删除。另外,按[Shift]+[Del]键删除文件也可以直接删除文件,不过,即便是直接删除文件,系统仍然没有抹去磁盘区域中的文件内容,系统仅仅是在磁盘文件系统的文件表中将该文件标记为删除。在格式化磁盘时系统也是采取类似的操作,仅将存储文件信息的文件表初始化,磁盘中存储的数据不会有任何的改变,而且无论是快速格式化还是普通的格式化都是如此。

  使用文件恢复工具,检索文件表中标记为删除的项目,即可轻松地恢复文件。如果希望彻底地删除文件,就必须采取额外的措施清除磁盘中文件的数据。不过,具体如何删除这些数据才能够足够安全则是业界长期争议的话题。

彻底删除文件数据

覆盖数据35次能够彻底清除

  在90年代,安全删除硬盘数据需采用奥克兰大学彼得古特曼教授(Peter Gutmann)的古特曼复写法(The Gutmann Method),此法使用随机和结构化数据模式覆盖原数据存储区域35次,能够使硬盘上存储目标数据的磁性介质极性一再改变,确保即使使用磁力显微镜也无法获取磁性介质原来的极性。问题是古特曼复写法处理1TB的硬盘大约需要5天的时间,不仅需要耗费大量的时间,而且对于硬盘机械部件来说也是一项沉重的负担。

  到了2001年,大部分电脑已经配备了超过15GB的硬盘,古特曼教授为此推荐了新的随机数据覆盖删除方法,科学家克雷格赖特(Craig Wright)在实验室中通过专业的测量仪器,在磁盘表面对该方法进行了测试。他指出,在最新的硬盘上,只需用零完整地覆盖文件的原数据,基本上就不可能再次还原完整的文件。在一个已知位置删除一个文档,使用零覆盖原始内容后恢复出8个字节的内容,成功率仅有0.09%。而对于所在位置未知的文件或体积大的文件来说,恢复成功率几乎为零。因此,这种简单的数据覆盖法也获得了美国国家技术标准协会(NIST)的认可,得到了广泛的应用。

  对于CD、DVD、蓝光盘等光学存储介质,如果该介质是可擦写的,那么同样可以使用数据覆盖的方式清除文件数据。如果介质不可以擦写,那么唯一安全删除的方法是摧毁它,将其分解成许多小颗粒,在碎纸机上粉碎或者刮去存储介质的数据层,例如在光盘的标签油漆之下是反射涂料层,它包含文件的数据,用刀片刮除即可去掉光盘上的内容。

  要使用数据覆盖法清除被删除的数据,你需要一个安全的删除工具,这方面开源的免费软件Eraser(eraser.heidi.ie)是首选。安装并启动该软件,单击“Settings”打开设置页面,在“Erase settings”的“Default file erasure method”下拉菜单中选择“Gutmann(35 pass)”,设置古特曼复写法作为覆盖文件数据的默认方法,在“Default unused space erasure method”下拉菜单中选择“PseudoRandom Data(1 pass)”,设置随机数据覆盖一次的方法作为空闲磁盘空间的数据覆盖方法。完成后点击“Save”,以后简单地右击文件,选择“Eraser|Erase”即可将其删除并使用古特曼复写法清除文件数据,右击磁盘,选择“Eraser|Erase unused space”即可使用随机数据覆盖空闲的磁盘空间。

清除固态硬盘中的数据

  由于闪存的使用寿命有限,因而,固态硬盘以及一些闪存盘的控制器特别为此进行了优化,从缓存以及磁盘存取等多方面入手,尽可能地减少擦写闪存颗粒的次数,并将需要写入的数据均匀地分配给所有的闪存单元,这就导致了安全删除工具通过系统发出的数据覆盖指令无法有效地被执行,虽然数据依然被写入了闪存设备中,但是却未必能够写入目标区域,使得清除目标数据的操作失败。

  同样,对支持TRIM的固态硬盘虽然可以尝试通过指令擦写指定的闪存单元,但是仍然无法确定控制器是否已经执行了所需操作。因而,要确保完整清除闪存设备上的数据,唯一的方法是全盘擦写。这项工作可以通过厂商提供的初始化工具实现,例如英特尔的SSD工具箱。如果厂商没有提供适当的工具,那么你可以使用命令行工具HDDErase。

  使用HDDErase时你需要创建一个可启动DOS的闪存盘,并将“HDDERASE.EXE”复制到闪存盘中,重新启动电脑,在BIOS中切换SATA控制器到IDE兼容模式,通过闪存盘启动电脑并运行“HDDERASE.EXE”,仔细阅读软件说明,在软件列出的驱动器中选择需要擦除数据的驱动器,选择普通模式或者加强模式(需设备支持)对磁盘进行擦写。

  由于HDDErase直接通过SATA指令对磁盘进行低层次的擦除,固态硬盘的闪存单元将被初始化,所以磁盘将变得和新的一样。在你准备将用过的固态硬盘出售时,进行如此的处理能够确保数据的安全,但是在正常使用过程中如此处理,却是不容易实现的,一些问题是我们不得不考虑的。首先,如果固态硬盘安装了操作系统和程序该怎么办?在这种情况下,建议在擦除磁盘数据前,使用Acronis TrueImage(acronis.com)将磁盘上的全部文件镜像存储,在擦写磁盘后重新恢复。

  注意:只能够采用文件模式的镜像备份与恢复功能,类似Linux DD命令之类的镜像克隆备份将会对已经删除的文件数据同时进行拷贝。

  另外,未雨绸缪,在固态硬盘上使用TrueCrypt(www.truecrypt.org)创建一个加密容器来存储敏感信息,为加密容器选择一个至少10个字符、包含大写和小写字母以及数字的高强度密码,即可减少备份、擦除数据、恢复系统的麻烦。当你需要对这些敏感信息清除时,只需简单地删除加密容器即可,即使加密容器被恢复也无法获取其中的加密信息。

简单覆盖大部分已删除文件数据

  除了全盘擦除固态硬盘数据以外,还有一个简单的方法可以覆盖大部分已删除文件的数据,虽然从技术角度上看或许不是一个很明智的方法,但其简单易行,某些时候可解燃眉之急。

  如果你的固态硬盘仅有一个分区,并且至少10%的空间是可用的,那么通过[SHIFT]+[DEL]组合键删除文件,然后启动Eraser,单击“Settings”打开设置页面,在“Erase settings”的“Default unused space erasure method”下拉菜单中选择一个“(3 pass)”的覆盖方法,存储设置并右击磁盘,选择“Eraser|Erase Free Space”擦除空闲空间中的数据。由于固态硬盘的特殊性,3次覆写的过程可能仍有部分文件数据没有被覆盖,但是由于磁盘上的数据比较多,空闲空间又经过了3次重复擦写,所以恢复数据的可能性会非常低。不过,类似的方法需要多次擦写闪存单元,这对固态硬盘的寿命影响比较大,应该尽可能地少用这种方法。

其他特殊情况

  除了固态硬盘以外,还有其他一些特殊情况在进行清除数据的操作时可能失败。首先,通过网络访问和操作的网络存储设备,我们无法执行对特定区域数据的覆盖操作。其次,运行网络系统的服务器,通常有完善的数据缓存和备份措施,基本上无法通过数据覆盖的方法达到安全删除的目的。因而,对于需要安全删除的敏感信息,必须谨慎地选择存储介质。

  另外,在某些情况下Windows也可能阻止你删除文件,例如文件被锁定。出现类似错误大多是由于文件正在使用,通过任务管理器关闭可能正在访问目标文件的软件,通常可以解决问题,实在不行则可以使用Unlocker(www.emptyloop.com/unlocker/)之类的工具软件,帮助你查找和关闭锁定文件的进程。不过,如果文件是被系统进程锁定,那么系统进程无法简单地关闭,所以你需要借助Eraser,右击目标文件,选择“Erase|Erase on restart”,Eraser将在系统重新启动时删除文件。

  最后,对于被病毒等恶意程序破坏而无法启动的硬盘,当然也无法使用Eraser覆盖并删除硬盘上的数据,你可以使用Darik's Boot and Nuke(www.dban.org)来启动系统处理硬盘上的数据。该软件与HDDErase相比操作更简单,但是由于它工作于系统层,所以不适用于固态硬盘。对于固态硬盘,仍然需要使用HDDErase来擦除磁盘上的数据。

测试一下:数据真的无法恢复了吗?

  你可以使用数据恢复软件尝试恢复被删除的文件,测试一下安全删除软件是否有效。

  使用Recuva(www.piriform.com),你只需简单地单击“Scan”,即可列出目标磁盘上所有检测到的被删除的文件,如果其中不包含你删除的文件,或者虽然列出了文件但却无法恢复,那说明文件已经被彻底删除,如果你不放心还可以在Recuva的“Settings|Actions”中选择“Deep scan”,让软件更仔细地深度扫描硬盘查找被删除的文件。如果深度扫描仍然无法恢复,那么证明你的安全删除操作基本上算是成功的。

删除的文件为什么可以恢复?

  Windows文件系统通过一个文件表来存储磁盘中每个文件的信息,以NTFS文件系统为例,系统将文件名称、用户权限等元信息以及文件在磁盘中存储的位置等记录在主控文件表(MFT)中,该文件是一个隐藏文件,只有系统能够管理。

  当你删除一个文件的时候,系统将在MFT中标记该文件已经被删除,而文件的内容丝毫不变地保留在磁盘上,因而,使用数据恢复工具能够通过对MFT的分析找出已经被删除的文件,并轻松恢复这些文件。即便是MFT中已经找不到被删除文件的信息,但也仍然可以通过检索磁盘,尽可能地恢复这些被删除文件保存在磁盘中的数据。所以如果希望安全地删除文件,必须彻底地清除文件的数据才可以确保机密不会外泄。

云服务:能安全删除文件吗?

  你无法对云存储服务中的文件存储空间进行数据覆盖处理,不过,这通常不会有什么问题,选择一个可信任的服务提供商才是关键。

  如果服务提供商不可靠,那么你所有的文件都可能被其他人获得。而安全可靠的服务提供商会非常谨慎地处理相关的问题,甚至损坏的硬盘在更换时都会进行安全处理,你大可不必担心。不过,如果你对服务提供商缺乏信心,那么你除了可以考虑换一家服务提供商之外,也可以考虑使用TrueCrypt加密容器来存储文件。

使用闪存盘启动系统并擦除硬盘上的数据

  如果硬盘上的系统损坏而无法启动,那么你需要通过闪存盘启动系统来擦除硬盘数据,Darik's Boot and Nuke是专门为解决这一问题而设计的软件。

  下载Darik's Boot and Nuke(www.dban.org)并将文件解压缩到一个目录中,启动USB Universal Installer,从上方下拉菜单中选择“DBAN 2.2.6”,从底部菜单选择用于制作启动盘的闪存盘盘符,单击“Create”开始制作。完成后将闪存盘插入需启动的电脑,打开电脑按[F8]键或[F12]键尝试切换启动系统的驱动器,如果不成功,则可以进入BIOS将闪存盘设置为首选的启动驱动器。成功启动后你可以根据自己的需要选择目标驱动器操作,如果希望擦除当前电脑上的所有硬盘,则键入“autonuke”并回车即可。等待操作完成需要有耐心,擦除整个硬盘的数据通常需要好几个小时的时间。