原理主要是刪除的文件並沒有實際上從硬碟上抹去,只是inode索引刪除了相關的信息,因此專只要找到剛刪除屬文件的block上,就可以恢復已經刪除的文件。
以下方法在ext3的文件系統上測試通過,ext2的沒有測試過。假設刪除的文件在dir下面,位於/dev/sda5上。
主要藉助debugfs
1 運行debugfs,進入調度模式
2 執行open /dev/sda5
3 執行ls -d dir 會列出此目錄最近的操作,其中可以看到<num>的日誌刪除記錄
4 執行logmp -i <num> 顯示此日誌內容
5 在輸出中尋找刪除文件對應的block,記錄下來blockid
6退出debugfs,運行dd if=/dev/sda5 of=/tmp/saved bs=1024 count=1 skip=blockid
『貳』 linux的分區被誤刪了,開機進入不了系統
電腦是XP和AS4的抄雙系統,用AS4的GRUB引導,昨天在XP下誤刪了1G的SWAP分區,導致開機進入GRUB命令提示符,用命令可以進入XP,用分區工具重新創建SWAP分區後還是無法進入Linux。難倒要重裝Linux?這種情況下應該是你的啟動分區在swap之後,造成swap被刪後,分區id改變 。 你可以在grub shell下重新指定啟動分區。
假如linux安裝分區/dev/hda6
你輸入 root (hd0, grubinstall重裝下grub swap 刪了,應該跟grub 沒什麼關系吧!我是這樣想的!用livecd 進去後,修改 /etc/fstab文件應該就可以了!我是菜鳥,不要見笑! grubinstall重裝下grub
後按tab鍵,就可以看到當前的分區信息,根據列出的分區信息補上你現在實際根分區id就可以