【Linux|数据恢复】extundelete和ext4magic数据恢复工具使用

环境:Centos7.6_x86

一、extundelete工具

1、extundelete介绍

        Extundelete 是一个数据恢复工具,用于从 ext3 或 ext4 分区中恢复删除文件。根据官网0.2.4版本介绍是支持ext4,但实际上使用发现ext4格式有些问题,会报以下错误:

报错1:

报错2:

2、下载extundelete

官网下载链接:Download extundelete (sourceforge.net)

百度网盘下载链接: https://pan.baidu.com/s/14bkmSiIcqab2MW0ng6a7ew?pwd=ub59 提取码: ub59

3、源码安装extundelete

[root@hadoop02 local]# tar -jxf extundelete-0.2.4.tar.bz2
[root@hadoop02 local]# cd extundelete-0.2.4
[root@hadoop02 extundelete-0.2.4]# yum install gcc gcc-c++ e2fsprogs e2fsprogs-devel e2fsprogs-libs
[root@hadoop02 extundelete-0.2.4]# bash install.sh
[root@hadoop02 extundelete-0.2.4]# make && make install
#查看extundelete版本
[root@hadoop02 extundelete-0.2.4]# extundelete --version

4、准备数据文件

5、删除数据

6、数据恢复

(1)取消挂载磁盘

        当发生数据误删情况下,应立马取消挂载磁盘,这是非常重要的,然后再去安装数据恢复工具。因为新数据的写入可能会覆盖需要恢复的文件,当删除数据时,会删除inode元数据信息,实际的数据块并不会删除,没有inode的数据块就会新写入数据覆盖掉。

        有一种现象,如果你的磁盘空间不足,删除文件后发现系统并未释放,因为文件在删除时,正被其他进程一直打开状态或者写入数据,inode是一直存在的,系统就不会释放。

(2)查看可恢复数据

 #显示/dev/sdb1分区信息,2是根的inode号
[root@hadoop02 ~]# extundelete /dev/sdb1 --inode 2

(3)方式一:根据inode号恢复数据

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-inode indo号

#文件名并不是以前的名字,以file.inode号命名

(4)方式二:根据文件名恢复数据

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-file 文件名

#文件名是以前的名字 

 (5)方式三:根据目录名恢复数据

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-directory 目录名

 (6)方式四:恢复所有文件

