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 % /
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文件恢复方法的更多相关文章
- 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下添加用户并将文件夹授权给某一个用户 背景:在做一个项目时,需要外包的前端人员调试测试环境的页面,但是又不能给他服务器的账号信息,就在服务器上新添加一个子账户,再给这个账户项目文件的 ...
随机推荐
- 位段(bitfield)
struct { unsigned int fieldA : 4 ; unsigned int fieldB : 2 ; unsigned int ...
- ETL利器Kettle
ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析 ...
- WCF在tcp通道下启用httpget
关于tcp通道下,启用httpget,必须启用一个http的基地址,如果要启用元数据交换,host中必须开启服务描述. //01 create host Uri tcpBaseAddress = ne ...
- java--UDP屏幕广播代码
1.发送端的代码 这里广播的地址只写了一个 package com.udp.broadcast; import java.awt.Robot; import java.awt.image.Buffer ...
- Android剪贴板操作----ClipboardManager
andrid developers java.lang.Object ---android.text.ClipboardManager ------android.context.ClipboardM ...
- Html登录表单阻止自动填充
设置属性 autocomplete="off" 阻止浏览器从cache获取数据填充登录表单. <input type="text" name=" ...
- redis对比其余数据库
Redis属于常见的NoSQL数据库或者说非关系数据库:Redis不使用表,她的数据库也不会预定义或者强制去要求用户对Redis存储的不同数据进行关联. 常见数据库对比: 和高性能键值缓存服务器mem ...
- UITextField常用属性归纳:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等
(1)可以根据需要设置文本框的样式(包括形状.边框颜色.背景等). (2)可以根据需要设置文字显示样式(包括输入密码时的密文显示.文字横向居中.纵向居中上下.输入的文字是否首席木大写.文字超过后是否缩 ...
- 对OnOutOfMemoryError的运维处理
以部署在linux系统/opt/Server目录下的Server.jar为例 1.在run.sh启动脚本中添加jvm参数: -XX:OnOutOfMemoryError=/opt/Server/res ...
- 利用windows服务+timer或者windows任务计划程序+控制台进行进行每日邮件推送
1.邮件发送代码 using System.Text; using System.Net; using System.Net.Mail; using System.Reflection; using ...