linux下rm -r误删NTFS文件恢复方法
一时疏忽,手一抖,把整个挂载的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选项)
作者:红山玉龙
出处:http://www.cnblogs.com/yhLinux/
各位看官如果觉得文章对您有用的话,请猛击右下方大姆指给个推荐,让更多的朋友能够看到,以节约搜索解决方案的时间,用来做更有意义的事情o(∩_∩)o
分享知识是快乐的,也应是自由的。欢迎各位朋友转载,请您在转载时帖上本文原文链接,谢谢!