在我們的日常生活中,偶爾會(huì)出現(xiàn)這樣的經(jīng)歷:辛苦下載的資料文件一不小心被誤刪,又或者正奮力在鍵盤上敲打,電腦突然黑屏。
遇見這種情況,先不用著急,因?yàn)檎嬲臄?shù)據(jù)還在電腦里。
想要找回被誤刪除的文件,首先要了解下,電腦文件在我們點(diǎn)擊刪除后,到底跑哪兒去了?
電腦文件是如何進(jìn)行保存的
在這之前,我們需要先了解幾個(gè)概念。
電腦包括操作系統(tǒng)在內(nèi)的所有文件都存儲(chǔ)在硬盤上。而一般來(lái)說(shuō),無(wú)論哪種機(jī)械硬盤,都是由盤片、磁頭、盤片主軸、控制電機(jī)、磁頭控制器、數(shù)據(jù)轉(zhuǎn)換器、接口、緩存等幾個(gè)部分組成。
磁盤在格式化時(shí)被劃分成許多同心圓,這些同心圓軌跡叫做磁道。
所有盤面上的同一磁道構(gòu)成一個(gè)圓柱,通常稱做柱面,每個(gè)圓柱上的磁頭由上而下從“0”開始編號(hào)。
操作系統(tǒng)以扇區(qū)的形式將信息存儲(chǔ)在硬盤上,每個(gè)扇區(qū)包括512個(gè)字節(jié)的數(shù)據(jù)和一些其他信息。一個(gè)扇區(qū)主要有兩個(gè)部分,存儲(chǔ)數(shù)據(jù)地點(diǎn)的標(biāo)識(shí)符和存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)段。
了解了上述的概念,我們簡(jiǎn)單描述下文件讀寫的過(guò)程。
首先操作系統(tǒng)將文件存儲(chǔ)到磁盤上時(shí),按柱面、磁頭、扇區(qū)的方式進(jìn)行,即最先是第一磁道的第一磁頭下的所有扇區(qū),然后,是同一柱面的下一磁頭。以此類推,一個(gè)柱面存儲(chǔ)滿后就推進(jìn)到下一個(gè)柱面,直到把文件內(nèi)容全部寫入磁盤。
文件的刪除過(guò)程是怎樣的
現(xiàn)在我們知道了文件讀寫的大致原理,接下來(lái)就開始說(shuō)說(shuō)今天的正題——文件刪除。
文件存儲(chǔ)的物理形式就是把一些二進(jìn)制數(shù)據(jù)保存在磁盤上,如果我們要?jiǎng)h除某個(gè)文件,就像我們寫作業(yè)用橡皮擦或者涂改液擦抹掉已有的文字一樣。
但是要知道,電腦文件的讀寫首先是高速和頻繁的,拷貝一部電影,一般至少都要十幾秒起,反過(guò)來(lái)想想,假如要?jiǎng)h掉硬盤里的某部電影,如果按照涂改液修改作業(yè)的原理,我們得用新的數(shù)據(jù)覆蓋它,如果是這樣,豈不是刪個(gè)電影都要幾秒鐘起,這樣無(wú)論是對(duì)計(jì)算機(jī)本身還是電腦用戶而言都是不合理的。
所以,計(jì)算機(jī)的操作系統(tǒng)(如大家常用的windows10)一般刪除文件只是刪除對(duì)文件的引用,把文件曾經(jīng)所占的磁盤物理空間在邏輯上釋放出來(lái)。后面如果有新的數(shù)據(jù)存儲(chǔ),直接在此基礎(chǔ)上進(jìn)行覆蓋就好了。所以到這里,我們應(yīng)該清楚了一點(diǎn),如果你的文件意外刪除或者損壞等,請(qǐng)馬上停止任何寫入操作。
在硬盤上,都存儲(chǔ)著一張文件分配表FAT,該表記錄每個(gè)文件存儲(chǔ)在磁盤的具體地點(diǎn),我們可以理解成新華字典的目錄一樣,寫明了每個(gè)字對(duì)應(yīng)所在的頁(yè)碼,F(xiàn)AT的作用也大致如此。
我們?cè)趧h除文件時(shí),操作系統(tǒng)只是修改了這個(gè)文件的文件名的前兩個(gè)代碼,同時(shí)在與之對(duì)應(yīng)的表中文件名稱做上了刪除標(biāo)記。
對(duì)于這一點(diǎn),我們可以理解成硬盤上這個(gè)文件區(qū)域被打上了“拆遷”標(biāo)記,并在地圖上抹掉了它存在的坐標(biāo),但它其實(shí)還在那。
在我們需要新的空間進(jìn)行存儲(chǔ)時(shí),任何被打上“拆遷”標(biāo)記的區(qū)域都可以用于存儲(chǔ)新的數(shù)據(jù),即被新數(shù)據(jù)覆蓋。
那么自然地,只要存儲(chǔ)原來(lái)文件信息的扇區(qū)沒(méi)有寫入任何新的數(shù)據(jù),所有的原文件內(nèi)容依然存在。
所以,至此我們清楚了:電腦中刪除掉的文件,在沒(méi)有被新的數(shù)據(jù)覆蓋之前,依舊存在于你的硬盤上。
已刪除的文件是否可以恢復(fù)
到這里我們已經(jīng)差不多了解了文件刪除的大致情況,是否可以逆推下文件恢復(fù)的原理呢?
其實(shí)很簡(jiǎn)單,文件恢復(fù)的思路就是查找分析磁盤上的文件頭,找出其中做過(guò)刪除標(biāo)記的文件并嘗試重寫其被改寫的兩個(gè)代碼,進(jìn)而進(jìn)行數(shù)據(jù)恢復(fù)。
目前市面上文件恢復(fù)軟件的原理大致一樣,區(qū)別是它們對(duì)文件頭的掃描以及恢復(fù)分散存放的文件數(shù)據(jù)能力不同。
如果想要真正刪除掉某個(gè)文件,應(yīng)該怎么做呢?你可以通過(guò)專業(yè)工具軟件在刪除的文件區(qū)域全部寫入二進(jìn)制中的0,又或者可以手動(dòng)用其他垃圾文件進(jìn)行覆蓋硬盤操作。