来源:科技日报
电脑图片来源:DBMS Internals
在我们的日常生活中,偶尔会出现这样的经历:辛苦下载的资料文件一不小心被误删,又或者正奋力在键盘上敲打,电脑突然黑屏。
遇见这种情况,先不用着急,因为真正的数据还在电脑里。
想要找回被误删除的文件,首先要了解下,电脑文件在我们点击删除后,到底跑哪儿去了?
电脑文件是如何进行保存的
在这之前,我们需要先了解几个概念。
电脑包括操作系统在内的所有文件都存储在硬盘上。而一般来说,无论哪种机械硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分组成。
磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道。
所有盘面上的同一磁道构成一个圆柱,通常称做柱面,每个圆柱上的磁头由上而下从“0”开始编号。
操作系统以扇区的形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。一个扇区主要有两个部分,存储数据地点的标识符和存储数据的数据段。
了解了上述的概念,我们简单描述下文件读写的过程。
首先操作系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第一磁道的第一磁头下的所有扇区,然后,是同一柱面的下一磁头。以此类推,一个柱面存储满后就推进到下一个柱面,直到把文件内容全部写入磁盘。
文件的删除过程是怎样的
现在我们知道了文件读写的大致原理,接下来就开始说说今天的正题——文件删除。
文件存储的物理形式就是把一些二进制数据保存在磁盘上,如果我们要删除某个文件,就像我们写作业用橡皮擦或者涂改液擦电脑抹掉已有的文字一样。
但是要知道,电脑文件的读写首先是高速和频繁的,拷贝一部电影,一般至少都要十几秒起,反过来想想,假如要删掉硬盘里的某部电影,如果按照涂改液修改作业的原理,我们得用新的数据覆盖它,如果是这样,岂不是删个电影都要几秒钟起,这样无论是对计算机本身还是电脑用户而言都是不合理的。
所以,计算机的操作系统(如大家常用的windows10)一般删除文件只是删除对文件的引用,把文件曾经所占的磁盘物理空间在逻辑上释放出来。后面如果有新的数据存储,直接在此基础上进行覆盖就好了。所以到这里,我们应该清楚了一点,如果你的文件意外删除或者损坏等,请马上停止任何写入操作。
在硬盘上,都存储着一张文件分配表FAT,该表记录每个文件存储在磁盘的具体地点,我们可以理解成新华字典的目录一样,写明了每个字对应所在的页码,FAT的作用也大致如此。
我们在删除文件时,操作系统只是修改了这个文件的文件名的前两个代码,同时在与之对应的表中文件名称做上了删除标记。
对于这一点,我们可以理解成硬盘上这个文件区域被打上了“拆迁”标记,并在地图上抹掉了它存在的坐标,但它其实还在那。
在我们需要新的空间进行存储时,任何被打上“拆迁”标记的区域都可以用于存储新的数据,即被新数据覆盖。
那么自然地,只要存储原来文件信息的扇区没有写入任何新的数据,所有的原文件内容依然存在。
所以,至此我们清楚了:电脑中删除掉的文件,在没有被新的数据覆盖之前,依旧存在于你的硬盘上。
已删除的文件是否可以恢复
到这里我们已经差不多了解了文件删除的大致情况,是否可以逆推下文件恢复的原理呢?
其实很简单,文件恢复的思路就是查找分析磁盘上的文件头,找出其中做过删除标记的文件并尝试重写其被改写的两个代码,进而进行数据恢复。
目前市面上文件恢复软件的原理大致一样,区别是它们电脑对文件头的扫描以及恢复分散存放的文件数据能力不同。
如果想要真正删除掉某个文件,应该怎么做呢?你可以通过专业工具软件在删除的文件区域全部写入二进制中的0,又或者可以手动用其他垃圾文件进行覆盖硬盘操作。
(据微信公众号“数字北京科学中心”)
电脑