掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
程序員的誤操作造成數據丟失,忙著一個星期的項目,就這樣付之東流了。老板的痛斥、經理的訓斥接踵而來。接下來就是沒休息、加班,甚至忙到凌晨都不能離開那該死的電腦,都有種想死的感覺呢?

創(chuàng)新互聯是一家網站設計公司,集創(chuàng)意、互聯網應用、軟件技術為一體的創(chuàng)意網站建設服務商,主營產品:成都響應式網站建設公司、品牌網站設計、全網整合營銷推廣。我們專注企業(yè)品牌在網站中的整體樹立,網絡互動的體驗,以及在手機等移動端的優(yōu)質呈現。成都做網站、成都網站建設、成都外貿網站建設、移動互聯產品、網絡運營、VI設計、云產品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網站的價值服務。
為那些不喜歡備份數據的朋友帶來了福音,我們來談談數據恢復,這里我們來手把手地教會你如何利用簡單的工具來恢復被你刪除的數據。
工具: hexedit、fdisk
下文內容操作均在root環(huán)境下完成。
hexedit:
在linux上,經常會使用hexedit來修改程序的16進制代碼。而fdisk這里就不介紹了。
現在我們走進磁盤的世界,看看磁盤它對數據做點了什么吧。
首先,在終端下使用root權限,來運行下命令:
Command: fdisk -l
/dev/sdb1是今天的主角,從圖片很清晰地看到一些相關數據,比如磁盤的size,、sector、I/O size等等。
磁盤格式為ext4,而非MS上的vfat32和NTFS格式,在文章的結尾貼上FAT32的圖片。
***步:
運行fdisk,使用專家模式,來備份Partition table。
ext4的partition table非常簡單,一般備份partition table為ext4.img。備份是為了避免數據恢復中被破壞。
第二步:
首先在target sdb1上執(zhí)行剪切的命令操作,把sdb1上的文件移動到電腦硬盤上,執(zhí)行完成后,使用hexedit 來打開sdb1。
被剪切的文件名:usb.png
Command : hexedit -s /dev/sdb1
圖片中可以看到文件名和它所在的sector, 是不是發(fā)現了圖片的設備是sdc1?由于磁盤的自動掛載發(fā)生了dev的改變,而數據是不會隨著磁盤的dev變化而變化的。這里已經找到了文件名的所在,接下來,需要找到文件header。
如何找到文件頭呢? 可以利用hexedit進行hex search,如果是要著ASCII,可以按下TAB切換到ASCII區(qū)域。
文件的大小決定了文件在磁盤中所占用的sector 數,1 sector==512 bytes。在圖中,顯示了文件header offset和sector。
提取hex值,寫入文件。
恢復后的圖片:
上看著很簡單吧,它只是單文件的剪切操作與數據恢復。這里提醒下各位:磁盤中保存的數據,不是刪除了可以恢復,被剪切掉的數據一樣可恢復。
下面我們來看看從磁盤刪除數據后,如何來操作呢?
在磁盤上執(zhí)行delete命令來刪除一個名為1.gif的文件,操作如下:
圖片可以看到文件header到文件end的sector 的變化,header sector: 264056 , end sector: 264057,文件大小在1K, 圖片很小。
創(chuàng)建個新文件,然后再執(zhí)行delete操作,看看磁盤數據變化。
文件header sector : 264056, end sector: 264061 , ***次執(zhí)行刪除的文件header sector: 264056 ,end sector : 264057, 這樣可以看到***次刪除的數據被覆蓋掉,而保留了第二此刪除的數據。
這里操作是對磁盤單一文件進行數據恢復和其磁盤中的數據變化進行論證。接下來我們來看看雙文件的操作。
磁盤中存在兩個不同類型的文件。
文件名:partition.zip
文件名:cab.ico
***個文件的header secotor:264056,end sector:264058
第二個文件header sector:264064,end sector:264076。發(fā)現***個文件的end sector與第二個文件的header sector相差多個sector,那么中間的差值是什么呢?
可以看到中間的差值全部以00填充。到這里我們來總結下這次在linux上的實踐操作:
ext4 file system
執(zhí)行 剪貼
file name : usb.png sector 67120
file header : sector 264064 file end: sector 264076
執(zhí)行 刪除
file name : 1.gif sector 67112 (覆蓋)
file header: start : sector 264056 end: sector 264057 (覆蓋)
file name: 56.jpg sector 67112
file header:start: sector 264056 end: sector 264061
當單文件時,執(zhí)行刪除時,覆蓋上一次被刪除的數據。
儲存文件
(1) file name : partition.zip sector 67112
file header: start sector 264056 end sector 264058
(2) file name : cab.ico sector 67112
file header: start sector 264064 end sector: 264068
剪切區(qū):sector 264064
刪除區(qū): sector 264056
儲存區(qū):與刪除區(qū)共存
儲存區(qū): 當單文件時,儲存文件覆蓋刪除區(qū)數據。
數據恢復:當多文件時,執(zhí)行刪除時,刪除區(qū)保留數據hex,如果建立新文件數據時,將覆蓋被刪除數據hex。
附圖:
FAT32磁盤格式圖:

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流