一時疏忽,手一抖,把整個掛載的F盤刪了一半!頓時傻眼!!php
被刪的F盤是Windows下NTFS分區,在Ubuntu12.04中掛載了F盤,使用rm命令時粗枝大葉,誤刪了一半的數據。html
血的教訓告訴咱們,使用rm -r命令必定要帶上-i,不然讓你後悔莫及!node
還好在Linux下有一種方法能夠恢復被刪除的NTFS分區文件。linux
本文地址:http://www.cnblogs.com/yhLinux/p/4106099.htmlubuntu
在文件被誤刪後,不要再往分區寫數據!切記。bash
首先,看看咱們被刪的F盤:post
$ 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
其次,取消掛載:spa
umount /media/Recreation
安裝ntfsprogs包:code
sudo apt-get install ntfsprogs
掃描F盤中可恢復的文件信息(這裏,我指定要恢復兩個比較重要的文件先,這兩個文件比較大,10G左右):orm
$ 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選項)