打個通俗易懂的比方,檔案在磁碟上的儲存就像是乙個鍊錶,表頭是檔案的起始位址,整個檔案並不一定是 連續的,而是乙個節點乙個節點的連線起來的。要訪問某個檔案時,只要找到表頭就行了。刪除檔案時,其實只是把表頭刪除了,後面的資料並沒有刪除,直到下一 次進行寫磁碟操作需要占用節點所在位置時,才會把相應的資料覆蓋掉。資料恢復軟體正是利用了這一點。所以,就算你誤刪了檔案之後又進行了其他寫磁碟操作, 只要沒有覆蓋掉那些資料,都是可以恢復的。想當年,馬甲爵同學作案之後為了隱藏行蹤,把自己的硬碟格式化了n次,但還是被警察叔叔用專業恢復工具找到了蛛 絲馬跡,並最終確定了他的去向,將其抓獲。
檔案之所以能被恢復,須從檔案在硬碟上的資料結構和檔案的儲存原理談起。新買回的硬碟需分割槽、格式化後才能安裝系統使用。一般要將硬碟分成主引導扇區、作業系統引導扇區、檔案分配表(fat)、目錄區(dir)和資料區(data)五部分。
在檔案刪除與恢復中,起重要作用的是「檔案分配表」的「目錄區」,為安全起見,系統通常會存放兩份相同的fat;而目錄區中的資訊則定位了檔案資料在磁碟中的具體儲存位置——它記錄了檔案的起始單元(這是最重要的)、檔案屬性、檔案大小等。
在定位檔案時,作業系統會根據目錄區中記錄的起始單元,並結合檔案分配表區知曉檔案在磁碟中的具體位置和大小。
實際上,硬碟檔案的資料區儘管佔了絕大部分空間,但如果沒有前面各部分,它實際上沒有任何意義。
人 們平常所做的刪除,只是讓系統修改了檔案分配表中的前兩個**(相當於作了「已刪除」標記),同時將檔案所佔簇號在檔案分配表中的記錄清零,以釋放該檔案 所佔空間。因此,檔案被刪除後硬碟剩餘空間就增加了;而檔案的真實內容仍儲存在資料區,它須等寫入新資料時才被新內容覆蓋,在覆蓋之前原資料是不會消失 的。恢復工具(如finaldata等)就是利用這個特性來實現對已刪除檔案的恢復。
對硬碟分割槽和格式化,其原理和檔案刪除是類似的,前者只改變了分割槽表資訊,後者只修改了檔案分配表,都沒有將資料從資料區真正刪除,所以才會有形形色色的硬碟資料恢復工具。
那麼,如何讓被刪除的檔案無法恢復呢?很多朋友說,將檔案刪除後重新寫入新資料,反覆多次後原始檔案就可能找不回啦。但操作起來比較麻煩,而且不夠保險。
因此,最好能借助一些專業的刪除工具來處理,例如o&osafeerase等,可以自動重寫資料n次,讓原始資料面貌全非
git 恢復被刪除的檔案
剛接觸 git 的時候,當碰到之前刪除某個檔案 比如 後面開發又需要恢復的時候,會採取非常笨的方法。從某乙個檔案存在的 commit 切換出乙個新的分支,再將需要的某個檔案拷貝出來。像是類的檔案有時候會直接叫 ui 設計師再發乙份。這種需要恢復檔案情況不多時 好像確實也不是太多,目前本人遇到這種情況...
linux下例項恢復被刪除檔案
今天突然想到要測試下檔案恢復,網上看到很多人用一款ext3grep的軟體,下下來使用後發現 效果不佳,只能恢復小檔案,不能恢復目錄。後來又找到一款名叫extundelete的軟體,使用後發現不錯,官網據說還能恢復ext4檔案系統下的檔案 以下是實驗記錄 file name inode number ...
資料恢復原理 FAT32資料恢復原理
fat32資料恢復原理 結構 mbr dbr dbr2 fat1 fat2 dir data fat32 資料恢復原理 由於fat與fdt對資料的鏈式儲存管理的,可以通過鏈式搜尋查詢。只有fat表和fdt配合使用,才能可以統一管理整個磁碟檔案,也就可以準確定位被刪除的檔案的確切位置。在 window...