在使用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时误将硬盘格式化了,如何恢复数据?
- linuxrm-rf删除的文件怎么恢复
- Linux 文件夹的所有内容被误删除恢复?
用盘装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上的文件,就加上这个参数。如果系统说xxx 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 数据恢复的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。