Linux下NTFS数据恢复研究,linux下rm -r误删NTFS文件恢复方法

一时疏忽,手一抖,把整个挂载的F盘删了一半!顿时傻眼!!

被删的F盘是Windows下NTFS分区,在Ubuntu12.04中挂载了F盘,使用rm命令时粗心大意,误删了一半的数据。

血的教训告诉我们,使用rm -r命令一定要带上-i,否则让你后悔莫及!

还好在Linux下有一种方法可以恢复被删除的NTFS分区文件。

在文件被误删后,不要再往分区写数据!切记。

首先,看看我们被删的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.. % --

Files with potentially recoverable content:

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

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

现在,我们挂载其他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,用于存放文件

$ 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.

提示恢复成功!

看看第二个文件:

$ sudo ntfsundelete /dev/sda7 -u -i -o -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.. % --

Undeleted '(null)' successfully.

成功!

整个恢复时间不长,速度挺快的,祝你好运。

(完)

参考资料:

Linux下rm操作误删恢复

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

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

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

误删ibdata1文件恢复方法

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

WPF界面布局——各种控件

Grid是最常用的动态布局控件,也是所有动态布局控件中唯一可按比例动态调整分配空间的控件. label : 标签,用来显示文本内容.可以为其他控件如文本框等添加一些描述性的信息. TextBox : ...

【原创】Kakfa api包源代码分析

既然包名是api,说明里面肯定都是一些常用的Kafka API了. 一.ApiUtils.scala 顾名思义,就是一些常见的api辅助类,定义的方法包括: 1. readShortString: 从 ...

officetohtml

http://blog.csdn.net/mcpang/article/details/6817643

NSString常见用法总结

//====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...

服务器 tfs不提供 TeamFoundation服务。基础连接已经关闭

服务器 tfs(服务器名或url)不提供 TeamFoundation服务.基础连接已经关闭,发送时发生错误.TFS突然间连接不上到,到服务器上配置团队项目的组成员资格提示这样的错误,客户端连接的时候 ...

安全cookie登录状态设计方案

我们知道web是基于HTTP协议传输的,明文传输是极其危险的,随便哪个抓包工具分析下数据包,就over啦,一个加密的传输过程应该包括两部分,一部分为身份认证,用户鉴别这个用户的真伪:另外一部分为数据加 ...

Ubuntu创建、删除文件与目录

"~"代表了用户主目录,即/home/帐户名.所以"/home/jv/下载"="~/下载" 创建文件和目录(文件夹) touch filen ...

【PHP】制作日历

本期本博主将讲述两种利用PHP制作日历的方法,由于PHP日期函数的便捷性,使得我们制作日历这一过程变得相当简单 问题描述: 1.取到当前日期,并着色显示:2.根据当前日期,判断本月有多少天,一号是周几 ...

Node.js:上传文件,服务端如何获取文件上传进度

内容概述 multer是常用的Express文件上传中间件.服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题.在SF上也有同学问了类似问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值