一时疏忽,手一抖,把整个挂载的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 % /
udev devtmpfs .9G .0K .9G % /dev
tmpfs tmpfs 384M 936K 383M % /run
none tmpfs 5.0M 5.0M % /run/lock
none tmpfs .9G 272K .9G % /run/shm
/dev/sda10 ext4 38G .8G 30G % /home
/dev/sda7 fuseblk 121G 52G 69G % /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: usa_ofs: usa_count: : 无效的参数
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: usa_ofs: usa_count: : 无效的参数 .......(中间还有很多错误提示) ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: usa_ofs: usa_count: : 无效的参数
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
ntfs_attr_find: Corrupt inode (-): 输入/输出错误
FN.. % -- FeMilm76
FN.. % -- <none> Files with potentially recoverable content:

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

请注意,第二个文件的名字是 <none>,这里稍后要给出一个名字。

现在,我们挂载其他NTFS分区(保证有足够的空间用于恢复被删文件),查看一下:

$ df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda9 ext4 35G 18G 15G % /
udev devtmpfs .9G .0K .9G % /dev
tmpfs tmpfs 384M 924K 383M % /run
none tmpfs 5.0M 5.0M % /run/lock
none tmpfs .9G 204K .9G % /run/shm
/dev/sda10 ext4 38G .8G 30G % /home
/dev/sda5 fuseblk 81G 49G 32G % /media/000131C0000E41A3
/dev/sda1 fuseblk 50G 30G 21G % /media/66A09271A0924787

在sda1中新建一个文件夹21g,用于存放文件FeMilm76

在sda5中新建一个文件夹32g,用于存放文件<none>

$ mkdir /media/66A09271A0924787/21g/

$ ls /media/66A09271A0924787/21g/ -la
总用量
drwx------ ovonel ovonel Nov : .
drwx------ ovonel ovonel Nov : ..

一切准备就绪,开始:

$ sudo ntfsundelete /dev/sda7 -u -i  -o FeMilm76 -d /media/66A09271A0924787/21g/
Inode Flags %age Date Size Filename
---------------------------------------------------------------
FN.. % -- FeMilm76 Undeleted 'FeMilm76' successfully.

提示恢复成功!

看看第二个文件<none>:

$ sudo ntfsundelete /dev/sda7 -u -i  -o <none> -d /media/000131C0000E41A3/32g/
bash: none: 没有那个文件或目录

给出一个文件的名字,把none替换掉即可:

$ sudo ntfsundelete /dev/sda7 -u -i  -o PaiZi -d /media/000131C0000E41A3/32g/
Inode Flags %age Date Size Filename
---------------------------------------------------------------
FN.. % -- <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下rm -r误删NTFS文件恢复方法的更多相关文章

  1. Linux下rm操作误删恢复

    1.查看被误删的分区 df /home/Java/...      一直到刚刚被误删的文件的路径下 2.在debugfs打开分区 open /dev/ssl       最好这个分区可能不一样,根据上 ...

  2. Linux下几种另类创建文件之方法

    以前我们用编辑器例如vi来新建文件,下面介绍几种另类生成文件的方法,多用在备份和测试上. 创建文件的方法: 1.echo 命令    #echo "set bell"  >& ...

  3. 误删ibdata1文件恢复方法

    注意:以下演示过程前提为mysqld进程仍在运行中,否则无法使用下面演示过程进行恢复! 1.手工制造故障,删除ibdata1文件,注意不要重启mysql shell > rm -rf ibdat ...

  4. linux下svn清除非版本控制文件的方法

    使用svn status命令,文件名前面显示问好的就是非版本控制的文件

  5. Ubuntu 16.04使用rm -rf误删文件恢复方法收集

    说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...

  6. linux 下用find命令查找文件,rm命令删除文件

    linux 下用find命令查找文件,rm命令删除文件. 删除指定目录下指定文件find 要查找的目录名 -name .svn |xargs rm -rf 删除指定名称的文件或文件夹: find -t ...

  7. 分区恢复和NTFS文件恢复试验

    一.实验室名称:主楼实验室A2-412                  二.实验项目名称:分区恢复和NTFS文件恢复试验 三.实验学时:6学时 四.实验原理: 借助fdisk.diskgen软件对磁 ...

  8. Linux下的文件结构,及对应文件夹的作用

    Linux下的文件结构,及对应文件夹的作用 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比 ...

  9. linux下添加用户并将文件夹授权给某一个用户

    ### linux下添加用户并将文件夹授权给某一个用户 背景:在做一个项目时,需要外包的前端人员调试测试环境的页面,但是又不能给他服务器的账号信息,就在服务器上新添加一个子账户,再给这个账户项目文件的 ...

随机推荐

  1. Struts2 的 值栈和ActionContext

    1.ValueStack 和 ActionContext 的关系与区别: -- 相同点:它们都是在一次HTTP请求的范围内使用的,它们的生命周期都是一次请求 -- 不同点:ValueStack 分为对 ...

  2. fiddler 配置

    fiddler 是一个抓包工具: 配置模拟器:(逍遥游安卓模拟器) 逍遥参考:http://www.xyaz.cn/thread-163-1-1.html 1.启动模拟器后,点击设置,点击进入Wi-F ...

  3. [转载] python 计算字符串长度

    本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...

  4. tp框架实现防止非法登录

    <?phpnamespace Admin\Controller;use Think\Controller;class UserController extends Controller {//登 ...

  5. MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述

    MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述: 1.MySQL有多种存储引擎: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(Berk ...

  6. iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了

    苹果系统升级后好多应用都发了新版本来适配,今天就来分享一下我的适配历程. 首先是出现的问题: 1.push一个控制器,返回按钮和标题神奇的消失了,打开三维视图(比较坑的是有的版本老到打不开三维视图 ) ...

  7. uva 11082

    题意:知道矩阵的前i行之和,和前j列之和(任意i和j都可以).求这个矩阵.每个格子中的元素必须在1~20之间.矩阵大小上限20*20 #include<cstdio> #include&l ...

  8. SVN服务器搭建之提交日志模版构建

    SVN服务器搭建之提交日志模版构建 日志提交有两种 一种是自己客户端设置提交日志模版,这个只适用于自己,没办法强制性运用到项目中,只能依照每个人的自觉性来处理. 第二种方法是SVN服务器设置提交日志模 ...

  9. transition与visibility之间的小tips

    之前经常遇到这个问题,就是在用transition样式的时候经常不起作用,一个元素处于隐藏状态(display:none)时,通过添加一个class将元素显示出来,这样其实过度效果是不起作用的,懒做的 ...

  10. pip 加速方案

    每当我pip install * 的时候,总是发现速度很慢,通过google,发现还是有方法来解决这种状况的 在~/ 命令下,创建 .pip/pip.conf,我用的是阿里的镜像,速度还是杠杠的 mk ...