[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-all

(7)总结

1、extundelete在Centos7.6并不会自动创建空目录和空文件

2、共4种方法,其中根据inode号恢复的文件不会跟之前的名字保持一致,其他3种可以

3、会在当前目录下生成RECOVERED_FILES目录

二、ext4magic工具

1、ext4magic介绍

        用于从ext3或ext4分区中恢复文件数据工具,基于ext3grep和extundelete。

版本区别:

0.2.4(Beta版本)包含老的magic-function,仅支持ext3系统

0.3.2(Beta版本)包含新的magic-function,支持ext3、ext4版本

经测试,0.3.1版本只支持ext3格式,不支持ext4。

2、ext4magic下载

官网链接:ext4magic - Browse Files at SourceForge.net

0.3.2版本:

百度网盘链接: https://pan.baidu.com/s/13mGJlXNYNv9N3GR2TnrSKQ?pwd=pt81 提取码: pt81

0.3.1版本的rpm包,仅支持ext3格式:

链接: https://pan.baidu.com/s/1OP5v_FbvuZ9k2QMdWJFy0Q?pwd=vhrj 提取码: vhrj

3、源码安装ext4magic

[root@hadoop02 local]# tar -xzvf ext4magic-0.3.2.tar.gz
[root@hadoop02 local]# cd ext4magic-0.3.2
[root@hadoop02 ext4magic-0.3.2]# yum install gcc gcc-c++ e2fsprogs-devel libuuid-devel libblkid-devel zlib-devel bzip2-devel file-libs file-devel
[root@hadoop02 ext4magic-0.3.2]# ./configure
[root@hadoop02 ext4magic-0.3.2]# make & make install
#创建软连接
[root@hadoop02 ext4magic-0.3.2]# ln -s /usr/local/ext4magic-0.3.2/src/ext4magic /usr/sbin/ext4magic
#查看版本
[root@hadoop02 ~]# ext4magic -V -X
ext4magic  version : 0.3.2
libext2fs version : 1.42.9
CPU is little endian.

4、准备数据文件

5、删除数据

6、数据恢复

(1)取消挂载磁盘

        当发生数据误删情况下,应立马取消挂载磁盘,这是非常重要的,然后再去安装数据恢复工具

(2)查看可恢复数据

#方式1
[root@hadoop02 ~]# ext4magic /dev/sdb1 -f /
#方式2
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I 2
#查看详细信息加上 -T -x
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I 2 -T -x

(3)常用恢复数据的参数

-r和-m      #两个参数一样效果,只恢复删掉的文件,空文件也会被恢复。情况一:如果删掉的目录,该目录包含文件,会自动创建目录以及恢复文件;情况二:如果删掉的文件,该文件在目录里面,不会恢复该文件;

-R和-M     #两个参数一样效果,恢复整个磁盘的所有文件以及目录,包括空的文件和目录,和没有删掉的目录及文件;

-I        #指定inode号恢复

-f        #指定某个文件或目录

-     #指定数据存放路径

-a        #指定时间戳

(4)方式一:根据inode号恢复文件和目录

#恢复文件,文件名会以inode号命名,可加上-d 指定存放路径,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I inode号 -r
#恢复目录,目录会以inode号命名,包括未删除的文件,可加上-d 指定存放路径,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I inode号 -R

#恢复文件

#恢复目录

(5)方式二:根据文件名和目录名恢复数据

#恢复文件到/root/data目录下,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -r -f 文件名 -d /root/data
#恢复目录到/root/data目录下,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -f 目录名 -d /root/data

(6)方式三:恢复整个磁盘数据(全量恢复) 

#恢复磁盘所有数据到/root/data目录下,包含未删掉的文件,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -d /root/data
#-M与-R效果一样
[root@hadoop02 ~]# ext4magic /dev/sdb1 -M -d /root/data

(7)方式四:基于时间搓恢复

#恢复前四天的磁盘的全部数据到/root/data目录,-R可换成-M,如果换成-r或-m,只能恢复文件,并且删除的文件在多级目录里的文件不会恢复,时间可换成具体的时间戳值
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -a $(date -d "-5day" +%s) -d /root/data/

(8)其他

不支持硬链接,支持软连接 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态SQL IF语句

IF语句学习 第一种写法(标准) 我们先来看以下标准写法: select * from .. <where> <if test""> and ....... <if test""> and ....... <where> 我们用了一个where标签 , 内嵌if语句 第二种写法: 这是第二种写法:不用where标…

大降分!重邮计算机专硕复试线大降50分!重庆邮电计算机考研考情分析!

重庆邮电大学&#xff08;Chongqing University of Posts and Telecommunications&#xff09;简称重邮&#xff0c;坐落于中国重庆市主城区南山风景区内&#xff0c;是中华人民共和国工业和信息化部与重庆市人民政府共建的教学研究型大学&#xff0c;入选国家“中西部高校基础…

c++学生管理系统

想要实现的功能 1&#xff0c;可以增加学生的信息&#xff0c;包括&#xff08;姓名&#xff0c;学号,c成绩&#xff0c;高数成绩&#xff0c;英语成绩&#xff09; 2&#xff0c;可以删除学生信息 3&#xff0c;修改学生信息 4&#xff0c;显示所有学生信息 5&#xff0c…

支持AMD GPU的llm.c

anthonix/llm.c: LLM training in simple, raw C/HIP for AMD GPUs (github.com) llm.c for AMD devices This is a fork of Andrej Karpathys llm.c with support for AMD devices. 性能 在单个7900 XTX显卡上使用默认设置&#xff0c;目前的训练步骤耗时约为79毫秒&#x…

Docker的安装、启动和配置镜像加速

前言&#xff1a; Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 而企业部署一般都是采用Linux操作系统&#xff0c;而…

【软件设计师】2022年上半年真题解析

​​冯诺依曼计算机体系结构的基本特点是&#xff1a; A. 程序指令和数据都采用二进制表示 - 这是正确的&#xff0c;因为冯诺依曼架构下的计算机使用二进制形式来表示和处理所有信息&#xff0c;包括指令和数据。 B. 程序指令总是存储在主存中&#xff0c;而数据则存储在高速…

IsoBench:多模态基础模型性能的基准测试与优化

随着多模态基础模型的快速发展&#xff0c;如何准确评估这些模型在不同输入模态下的性能成为了一个重要课题。本文提出了IsoBench&#xff0c;一个基准数据集&#xff0c;旨在通过提供多种同构&#xff08;isomorphic&#xff09;表示形式的问题&#xff0c;来测试和评估多模态…

算法(十三)回溯算法---N皇后问题

文章目录 算法概念经典例子 - N皇后问题什么是N皇后问题&#xff1f;实现思路 算法概念 回溯算法是类似枚举的深度优先搜索尝试过程&#xff0c;主要是再搜索尝试中寻找问题的解&#xff0c;当发生不满足求解条件时&#xff0c;就会”回溯“返回&#xff08;也就是递归返回&am…

enum4linux一键查询SMB信息(KALI工具系列十六)

目录 1、KALI LINUX简介 2、enum4linux工具简介 3、在KALI中使用enum4linux 3.1 目标主机IP&#xff08;win&#xff09; ​编辑 3.2 KALI的IP 4、操作示例 4.1 运行工具 4.2 列出用户名 4.3 提取用户名 4.4 使用自定义RID范围 4.5 列出组 4.6 列出共享文件夹 4.7…

网络监听技术

网络监听技术 网络监听概述网络监听环境 流量劫持网络环境共享式网络监听原理交换式网络监听交换机的工作方式交换网络监听&#xff1a;交换机集线器交换网络监听&#xff1a;端口镜像交换网络监听&#xff1a;MAC洪泛交换网络监听&#xff1a;MAC洪泛交换网络监听&#xff1a;…

动态SQL where, choose语句

where语句就一个<where>标签, 很简单, 不再过多赘述 接下来我们来看 choose语句的使用 其实choose语句就像java里的swith语句 , 如果语句前面的生效 , 后面的就不会生效了 可以定义查询的优先级

读人工智能时代与人类未来笔记19_读后总结与感想兼导读

1. 基本信息 人工智能时代与人类未来 (美)亨利基辛格,(美)埃里克施密特,(美)丹尼尔胡滕洛赫尔 著 中信出版社,2023年6月出版 1.1. 读薄率 书籍总字数145千字&#xff0c;笔记总字数39934字。 读薄率39934145000≈27.5% 1.2. 读厚方向 千脑智能 脑机穿越 未来呼啸而来 …

【工具】 MyBatis Plus的SQL拦截器自动翻译替换“?“符号为真实数值

【工具】 MyBatis Plus的SQL拦截器自动翻译替换"?"符号为真实数值 使用MyBatis的配置如下所示&#xff1a; mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl调用接口&#xff0c;sql日志打印如下&#xff1a; 参数和sql语句不…

顶底背离的终极猜想和运用

这几天圈内都在传底蓓离什么的。作为严肃的量化自媒体&#xff0c;我们就不跟着吃这波瓜了。不过&#xff0c;我一直很关注技术指标的顶背离和底背离&#xff0c;一直在追问它的成因如何&#xff0c;以及如何预测。 底蓓离把我目光再次吸引到这个领域来&#xff0c;于是突然有…

LitCTF 2024(公开赛道)——WP

目录 Misc 涐贪恋和伱、甾―⑺d毎兮毎秒 你说得对&#xff0c;但__ 盯帧珍珠 Everywhere We Go 关键&#xff0c;太关键了! 女装照流量 原铁&#xff0c;启动&#xff01; 舔到最后应有尽有 The love Web exx 一个....池子&#xff1f; SAS - Serializing Authent…

MySQL—函数—日期函数(基础)

一、引言 接下来讨论和学习关于函数的第三个方面——日期函数。 常见的MySQL当中的日期函数。 注意&#xff1a; 1、CURDATE()&#xff1a;cur&#xff1a;current 当前的&#xff0c;返回的是当前日期。 2、CURTIME()&#xff1a;当前时间。 3、NOW&#xff1a;当前的日期和…

政安晨【零基础玩转各类开源AI项目】:解析开源项目的论文:Physical Non-inertial Poser (PNP)

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文解析的原始论文为&#xff1a;https://arxiv.org/…

力扣1143. 最长公共子序列

给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以…

打造你的专属Vue组件:基于FullCalendar超实用“日程任务管理组件”实战

打造你的专属Vue组件&#xff1a;基于FullCalendar超实用“日程任务管理组件”实战 在现代Web应用中&#xff0c;日程管理是一个常见而又关键的功能&#xff0c;它帮助用户高效安排和追踪日常任务及会议。Vue.js作为一个流行的前端框架&#xff0c;以其简洁的语法和强大的组件…

编译选项导致的结构体字节参数异常

文章目录 前言问题描述原因分析问题解决总结 前言 在构建编译工程时&#xff0c;会有一些对应的编译配置选项&#xff0c;不同的编译器&#xff0c;会有对应的配置项。本文介绍GHS工程中编译选项配置不对应导致的异常。 问题描述 在S32K3集成工程中&#xff0c;核1的INP_SWC…