linux下rm -r誤刪NTFS文件恢復方法


linux下rm -r誤刪NTFS文件恢復方法(nfs-3g)

一時疏忽,手一抖,把整個掛載的F盤刪了一半!頓時傻眼!!

被刪的F盤是Windows下NTFS分區,在Ubuntu12.04中掛載了F盤,使用rm命令時粗心大意,誤刪了一半的數據。

血的教訓告訴我們,使用rm -r命令一定要帶上-i,否則讓你后悔莫及!

還好在Linux下有一種方法可以恢復被刪除的NTFS分區文件。

本文地址:http://www.cnblogs.com/yhLinux/p/4106099.html

 

在文件被誤刪后,不要再往分區寫數據!切記。

 

首先,看看我們被刪的F盤:

復制代碼
$ df -Th 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/sda9 ext4 35G 18G 15G 55% / udev devtmpfs 1.9G 4.0K 1.9G 1% /dev tmpfs tmpfs 384M 936K 383M 1% /run none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 1.9G 272K 1.9G 1% /run/shm /dev/sda10 ext4 38G 5.8G 30G 17% /home /dev/sda7 fuseblk 121G 52G 69G 43% /media/Recreation
復制代碼

其次,取消掛載:

umount /media/Recreation

安裝ntfsprogs包:

sudo apt-get install ntfsprogs

掃描F盤中可恢復的文件信息(這里,我指定要恢復兩個比較重要的文件先,這兩個文件比較大,10G左右):

復制代碼
$ sudo ntfsundelete /dev/sda7 -S 8g-30g Inode Flags %age Date Size Filename --------------------------------------------------------------- ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 65535: 無效的參數 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 65535: 無效的參數 .......(中間還有很多錯誤提示) ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 65535: 無效的參數 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 ntfs_attr_find: Corrupt inode (-1): 輸入/輸出錯誤 40  FN.. 100% 2013-10-05 10737418240 FeMilm76 10521 FN.. 100% 2014-08-20 21474836480 <none> Files with potentially recoverable content: 2
復制代碼

可以看出,待恢復的有兩個文件,100%表示可以完整恢復!一下看到了希望!

請注意,第二個文件的名字是 <none>,這里稍后要給出一個名字。

 

現在,我們掛載其他NTFS分區(保證有足夠的空間用於恢復被刪文件),查看一下:

復制代碼
$ df -Th 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/sda9 ext4 35G 18G 15G 55% / udev devtmpfs 1.9G 4.0K 1.9G 1% /dev tmpfs tmpfs 384M 924K 383M 1% /run none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 1.9G 204K 1.9G 1% /run/shm /dev/sda10 ext4 38G 5.8G 30G 17% /home /dev/sda5 fuseblk 81G 49G 32G 62% /media/000131C0000E41A3 /dev/sda1 fuseblk 50G 30G 21G 59% /media/66A09271A0924787
復制代碼

在sda1中新建一個文件夾21g,用於存放文件FeMilm76

在sda5中新建一個文件夾32g,用於存放文件<none>

復制代碼
$ mkdir /media/66A09271A0924787/21g/ $ ls /media/66A09271A0924787/21g/ -la 總用量 16 drwx------ 1 ovonel ovonel 0 Nov 18 15:47 . drwx------ 1 ovonel ovonel 16384 Nov 18 15:47 ..
復制代碼

一切准備就緒,開始:

復制代碼
$ sudo ntfsundelete /dev/sda7 -u -i 40 -o FeMilm76 -d /media/66A09271A0924787/21g/ Inode Flags %age Date Size Filename --------------------------------------------------------------- 40 FN.. 0% 2013-10-05 10737418240 FeMilm76 Undeleted 'FeMilm76' successfully.
復制代碼

提示恢復成功!

看看第二個文件<none>:

$ sudo ntfsundelete /dev/sda7 -u -i 10521 -o <none> -d /media/000131C0000E41A3/32g/ bash: none: 沒有那個文件或目錄

給出一個文件的名字,把none替換掉即可:

復制代碼
$ sudo ntfsundelete /dev/sda7 -u -i 10521 -o PaiZi -d /media/000131C0000E41A3/32g/ Inode Flags %age Date Size Filename --------------------------------------------------------------- 10521 FN.. 0% 2014-08-20 21474836480 <none> Undeleted '(null)' successfully.
復制代碼

成功!

整個恢復時間不長,速度挺快的,祝你好運。

(完)

參考資料:

https://help.ubuntu.com/community/DataRecovery

https://help.ubuntu.com/community/DataRecovery/NtfsUndelete

http://forum.ubuntu.org.cn/viewtopic.php?f=122&t=158497(該法不完整,沒有指定-o選項)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM