如何实现Linux ext3文件系统的数据恢复? (linux ext3 数据恢复)

在使用Linux系统时,经常会遇到文件、文件夹意外被删除了,或者硬盘出现故障导致数据丢失的情况。针对这种情况,如何实现数据的恢复呢?本文将介绍如何使用工具和技术实现Linux ext3文件系统的数据恢复。

一、文件系统介绍

文件系统是一个管理计算机硬盘及其他存储设备上文件的数据结构。在Linux系统中,常见的文件系统包括ext3、ext4、NTFS等。

ext3文件系统是Linux操作系统中最常用的文件系统之一,它是ext2文件系统的改进版本,具有更好的稳定性和效率。与其他文件系统相比,ext3文件系统拥有更好的容错性和自动恢复功能。

二、数据恢复前的准备

在进行数据恢复之前,首先需要对硬盘进行备份,以免在恢复过程中导致数据丢失。需要选择合适的工具和技术,以免对数据造成二次损害。

三、使用工具进行数据恢复

1. TestDisk工具

TestDisk是一款开源免费的数据恢复工具,适用于多种文件系统,包括ext3文件系统。TestDisk的使用方法如下:

(1)下载并安装TestDisk工具。

(2)使用命令行或终端进入TestDisk工具,输入命令:

sudo testdisk

(3)选择需要进行恢复的硬盘,按下“Enter”键。

(4)选择“Create”(新建)选项,开始搜索丢失的分区。

(5)选择“Analyse”(分析)选项,开始恢复已删除的文件。

(6)根据提示选择要恢复的文件,并选择保存路径,完成数据恢复。

2. Scalpel工具

Scalpel是一款开源免费的数据恢复工具,专门用于从文件系统中恢复文件。Scalpel的使用方法如下:

(1)下载并安装Scalpel工具。

(2)使用命令行或终端打开Scalpel工具,键入命令:

sudo scalpel /dev/sdX -o /恢复文件保存文件夹/

(/dev/sdX指硬盘分区的路径,“-o”指输出恢复后的文件。)

(3)Scalpel将开始搜索硬盘分区,并恢复文件,并将恢复后的文件保存到指定的文件夹中。

四、使用技术进行数据恢复

1. 文件恢复

如果只是因为误删除而导致的数据丢失,可以通过Linux ext3文件系统自身的特性进行文件恢复。具体方法如下:

(1)在终端中键入命令:

ls –a .snapshot/

(2).snapshot是ext3文件系统内置的一个特殊目录,从中可以恢复被删除的文件和目录。

(3)选择需要恢复的文件或目录,并将其复制到新的文件夹中。

2. 硬盘镜像

硬盘镜像是指将硬盘上的所有数据完整复制到一个文件中。通过硬盘镜像,可以对文件系统中的任何部分进行恢复,从而避免对硬盘造成进一步的损坏。

(1)使用命令行或终端打开“dd”工具。

(2)键入以下命令:

sudo dd if=/dev/sdX of=/mnt/backup/hdImage.img &

(/dev/sdX指硬盘分区的路径,“of=”指输出的镜像文件目录,“&”表明这是一个后台执行的任务。)

(3)完成硬盘镜像后,可进行数据恢复。

五、小结

实现Linux ext3文件系统的数据恢复,需要选择合适的工具和技术,并在恢复前进行备份,以免造成二次损伤。通过本文的介绍,读者可以学习如何使用TestDisk、Scalpel、文件恢复和硬盘镜像等技术和工具实现Linux ext3文件系统的数据恢复。然而,数据恢复并非万无一失的,所以在平时使用中,还需要注意备份数据,以免不必要的损失。

相关问题拓展阅读:

用盘装Linux时误将硬盘格式化了,如何恢复数据?

方法如下:

1、下载并打开互盾数据恢复软指燃件,点击“误格式化硬盘”按钮。

2、选择被格式化的硬盘分区,也就是需要恢复文件的分区,如“C盘、D盘”,接着单击“下一步”进行扫描。

3、扫描完毕,请在扫描到的文件列表和文件夹中查找您所丢失的文件。被格式化过的硬盘分区可能已经被Windows系统打乱目录,用户可以使用“搜索文件”、“类型选择”、“文件预览”等功能快速找到您的文件,以节省时间。

