Ext3文件系统结构的简单介绍
在Linux所用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包
含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在
12个块号之后存储一个间接块的块号,在这个间接块号所对应的块中,存储有256个文件数据块的块号(Ext2fs中每个块号占用4字节,这样一个块中所
能存储的块号就是1024/4=256)。如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。
2。恢复被误删文件的方法
大多数Linux发行版都提供一个debugfs工具,可以用来对Ext3文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。
首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/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
164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001
…………………………………………………………………………………
36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001
196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001
debugfs:
列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除
时间。然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件:
可以先看看文件数据状态:
debugfs:stat
Inode: 196829 Type: regular Mode: 0644 Flags: 0x0 Version: 1
User: 0 Group: 0 Size: 149500
File ACL: 0 Directory ACL: 0
Links: 0 Blockcount: 38
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x31a9a574 -- Mon May 27 13:52:04 2001
atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001
mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001
dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001
BLOCKS:
594810 594811 594814 594815 594816 594817 ………………………………….
TOTAL: 38
然后就可以用dump指令恢复文件:
debugfs:dump /mnt/hda/01.sav
这样就把文件恢复出来了。退出debugfs:
debugfs:quit
另一种方法是手工编辑inode:
debugfs:mi
Mode [0100644]
User ID [0]
Group ID [0]
Size [149500]
Creation time [0x31a9a574]
Modification time [0x31a9a574]
Access time [0x31a21dd1]
Deletion time [0x31a9a574] 0
Link count [0] 1
Block count [38]
File flags [0x0]
Reserved1 [0]
File acl [0]
Directory acl [0]
Fragment address [0]
Fragment number [0]
Fragment size [0]
Direct Block #0 [594810]
…………………………….
Triple Indirect Block [0]
使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletion time改成0(未删除),Link count改成1。改好后退出
debugfs:
debugfs:quit
然后用fsck检查/dev/hda5
fsck /dev/hda5
程序会说找到丢失的数据块,放在lost+found里面。'
Acronis Recovery Expert 1.0.0.132
分享到:
相关推荐
7. **根目录**:EXT3文件系统的根目录是一个特殊的i节点,通过查找分区中的一号块组的一号i节点表,可以找到根目录的i节点。从i节点中读取到的块指针可以用来追踪文件或目录的具体位置。 8. **文件查找**:要找到一...
本文将详细介绍如何在Linux环境下找回误删的Ext2/Ext3/Ext4格式文件,并探讨提供的压缩包内的工具及其用途。 首先,让我们了解这三种文件系统。Ext2(Second Extended File System)是Linux早期的文件系统,它简单...
其中,Ext3作为一种日志文件系统,为Linux平台的数据存储带来了更为高效、稳定和安全的解决方案。本文主要对Linux 2.6内核下Ext3文件系统的数据结构进行深入研究,并通过基准测试分析了其性能。 一、Ext3文件系统...
在Windows操作系统中,由于文件系统不兼容性,通常无法直接访问Linux系统中的Ext3或Ext4分区。然而,有了第三方工具如Ext2Fsd,Windows用户可以实现对这些Linux文件系统的读取和写入操作。本文将详细介绍如何在...
EXT3(Third Extended File System)是Linux下广泛使用的日志文件系统,它提供了数据安全性和可靠性。然而,如同任何文件系统一样,EXT3也有可能出现误删除文件的情况。在这种情况下,如何在EXT3文件系统下恢复误删...
这使得用户有机会在数据丢失后找回丢失的文件。 要使用ext3grep,首先需要下载并解压“ext3grep-0.10.2.tar.gz”这个压缩包。解压后,进入解压后的目录,通过编译和安装过程将其设置到系统路径中。通常,这个过程...
2. debugfs:这是一个强大的EXT文件系统调试工具,可以用于查看和修改文件系统内部结构。例如,修复丢失的链接、恢复删除的文件等。 3. e2fsck:EXT2/EXT3/EXT4文件系统专用的fsck工具,提供更细致的检查和修复功能...
总的来说,ext3grep是一个强大的Linux数据恢复工具,它提供了在ext3和ext4文件系统中找回误删文件的可能。了解并掌握如何使用ext3grep,可以在面临数据丢失问题时,为我们提供宝贵的帮助。不过,为了最大程度地保护...
总之,EXT2/3恢复是针对Linux系统下文件系统损坏或数据丢失的解决方案,通过专门的数据恢复工具,如"rdrext23.exe",可以尝试恢复丢失的文件。在整个过程中,理解和遵循正确的恢复步骤至关重要,以最大限度地保护和...
1. **日志式文件系统**:EXT3引入了日志记录功能,这意味着在系统崩溃或不正常关机后,文件系统可以通过快速回滚日志恢复到一致状态,减少了数据丢失的风险。这一特性对服务器和关键业务系统尤为重要。 2. **文件...
它能解析ext4文件系统的元数据,找到并提取出其中的APK文件。APK是Android应用程序的打包格式,包含了应用的所有资源、代码和配置信息。通过这款工具,用户可以查看、备份或者分析这些隐藏的APK,无论是为了调试、...
- EXT文件系统分为几个关键部分,包括主引导记录(MBR)、超级块(Superblock)、组描述符表(Group Descriptor Table)、inode表和数据块。 - MBR位于硬盘的最前端,包含分区表信息,其中的分区类型标识EXT分区。 - ...
`ext4magic`通过深入理解ext4文件系统的内部工作原理,能够有效地遍历和分析文件系统的残留信息,从而找到被删除文件的痕迹并尝试恢复。 **压缩包子文件的文件名称列表:“ext4magic-0.3.2”** 这个版本号表明`ext...
在"Ext2.2API中文文档.CHM"这个文件中,你将找到关于这些API的详细说明,包括函数原型、参数解释、返回值和可能的错误代码。这对于理解和开发与EXT2文件系统交互的应用程序非常有帮助。通过深入学习这个文档,开发者...
- **查找丢失文件的元数据**:利用工具如`debugfs`或`fsck.ext2`来搜索文件的inode信息,这些信息可能还保留在文件系统的元数据中。 - **恢复文件块**:找到文件的原始块列表后,可以使用数据恢复工具如`...
标题 "ext3.3.1" 暗示我们正在讨论的是Linux文件系统的一个特定版本,即ext3的3.3.1版本。ext3是Linux操作系统中广泛使用的日志文件系统,它提供了数据安全性和稳定性。这个版本可能是对ext3进行的一些改进或更新。 ...
在Windows操作系统中,由于默认不支持Linux的EXT文件系统,因此需要借助第三方工具来访问和管理这些磁盘。"Windows系统打开Linux中Ext格式磁盘工具"这一主题主要涉及的是如何在Windows环境下读取和操作Linux文件系统...
如果你正在学习EXT文件系统,以下是一些关键点: - **文件系统原理**:理解文件系统如何组织磁盘空间,如何通过索引节点找到文件,以及如何处理文件的权限和属性。 - **EXT2与EXT3/EXT4的区别**:对比它们的设计...
EXT2.0Show程序是一个专门用于展示Linux操作系统中EXT2文件系统内容...对于那些从事系统维护、开发或者研究的人来说,掌握这些知识是至关重要的,因为它们不仅局限于EXT2,还可以延伸到EXT3、EXT4等更现代的文件系统。
3. **文件系统分析**:对于性能监控、审计或诊断目的,分析EXT2文件系统的运行情况。 4. **安全工具**:通过API控制文件权限,增强系统安全性。 ### 四、注意事项与最佳实践 在使用EXT2.0中文API时,应注意以下几...