linux文件系统:Linux文件系统的反删除思路方法来源: 发布时间:星期六, 2009年3月14日 浏览:0次 评论:0
="t18">
作为 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 1.Ext2文件系统结构 ![]() 在Linux所用 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 2 ![]() ![]() 大多数Linux发行版都提供 ![]() ![]() ![]() ![]() ![]() ![]() 首先以只读方式重新挂载被误删 ![]() ![]() mount –r –n –o remount /usr -r表示只读方式挂载;-n表示不写入/etc/mtab ![]() ![]() ![]() ![]() ![]() ![]() ![]() fuser –v –m /usr 假如没有什么重要 ![]() ![]() fuser -k –v –m /usr 然后就可以重新挂载这些文件系统了 ![]() 假如是把所有 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() mount –r –n /dev/hda1 /mnt/had 然后就可以执行debugfs:(假设Linux在 /dev/hda5) #debugfs /dev/hda5 就会出现debugfs提示符debugfs: 使用lsdel命令可以列出很多被删除 ![]() ![]() debugfs:lsdel debugfs: 2692 deleted inodes found. Inode Owner Mode Size Blocks Time deleted 164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001 ………………………………………………………………………………… 36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001 196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001 debugfs: 列出 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 可以先看看文件数据状态: debugfs:stat <196829> Inode: 196829 Type: regular Mode: 0644 Flags: 0x0 Version: 1 User: 0 Group: 0 Size: 149500 File ACL: 0 Directory ACL: 0 Links: 0 Blockcount: 38 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x31a9a574 -- Mon May 27 13:52:04 2001 atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001 mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001 dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001 BLOCKS: 594810 594811 594814 594815 594816 594817 …………………………………. TOTAL: 38 然后就可以用dump指令恢复文件: debugfs:dump <196829> /mnt/hda/01.sav 这样就把文件恢复出来了 ![]() debugfs:quit 另 ![]() debugfs:mi <196829> Mode [0100644] User ID [0] Group ID [0] Size [149500] Creation time [0x31a9a574] Mod ![]() Access time [0x31a21dd1] Deletion time [0x31a9a574] 0 Link count [0] 1 Block count [38] File flags [0x0] Reserved1 [0] File acl [0] Directory acl [0] Fragment address [0] Fragment number [0] Fragment size [0] Direct Block #0 [594810] ……………………………. Triple Indirect Block [0] 使用mi指令后每次显示 ![]() ![]() ![]() ![]() ![]() 改好后退出debugfs: debugfs:quit 然后用fsck检查/dev/hda5 fsck /dev/hda5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() Now all O.K. Good LUCk. 0
相关文章
读者评论发表评论 |
|