4、找到要恢复的文件,请选中文件为勾选状态,然后点击“下一步”。

5、选择文件将要保存的路径,请点击“浏览”设置。

扩展资料:

硬盘格式化分类:

格式化分为物理格式化和逻辑格式化。物理格式化又称低级格式化,是对磁盘的物理表面进行处理,在磁盘上建立标准的磁盘记录格式,划分磁道和扇区。逻辑格式化又称高级格式化,是在磁盘上建立一个系统存储区域。格式化才能使磁盘的结构能作系统认识。

格式化分两个类型,之一个是对系统盘唯雹虚(默认为C盘)进行格式化,在正常开启计算机进入操作系统后,是无法格式化系统盘的,只能在安装操作系统过程中选择是否格式化。

第二是对非系统盘(默认为D盘,E盘等)进行格式化,在进入操作系统后,只要在磁盘盘符上点肆基击右键选择格式化即可,完毕后,磁盘内的内容就都没有了,无法恢复。

可以利用U盘pe系统的diskgenius软件恢复误格式化文件。

1、打开diskgenius软件,选择误拆蔽格式化的分区,点击恢复文件。

2、在弹出的窗口中选择“误格式化后的文件恢复”,然后点击“开始”按钮开始对分区进行扫描。

3、与直接扫描文件相比,因为要完整扫描整个分区,所以扫描所需要的时间相对会比较长,那么就需要耐心的等待一会儿了。

4、扫描结束后,所有可恢复的文件都会被列出来,钩选所有要恢复的文件或目录左侧的复选框旅高州,然后点击鼠标右键,在菜单中选择文件恢复位置

5、耐心等待文件复制完成后,可以点击“详细情况”按钮来查看文件的念顷恢复情况,看看是否所有的文件都是成功的被恢复了。之后,点击“完成”按钮即可。

不同的Linux用不同的磁盘格式,一般来说,个人恢复很难,如果数据实在重要还是去外面的数运孝据恢复店吧。一般的小店旁戚稿还都可能不能恢复,所以价格肯定不便宜。

如果是特定的Linux下恢复Linux的文件仔昌还稍微简单,你这连分区表都改了。

你可以把你的硬盘拆下来,挂到XP系统的电脑上作为从盘来恢复,这种方法是最安全的。你可以在目的者肆电脑上雀嫌弯安装一些恢复软件来恢复,比如easyrecover finaldata等等,如顷闷果结果不理想,可以HI我提供帮助

可以说不能。

如腊闭旅果你再安装XP,那就是对分区的重写,恢态银复起来就更难了。

即使能,恢复过来大部分东西也不能用。

你还是趁早放轮凳弃这个遐想吧,特别重要的话,更好是返厂物理修复,不过那个价格是相当的昂贵的。

linuxrm-rf删除的文件怎么恢复

之一种 误删文件进程还在

这种方法就比较简单,能还原的文件限制也比较多。如果被删除的文件的进程还是存在,即能找到进程PID。通过命令 lsof | grep (deletefile) 查找到进程id。然后就是进入进程目录 cd /proc/PID/fd 。然后可以通过 ll 命令查看具体文件信息,将有软连接到被删除文件的文件复制就可还原了。

第二种 使用extundelete之类基于inode的工具

针对 Linux 下的 ext 文件系统来说,常用的 Linux 文件删除恢复工具有 debugfs、ext3grep、extundelete 等。extundelete 是一个开源的数据恢复工具,支持 ext3、ext4 文件系统,其官方站点位于

,目前最新稳定版本为 0.2.0。

这个工具和还有一些其他类似的恢复工具,都是基于inode,还原文件的,也就是说,需要被删除文件的inode还在,没有被覆盖,即在文件删除之后,没有读写输入。所以之一件事就是挂起文件所在分区。但是这个操作有个问题就是,如果系统只有一个挂载盘,而且还是线上服务的话,挂起是不现实的。并且就算读写不多,但是系统本身没有安装这些恢复工具,在你安装编译这些恢复工具时的读写,也很可能把删除的文件inode覆盖了。

