zoukankan      html  css  js  c++  java
  • 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选项)

  • 相关阅读:
    linux ssh 免密码登录
    Emacs Org Mode学习
    Emacs Org Mode学习
    java--for循环,一个分号的区别
    java--for循环,一个分号的区别
    【JVM.6】虚拟机类加载机制
    【JVM.5】类文件结构
    【JVM.4】调优案例分析与实战
    【JVM.3】虚拟机性能监控与故障处理工具
    【JVM.2】垃圾收集器与内存分配策略
  • 原文地址:https://www.cnblogs.com/jiftle/p/10966630.html
Copyright © 2011-2022 走看看