设为首页 简体 | 繁体 注册 | 登录

当前位置: 网站首页 > 科技 >

不小心删了重要文件?别慌!这样做就能恢复

时间:2020-12-23 11:24来源: 科技日报

       在我们的日常生活中,偶尔会出现这样的经历:辛苦下载的资料文件一不小心被误删,又或者正奋力在键盘上敲打,电脑突然黑屏。

       遇见这种情况,先不用着急,因为真正的数据还在电脑里。

       想要找回被误删除的文件,首先要了解下,电脑文件在我们点击删除后,到底跑哪儿去了?

       电脑文件是如何进行保存的

       在这之前,我们需要先了解几个概念。

       电脑包括操作系统在内的所有文件都存储在硬盘上。而一般来说,无论哪种机械硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分组成。

       磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道。

       所有盘面上的同一磁道构成一个圆柱,通常称做柱面,每个圆柱上的磁头由上而下从“0”开始编号。

       操作系统以扇区的形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。一个扇区主要有两个部分,存储数据地点的标识符和存储数据的数据段。

       了解了上述的概念,我们简单描述下文件读写的过程。

       首先操作系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第一磁道的第一磁头下的所有扇区,然后,是同一柱面的下一磁头。以此类推,一个柱面存储满后就推进到下一个柱面,直到把文件内容全部写入磁盘。

       文件的删除过程是怎样的

       现在我们知道了文件读写的大致原理,接下来就开始说说今天的正题——文件删除。

       文件存储的物理形式就是把一些二进制数据保存在磁盘上,如果我们要删除某个文件,就像我们写作业用橡皮擦或者涂改液擦抹掉已有的文字一样。

       但是要知道,电脑文件的读写首先是高速和频繁的,拷贝一部电影,一般至少都要十几秒起,反过来想想,假如要删掉硬盘里的某部电影,如果按照涂改液修改作业的原理,我们得用新的数据覆盖它,如果是这样,岂不是删个电影都要几秒钟起,这样无论是对计算机本身还是电脑用户而言都是不合理的。

       所以,计算机的操作系统(如大家常用的windows10)一般删除文件只是删除对文件的引用,把文件曾经所占的磁盘物理空间在逻辑上释放出来。后面如果有新的数据存储,直接在此基础上进行覆盖就好了。所以到这里,我们应该清楚了一点,如果你的文件意外删除或者损坏等,请马上停止任何写入操作。

       在硬盘上,都存储着一张文件分配表FAT,该表记录每个文件存储在磁盘的具体地点,我们可以理解成新华字典的目录一样,写明了每个字对应所在的页码,FAT的作用也大致如此。

       我们在删除文件时,操作系统只是修改了这个文件的文件名的前两个代码,同时在与之对应的表中文件名称做上了删除标记。

       对于这一点,我们可以理解成硬盘上这个文件区域被打上了“拆迁”标记,并在地图上抹掉了它存在的坐标,但它其实还在那。

       在我们需要新的空间进行存储时,任何被打上“拆迁”标记的区域都可以用于存储新的数据,即被新数据覆盖。

       那么自然地,只要存储原来文件信息的扇区没有写入任何新的数据,所有的原文件内容依然存在。

       所以,至此我们清楚了:电脑中删除掉的文件,在没有被新的数据覆盖之前,依旧存在于你的硬盘上。

       已删除的文件是否可以恢复

       到这里我们已经差不多了解了文件删除的大致情况,是否可以逆推下文件恢复的原理呢?

       其实很简单,文件恢复的思路就是查找分析磁盘上的文件头,找出其中做过删除标记的文件并尝试重写其被改写的两个代码,进而进行数据恢复。

       目前市面上文件恢复软件的原理大致一样,区别是它们对文件头的扫描以及恢复分散存放的文件数据能力不同。

       如果想要真正删除掉某个文件,应该怎么做呢?你可以通过专业工具软件在删除的文件区域全部写入二进制中的0,又或者可以手动用其他垃圾文件进行覆盖硬盘操作。(据微信公众号“数字北京科学中心”)

(责任编辑:永吉)
------分隔线----------------------------

人民在线新媒体| 人民在线杂志 | 联系我们 | 人才招聘 | 网站声明 | 法律顾问 | 人员查询

人民在线新媒体版权所有 未经授权不得转载 主办:人民在线杂志社

地址:北京市复兴门内大街45号4号楼(国务院国资委商业机关办公大楼) 香港湾仔骆克道315-321号骆基中心23楼

ICP备案号:京ICP备12036689号-1 京公安网备11010502022275