但是如果,系统拥有多个挂载盘,且被删除文件分区所在的文件盘挂起并不印象,你还是可以尝试这个方法的。或者系统本身就有安装这个工具,距离文件删除不是很久,也可以试一下,也许inode还在呢。

具体使用方法这里就不说了,网上很多教程,随便搜一下都是。

第三种 testdisk工具

testdisk 是分区表恢复配简罩、raid 恢复、分区恢复的开源免费工培闹具(testdisk 支持如下文件系统: FAT12/FAT16/FAT32/NTFS/ext2/ext3/ext4)。testdisk 支持的功能: 修复分区表, 恢复已删除分区,用 FAT32 备份表恢复启动扇区,重建 FAT12/FAT16/FAT32 启动扇区,修复 FAT 表,重建 NTFS 启动扇区,用备份表恢复 NTFS 启动扇区,用 mft 镜像表(mft mirror)修复 mft 表,查找 ext2/ext3 备份的 superblock,从 FAT,NTFS 及 ext2 文件系统恢复删除文件,从已删除的 FAT,NTFS 及 ext2/ext3 分区复制文件。

所以,这个工具是不基于inode的,即时文件后,没有挂起分区,读写操作一直在进行,或者过去很久了,都是可以有机会恢复文件的。

但也不是百分百能成功,举个栗子,被删除的是 /usr/local/mytest 这个文件夹。然后你这个文件夹下部分文件的备份,为了及时先恢复部分线上业务,然后你mkdir /usr/local/mytest 然后将部分备份复制了进去。那么testdisk也无法拯咐空救恢复了。还有就是testdisk恢复文件时,还需要注意看一下文件大小。如果文件大小显示为0,那么就算选择恢复这个文件,也是会得到一个0kb的文件。

所以这个适用于,一些inode已经被覆盖,但是文件物理存储块还未被覆盖的文件,可以尝试一下这个方法,也许可以找回部分丢失文件。

在使用rm -rf这个命令时一定要小心再小心,不然造成的后果是很严重的,因此提醒大家再使用这个命令时一定要保持头脑清醒。

之一种 误删文件进程还在

这种方法就比较简单,能还原的文件限制也比较多。如果被删除的文件的进程还是存在,即能找到进程PID。通过命令 lsof | grep (deletefile) 查找到进程id。然后就是进入进程目录 cd /proc/PID/fd 。然后可以通过 ll 命令查看具体文件信息,将有软连接到被删除文件的文件复制就可还原了。

 第二种 使用extundelete之类基于inode的工具

针对 Linux 下的 ext 文件系统来说,常用的 Linux 文件删除恢复工具有 debugfs、ext3grep、extundelete 等。extundelete 是一个开源的数据恢复工具,支持 ext3、ext4 文件系统,其官方站点位于

,目前最新稳定版本为 0.2.0。

这个工具和还有一些其他类似的恢复工具,都是基于inode,还原文件的,也就是说,需要被删除文件的inode还在,没有被覆盖,即在文件删除之后,没有读写输入。所以之一件事就是挂起文件所在分区。但是这个操作有个问题就是,如果系统只有一个挂载盘,而且还是线上服务的话,挂起是不现实的。并且就算读写不多,但是系统本身没有安装这些恢复工具,在你安装编译这些恢复工具时的读写,也很可能把删除的文件inode覆盖了。

但是如果,系统拥有多个挂载盘,且被删除文件分区所在的文件盘挂起并不印象,你还是可以尝试这个方法的。或者系统本身就有安装这个工具,距离文件删除不是很久,也可以试一下,也许inode还在呢。

具体使用方法这里就不说了,网上很多教程,随便搜一下都是。

第三种 testdisk工具

testdisk 是分区表恢复配简罩、raid 恢复、分区恢复的开源免费工培闹具(testdisk 支持如下文件系统: FAT12/FAT16/FAT32/NTFS/ext2/ext3/ext4)。testdisk 支持的功能: 修复分区表, 恢复已删除分区,用 FAT32 备份表恢复启动扇区,重建 FAT12/FAT16/FAT32 启动扇区,修复 FAT 表,重建 NTFS 启动扇区,用备份表恢复 NTFS 启动扇区,用 mft 镜像表(mft mirror)修复 mft 表,查找 ext2/ext3 备份的 superblock,从 FAT,NTFS 及 ext2 文件系统恢复删除文件,从已删除的 FAT,NTFS 及 ext2/ext3 分区复制文件。

