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

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

一時疏忽,手一抖,把整個掛載的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
複製代碼

其次,取消掛載:url

umount /media/Recreation

安裝ntfsprogs包:spa

sudo apt-get install ntfsprogs

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

複製代碼
$ 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選項)

相關文章
相關標籤/搜索