色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>主機配件>硬盤>

Linux文件系統的反刪除方法

2010年03月29日 10:39 m.1cnz.cn 作者:佚名 用戶評論(0
關鍵字:Linux(205935)

Linux文件系統的反刪除方法

作為一個多用戶、多任務的操作系統,Linux下的文件一旦被刪除,是難以恢復的。盡管刪除命令只是在文件節點中作刪除標記,并不真正清除文件內容,但是其他用戶和一些有寫盤動作的進程會很快覆蓋這些數據。不過,對于家庭單機使用的Linux,或者誤刪文件后及時補救,還是可以恢復的。
1.Ext2文件系統結構的簡單介紹
在Linux所用的Ext2文件系統中,文件是以塊為單位存儲的,默認情況下每個塊的大小是1K,不同的塊以塊號區分。每個文件還有一個節點,節點中包含有文件所有者,讀寫權限,文件類型等信息。對于一個小于12個塊的文件,在節點中直接存儲文件數據塊的塊號。如果文件大于12個塊,那么節點在12個塊號之后存儲一個間接塊的塊號,在這個間接塊號所對應的塊中,存儲有256個文件數據塊的塊號(Ext2fs中每個塊號占用4字節,這樣一個塊所能存儲的塊號就?024/4=256)。如果有更大的文件,那么還會在節點中出現二級間接塊和三級間接塊。
?
2。恢復被誤刪文件的方法
大多數Linux發行版都提供一個debugfs工具,可以用來對Ext2文件系統進行編輯操作。不過在使用這個工具之前,還有一些工作要做。
首先以只讀方式重新掛載被誤刪的文件所在分區。使用如下命令:(假設文件在/usr分區)
mount–r–n–oremount/usr
-r表示只讀方式掛載;-n表示不寫入/etc/mtab,如果是恢復/etc上的文件,就加上這個參數。如果系統說xxxpartionbusy,可以用fuser命令查看一下是哪些進程使用這個分區上的文件:
fuser–v–m/usr
如果沒有什么重要的進程,用以下命令停掉它們:
fuser-k–v–m/usr
然后就可以重新掛載這些文件系統了。
如果是把所有的文件統一安裝在一個大的/分區當中,可以在boot提示符下用linuxsingle進入單用戶模式,盡量減少系統進程向硬盤寫入數據的機會,要不干脆把硬盤掛在別的機器上。另外,恢復出來的數據不要寫到/上面,避免破壞那些有用的數據。如果機器上有dos/windows,可以寫到這些分區上面:
mount–r–n/dev/hda1/mnt/had
然后就可以執行debugfs:(假設Linux在/dev/hda5)
#debugfs/dev/hda5
就會出現debugfs提示符debugfs:
使用lsdel命令可以列出很多被刪除的文件的信息:
debugfs:lsdel
debugfs:2692deletedinodesfound.
InodeOwnerModeSizeBlocksTimedeleted
164821010060081921/1SunMay1319:22:462001
…………………………………………………………………………………
36137010064441/1TueApr2410:11:152001
196829010064414950038/38MonMay2713:52:042001
?
debugfs:
列出的文件有很多(這里找到2692個),第一字段是文件節點號,第二字段是文件所有者,第三字段是讀寫權限,接下來是文件大小,占用塊數,刪除時間。然后就可以根據文件大小和刪除日期判斷那些是我們需要的。比如我們要恢復節點是196829的文件:
可以先看看文件數據狀態:
debugfs:stat<196829>
Inode:196829Type:regularMode:0644Flags:0x0Version:1
User:0Group:0Size:149500
FileACL:0DirectoryACL:0
Links:0Blockcount:38
Fragment:Address:0Number:0Size:0
ctime:0x31a9a574--MonMay2713:52:042001
atime:0x31a21dd1--TueMay2120:47:292001
mtime:0x313bf4d7--TueMar508:01:272001
dtime:0x31a9a574--MonMay2713:52:042001
BLOCKS:
594810594811594814594815594816594817………………………………….
TOTAL:38
然后就可以用dump指令恢復文件:
debugfs:dump<196829>/mnt/hda/01.sav
這樣就把文件恢復出來了。退出debugfs:
debugfs:quit
另一種方法是手工編輯inode:
debugfs:mi<196829>
Mode[0100644]
UserID[0]
GroupID[0]
Size[149500]
Creationtime[0x31a9a574]
Modificationtime[0x31a9a574]
Accesstime[0x31a21dd1]
Deletiontime[0x31a9a574]0
Linkcount[0]1
Blockcount[38]
Fileflags[0x0]
Reserved1[0]
Fileacl[0]
Directoryacl[0]
Fragmentaddress[0]
Fragmentnumber[0]
Fragmentsize[0]
DirectBlock#0[594810]
…………………………….
TripleIndirectBlock[0]
使用mi指令后每次顯示一行信息以供編輯,其它行可以直接按回車表示確認,把deletiontime改成0(未刪除),Linkcount改成1。改好后退出debugfs:
debugfs:quit
然后用fsck檢查/dev/hda5
fsck/dev/hda5
程序會說找到丟失的數據塊,放在lost found里面。這個目錄里的文件就是我們要的東東。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 久久99影院| 暗卫受被肉到失禁各种PLAY| 伦理电影v男人天堂| 国产成人精品自线拍| 永久免费毛片| 小SB几天没做SAO死了H| 日本久久网站| 麻豆AV久久无码精品九九| 国产精品人妻无码久久久蜜桃臀 | 久久精品国产只有精品| 国产电影无码午夜在线播放| 99热精品在线av播放| 一个人看的www视频动漫版| 岛国大片在线播放高清| 无套内射CHINESEHD熟女| 国产精品一国产精品免费| WWW亚洲精品久久久无码| 中文字幕亚洲男人的天堂网络| 亲胸摸下面激烈免费网站| 久久久久久久国产精品视频| 国产永久免费视频| 国产大片51精品免费观看| xxx日本hd| 91精品国产色综合久久| 樱桃bt在线www| 亚洲天堂久久久| 青青草伊人网| 免费国产成人高清在线观看视频| 久久久97人妻无码精品蜜桃| 狠狠色丁香婷婷久久综合| 国产女高清在线看免费观看| 18和谐综合色区| 性xxx在线观看| 色欲档案之麻雀台上淫| 日本无码毛片一区二区手机看| 欧美高清videosgratis高| 户外插BBBBB| 国产午夜精品美女免费大片| 国产精品麻豆a在线播放| 国产精品XXXXX免费A片| 国产高清视频a在线大全|