所以,这个工具是不基于inode的,即时文件后,没有挂起分区,读写操作一直在进行,或者过去很久了,都是可以有机会恢复文件的。

但也不是百分百能成功,举个栗子,被删除的是 /usr/local/mytest 这个文件夹。然后你这个文件夹下部分文件的备份,为了及时先恢复部分线上业务,然后你mkdir /usr/local/mytest 然后将部分备份复制了进去。那么testdisk也无法拯咐空救恢复了。还有就是testdisk恢复文件时,还需要注意看一下文件大小。如果文件大小显示为0,那么就算选择恢复这个文件,也是会得到一个0kb的文件。

所以这个适用于,一些inode已经被覆盖,但是文件物理存储块还未被覆盖的文件,可以尝试一下这个方法,也许可以找回部分丢失文件。

 在使用rm -rf这个命令时一定要小心再小心,不然造成的后果是很严重的,因此提醒大家再使用这个命令时一定要保持头脑清醒。

Linux 文件夹的所有内容被误删除恢复?

drwxr-xr-x

中的之一位(左数)表示当前目录是目录还是文件,d表示目录,-表示普通文件.

后面9位分为3组,每3组作为1组,从左到右分别表示文件属主,文件属组,和其他所有坦消用户的权限.

r表示文件可读,w表示唯茄文件可写,x表示文件可以执行.

用命令chmod改变文件权限.有两种

之一种

chmod

(ugoa)

(=-+)

(rwx)

file

u代表文件属主,g代表文件属组,o代表系统中除属主和属组成员之外的其他用户,a代表所有用户让山知(u,g,o)总和

+代表增加相应的权限,-代表减少相应的权限,=代表只有相应的权限

chmod

g-w

file就可以完成上面那个文件的权限改正.

第二种

用数字改正,r为4,w为2,x为1

把数字相加就是所对应的权限,不如rwx就是7,rw就是6

改正上面问题的权限方法为

chmod

775

file

就行了

电脑文件夹误删怎么恢复?如今,电脑已经是我们办公、生活和娱乐中必不可少的设备,更是存储着我们很多重要的文件。但是,有的时候一些使用者可能会不小心删除了自己还需要的重要文件,给生粗丛备活或工作带来巨大的麻烦。这个时候不用着急,有一个超级简单的方法帮助您恢复您误删除的文件。

首先,我们可以查看电脑的回收站,只要不是永久删除的文件,都会保存在回收站里,右键还原文件就可以。

但如果是永久删除的文件呢?那靠普通使用者在电脑本身的操作就很难找回了,但是我们可以求助一些专业的数据恢复软件,具体操作步骤如下:

第二步:在“场景模式”中选择符合自己情况的恢复模式,即可快速扫描丢失文件。还可以点击下方的“向导模式”进行切换,享受更简便的操作;

第三步:找到自己丢失的文件。一般来说,如果误删之后没有其它操作,短期内立马进行扫描的话,丢失数据找回的概率非常大,这时郑知候勾选找到的文件点击恢复即可。

这就是关于电脑文件夹误删恢复方法的具体介绍了。嗨格式数据恢复大师软件解决了很多技术层面的问题,用户只需要根据软件的引导,几岩毁个简单的点击就可以找回自己误删除丢失的文件,可以说是非常简单方便了。这么简单的方法,你记住了吗?

Linux 下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux ,或者误删文件后及时补救,还是可以恢复的。

1 、Ext2文件系统结构的简单介绍

在Linux 所用的Ext2文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在12个块号之后存储一个间接知漏块的块号,在这个间接块号所对应的块中,存储有256 个文件数据块的块号(Ext2fs中每个块号占用4 字节,这样一个块中所能存储的块号就是1024/4=256)。如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。

2 、恢复被误删文件的方法

大多数Linux 发行版都提供一个debugfs 工具,可以用来对Ext2文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。

首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/usr分区)

mount –r –n –o remount /usr -r 表示只读方式挂载;-n表示不写入/etc/mtab,如果是恢复/etc上的文件,就加上这个参数。如果系统说 partion busy,可以用fuser 命令查看一下是哪些进程使用这个分区上的文件:

fuser –v –m /usr

如果没有什么重要的进程,用以下命令停掉它们:

fuser -k–v –m /usr

然后就可以重新挂载这些文件系统了。

如果是把所有的文件统一安装在一个大的/ 分区当中,可以在boot提示符下用linux single进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。另外,恢复出来的数据不要写到/ 上面,避免破坏那些有用的数据。如果机器上有dos/windows ,可以写到这些分区上面:

mount –r –n /dev/hda1 /mnt/had

然后就可以执行debugfs :(假设Linux 在 /dev/hda5)

#debugfs /dev/hda5

就会唯袜出现debugfs 提示符debugfs :

使用lsdel 命令可以列出很多被删除的文件的信息:

debugfs :lsdel

debugfs : 2692 deleted inodes found.

Inode Owner Mode Size Blocks Time deleted

/ 1 Sun May:22:

…………………………………………………………

/ 1 Tue Apr:11:

8/ 38 Mon May:52:

debugfs :

列出的文件有很多(这里找到2692个),之一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。

然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件:

可以先看看文件数据状态:

debugfs :stat

Inode :Type: regular Mode : 0644 Flags : 0x0 Version:1

User: 0 Group:指猛激 0 Size :

File ACL: 0 Directory ACL: 0

Links : 0 Blockcount : 38

Fragment: Address: 0 Number : 0 Size : 0

ctime : 0x31a9a574 —— Mon May 27 13:52:

atime : 0x31a21dd1 —— Tue May 21 20:47:

mtime : 0x313bf4d7 —— Tue Mar 5 08 :01:

dtime : 0x31a9a574 —— Mon May 27 13:52:

BLOCKS:

817 …………………………………。

TOTAL : 38

然后就可以用dump指令恢复文件:

debugfs :dump /mnt/hda/01.sav

这样就把文件恢复出来了。退出debugfs :

debugfs :quit

另一种方法是手工编辑inode :

debugfs :mi

Mode

User ID

Group ID

Size

Creation time

Modification time

Access time

Deletion time 0

Link count 1

Block count

File flags

Reserved1

File acl

Directory acl

Fragment address

Fragment number

Fragment size

Direct Block #0

……………………………。

Triple Indirect Block

使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletion time 改成0 (未删除),Link count改成1.改好后退出debugfs :

debugfs :quit

然后用fsck检查/dev/hda5

fsck /dev/hda5

程序会说找到丢失的数据块,放在lost+found里面。这个目录里的文件就是我们要的东东。

linux的简蠢拆文件被删除是可以通过linux自带的文件恢复工具debugfs来进行恢复,但是只能恢复ext2文件系统的文件,不能恢复ext3文件系统的文件。

1,首先查看需要恢复的文件所在的文件系统

命令行模式下输入指令mount

# mount

/dev/xvda1 on / type ext2 (rw,errors=remount-ro)

proc on /proc type proc (rw,noexec,nosuid,nodev)

sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

由上知,/dev/xvda1挂载在/下,即根目录,且文档高件系统是ext2

2,将要找回的文件所在的分区重新挂载成只读拦枣

(因为这样比较安全,可以防止因新的文件写入该分区而导致无法找回文件)

#  mount -n -o remount,ro /dev/xvda1

如果不能重新挂载,那么一定有用户正在使用该分区中的文件,我们可以使用指令:fuser -m -v /dev/xvda1来查看当前哪个用户正在使用该分区中的文件,然后使用fuser -k -m -v /dev/xvda1来杀死用户使用该分区的任何进程。

3,使用debugfs工具恢复文件

# debugfs /dev/xvda1

debugfs 1.42 (29-Nov-2023)

debugfs:  lsdel

进入debugfs模式后输入lsdel后可以看到被删除的文件信息

stat显示某个节点所对应的文件信息,

恢复文件使用dump 文件路径。

如果被删除的文件很多,那么通过lsdel可看出文件的时间,然后自己判断进行恢复。

可以使用电脑管家的文件恢复功能

装好樱做型了之脊猜后选择工具箱,然后胡神找到文件恢复

关于linux ext3 数据恢复的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何实现Linux ext3文件系统的数据恢复? (linux ext3 数据恢复)