ext2文件系统删除后的恢复
- 格式:doc
- 大小:50.50 KB
- 文档页数:7
一种基于linux文件系统的数据恢复方法标题:一种基于Linux文件系统的数据恢复方法在现代信息技术环境中,数据安全与数据恢复的重要性不言而喻。
Linux 作为一种广泛应用的操作系统,其稳定性和安全性备受赞誉,但即使是Linux系统,也无法完全避免因误操作、系统崩溃、硬件故障等原因导致的数据丢失问题。
本文将详细介绍一种基于Linux文件系统的数据恢复方法,帮助用户在面临数据丢失困境时能够有效找回重要信息。
【一、理解Linux文件系统】首先,理解Linux文件系统的工作原理是进行数据恢复的前提。
Linux系统主要采用EXT2、EXT3、EXT4、XFS、Btrfs等文件系统,它们负责管理存储设备上的数据和元数据,包括inode(索引节点)、超级块、目录项等关键部分。
当数据丢失时,通过分析这些元数据,我们可以定位到文件的存储位置以及文件的状态信息。
【二、数据丢失场景及应对策略】1. 误删除:当文件被误删除时,实际上只是从目录项中移除了对该文件的引用,而文件内容可能并未立即被覆盖。
可以使用诸如TestDisk或extundelete这类工具尝试恢复已删除文件。
2. 分区表损坏:若分区表出现问题,可通过TestDisk扫描硬盘并重建分区表以找回丢失的分区及其数据。
3. 文件系统损坏:如遇到文件系统损坏的情况,可先尝试fsck工具进行修复,对于严重损坏的文件系统,可能需要使用photorec等深度扫描工具根据文件签名来恢复数据。
【三、数据恢复步骤详解1. 创建备份:在对受损文件系统进行任何操作之前,首要任务是确保原始数据的安全,通过dd命令或者其他备份工具,将待恢复数据所在的整个分区制作成镜像文件。
2. 检测与修复文件系统:运行`fsck /dev/sdaX`(其中sdaX代表受损分区)进行文件系统的初步检查和修复。
3. 使用数据恢复工具:- 对于误删除文件,可以尝试使用extundelete工具,例如:`extundelete /dev/sda1 restore-file /path/to/deleted/file` - 针对分区丢失,利用TestDisk执行“Analyze”和“Quick Search”等功能搜索丢失分区并尝试恢复。
euleros格式化磁盘指令在计算机系统中,磁盘是存储数据的重要设备之一。
磁盘的格式化是指对磁盘进行初始化,以便于存储数据和使用操作系统。
euleros是一个流行的操作系统,它提供了一系列的格式化磁盘指令,帮助用户对磁盘进行管理和维护。
本文将介绍euleros的格式化磁盘指令,帮助读者了解如何使用这些指令来管理磁盘。
一、查看磁盘信息在进行磁盘格式化之前,首先需要了解磁盘的相关信息。
euleros提供了一些命令来帮助用户查看磁盘的信息,包括磁盘的大小、分区信息等。
用户可以使用以下命令来查看磁盘信息:1. fdisk -l:这个命令可以列出系统中所有的磁盘信息,包括磁盘的名称、大小、分区情况等。
用户可以通过这个命令来了解系统中磁盘的整体情况。
2. df -h:这个命令可以列出系统中已挂载的文件系统的信息,包括文件系统的大小、已用空间、可用空间等。
用户可以通过这个命令来了解系统中已挂载的文件系统的情况。
二、格式化磁盘当用户了解了磁盘的相关信息之后,就可以对磁盘进行格式化操作了。
euleros提供了一些命令来帮助用户对磁盘进行格式化,包括创建文件系统、设置文件系统的参数等。
用户可以使用以下命令来格式化磁盘:1. mkfs.ext4:这个命令可以创建ext4文件系统,用户可以将其用于磁盘的格式化操作。
用户可以通过指定参数来设置文件系统的相关属性,比如inode大小、块大小等。
2. mkfs.xfs:这个命令可以创建xfs文件系统,用户可以将其用于磁盘的格式化操作。
用户可以通过指定参数来设置文件系统的相关属性,比如inode大小、块大小等。
三、挂载磁盘在格式化磁盘之后,用户还需要将其挂载到系统中,以便系统可以对其进行读写操作。
euleros提供了一些命令来帮助用户挂载磁盘,包括挂载点的设置、挂载参数的设置等。
用户可以使用以下命令来挂载磁盘:1. mount:这个命令可以将格式化好的磁盘挂载到指定的挂载点上。
linux数据恢复Linux数据恢复引言在日常使用计算机过程中,数据丢失是一个常见的问题,可能是由于误操作、病毒感染、文件系统损坏等原因导致。
针对这些问题,我们需要一种可靠的数据恢复方法来帮助我们找回丢失的数据。
Linux作为一种开源操作系统,其数据恢复工具的丰富性和强大性使其成为很多人首选的操作系统。
本文将介绍在Linux系统下进行数据恢复的常见方法和工具,帮助用户快速恢复数据。
一、文件恢复方法1. 备份恢复在进行任何文件恢复操作之前,我们强烈建议首先查看您的备份,并尝试从备份中恢复丢失的数据。
如果您定期备份您的数据,您可以轻松地恢复丢失的文件。
备份通常可以通过使用备份工具,如rsync,tar等实现。
备份恢复是一种非常有效的数据恢复方法,因为它可以准确地恢复您需要的文件,而不会丢失任何数据。
2. 使用恢复工具如果没有备份,还有其他方法可以尝试恢复丢失的数据。
Linux系统提供了一些强大的数据恢复工具,可以帮助您找回已删除、格式化或损坏的文件。
以下是一些常用的数据恢复工具:- TestDisk:TestDisk是一个免费的开源工具,可以帮助您恢复丢失的分区和修复损坏的引导扇区。
它支持多个文件系统,包括FAT、NTFS、ext2/ext3/ext4等。
- PhotoRec:PhotoRec是TestDisk的一部分,它专门用于恢复丢失的文件。
它可以从格式化的硬盘、临时分区、CD-ROM等设备中恢复各种类型的文件。
- Scalpel:Scalpel是一种高效的文件恢复工具,它可以通过扫描二进制文件内容来恢复已删除的文件。
它支持各种文件系统,并可以通过配置文件来进行高级恢复操作。
- extundelete:如果您使用的是ext2/ext3/ext4文件系统,并且需要恢复已删除的文件,extundelete是一个非常有用的工具。
它可以查找并还原被删除文件的inode,并将其恢复到原来的位置。
这些工具都支持命令行操作,并且有详细的文档和示例,您可以根据需要选择合适的工具使用。
电脑重装系统后怎么恢复原来的文件方法电脑重装系统后怎么恢复原来的文件?计算机文件(或称文件、电脑档案、档案),是存储在某种长期储存设备上的一段数据流。
所谓“长期储存设备”一般指磁盘、光盘、磁带等。
其特点是所存信息可以长期、多次使用,不会因为断电而消失。
下面就由店铺来给大家说说电脑重装系统后怎么恢复原来的文件吧,欢迎大家前来阅读!电脑重装系统后恢复原来的文件方法建议你使用DiskGenius软件来恢复你失去的文件。
DiskGenius 是一个硬盘分区、数据恢复软件,操作界面完全图形化,非常直观,一看就会,操作简便。
你到网上通过搜索“DiskGenius”就可以找到下载地址。
运行DiskGenius程序,打开程序窗口,你会看到硬盘的分区情况,主分区和逻辑分区一目了然。
你选中要恢复文件的分区,点击工具栏上的“恢复文件”按钮,即可将文件恢复到其他盘。
下面店铺就给大家介绍下什么是DiskGenius吧。
DiskGeniusDiskGenius是一款硬盘分区及数据恢复软件。
它是在最初的DOS 版的基础上开发而成的。
Windows版本的DiskGenius软件,除了继承并增强了DOS版的大部分功能外(少部分没有实现的功能将会陆续加入),还增加了许多新的功能。
如:已删除文件恢复、分区复制、分区备份、硬盘复制等功能。
另外还增加了对VMWare、Virtual PC、VirtualBox虚拟硬盘的支持。
更多功能正在制作并在不断完善中。
功能介绍DiskGenius软件的主要功能及特点如下:1、支持传统的MBR分区表格式及较新的GUID分区表格式。
2、支持基本的分区建立、删除、隐藏等操作。
可指定详细的分区参数;3、支持IDE、SCSI、SATA等各种类型的硬盘。
支持U盘、USB 硬盘、存储卡(闪存卡);4、支持FAT12、FAT16、FAT32、NTFS文件系统;5、支持EXT2/EXT3文件系统的文件读取操作。
支持Linux LVM2磁盘管理方式;6、可以快速格式化FAT12、FAT16、FAT32、NTFS分区。
恢复linuxext4分区上误删除的⽂件。
我是使⽤ Xmanager Enterprise 4 来连接CentOS Linux 6.4 的。
可恶的XManager有⼀个恶⼼的bug,时不时的出现焦点问题:2012年10⽉15⽇星期⼀,14:44:01==============================================温馨提⽰: Xmanager有个⽑病就是时不时的出现窗⼝之间焦点的切换必须点击菜单栏上⾯的 title 才可以,⽽且不能⽤alt拖动窗⼝了.有时⼜可以..解决⽅法:打开后,按住 win+D 再win+D焦点的切换就会发⽣变化了...可以点击内容切换⽽且,也可以使⽤alt 移动窗⼝了....2013年5⽉25⽇今天,14:09:40==============================================键盘上按p键也会失效。
需要win+D 多次才会解决这个问题不知道有⼈遇到过这个问题没,使⽤ XMing 来连接xdmcp 倒是没问题,⽽且xmanager⽆法hook快捷键,⽤起来快捷键使⽤起来不⽅便,这个就不说了,但是上⾯的我确认是⼀个 BUG。
很恶⼼。
这次我要删除⼀个桌⾯的⽂件,点击后,shift+del 回车,快速删除,⼀看⽂件,没删除,难道。
看看另⼀个nautilus 窗⼝,正在浏览⾃⼰的ftp服务,缺少了⼀个⽂件夹,我勒个去啊。
如果是ntfs分区,windows下的,我可以diskgenius + winhex 速度恢复⽂件。
但是ext4分区下,我真没⼲过这种事情啊。
搜索⼀下,/Qunero/blog/8607今天⼀时⼿快 rm -rf .* ,删除了⼀个重要邮件⽬录,幸好通过extundelete恢复了。
记下操作流程:1.准备⼯作主要通过 extundelete 0.2.0完成恢复https:///projects/extundelete/files/latest/download需要依赖两个包sudo aptitude install e2fsprogs e2fslibs-dev下载页⾯/快速下载: download extundelete编译三部曲./configuremakesudo make install2.如果分区已经挂载,先umount,并且在将要恢复的地⽅查看空间⼤⼩df -h ./如果你要恢复的是根⽬录或者系统⽬录就只有拿硬盘挂到另外⼀台电脑上操作了。
达思Linuxs数据恢复软件说明文档达思凯瑞技术(北京)有限公司2010-9-20D-Recovery for Linux使用说明目录1、D-Recovery for Linux介绍___________________________________ 31.1 分区表损坏_____________________________________________________ 3 1.2 删除文件_______________________________________________________ 3 1.3 高级格式化_____________________________________________________ 3 1.4 文件系统损坏____________________________________________________ 32、D-Recovery for Linux安装___________________________________ 32.1 安装环境要求____________________________________________________ 3 2.2 软件获取方式____________________________________________________ 4 2.3软件安装步骤___________________________________________________ 43、D-Recovery for Linux分区表恢复_____________________________ 83.1 分区表备份_____________________________________________________ 8 3.2 分区表恢复_____________________________________________________ 9 3.3 分区表重建____________________________________________________ 104、D-Recovery for Linux数据恢复_______________________________124.1 删除数据恢复___________________________________________________ 124.1.1 Ext2文件系统删除恢复 _________________________________________________ 124.1.2 Ext3,Ext4文件系统删除恢复_____________________________________________ 14 4.2 格式化数据恢复 _________________________________________________ 174.2.1 Ext2文件系统格式化或目录损坏恢复_____________________________________ 174.2.2 Ext3,Ext4文件系统格式化或目录损坏恢复_________________________________ 20 4.3 文件系统损坏数据恢复___________________________________________ 234.3.1 全盘扫描 ____________________________________________________________ 235、D-Recovery for Linux存储介质镜像 ___________________________265.1 创建磁盘镜像,打开磁盘镜像,关闭磁盘镜像 _________________________ 266、D-Recovery for Linux创建区域_______________________________316.1 创建区域______________________________________________________ 317、D-Recovery for Linux手动提取文件 ___________________________317.1 手动提取文件三种方式___________________________________________ 338、D-Recovery for Linux Lvm(逻辑卷管理)跨盘管理 _______________31 8.1 物理磁盘,镜像文件,物理盘分区,镜像文件分区的任意组合 ____________ 331、D-Recovery for Linux介绍D-Recovery for Linux是由达思凯瑞技术(北京)有限公司自主研发的一款数据恢复软件。
Testdisk/PhotoRec数据恢复快速入门Testdisk是分区表恢复、Raid恢复、分区恢复的开源免费工具。
PhotoRec是个功能相当强大的免费数据恢复工具,通常与Testdisk一起下载,可根据各种文件的文件签名来恢复已删除文件。
TestDisk支持的功能:∙修复分区表, 恢复已删除分区∙用FAT32备份表恢复启动扇区∙重建FAT12/FAT16/FAT32启动扇区∙修复FAT表∙重建NTFS启动扇区∙用备份表恢复NTFS启动扇区∙用MFT镜像表(MFT Mirror)修复MFT表∙查找ext2/ext3备份的SuperBlock∙从FAT,NTFS及ext2文件系统恢复删除文件∙从已删除的FAT,NTFS及ext2/ext3分区复制文件PhotoRec支持的功能:PhotoRec 是一款用于恢复硬盘、光盘中丢失的视频、文档、压缩包等文件,或从数码相机存储卡中恢复丢失图片的数据恢复软件(因此,该软件命名为Photo Recovery这个名字)。
PhotoRec忽略文件系统,能直接从介质底层恢复数据,因此,在介质的文件系统严重破坏或被重新格式化后,它也能进行数据恢复。
Testdisk详细中文简介:/wiki/TestDisk_CNPhotoRec详细中文简介:/wiki/PhotoRec_CNPhotoRec数据恢复快速入门1.解压Testdisk程序包后,进入win目录找到photorec_win.exe,双击运行。
然后选择正确的磁盘。
2.选择分区表类型一般选择Intel (如果是GPT分区,请选择EFI GPT),其它操作系统,请相应的选择。
3. 接下来要选择要全盘搜索,还是针对某个分区进行搜索恢复。
4. 设定File Opt (文件选项),设置需要恢复的文件类型注:如果只是根据某些文件签名要恢复部分文件类型,那么可以按s取消全部勾选,然后移动光标到要恢复的文件类型,可按空格来选择高亮选中的类型。
Linux下⽤rm删除的⽂件的恢复⽅法对于rm,很多⼈都有惨痛的教训。
我也遇到⼀次,⼀下午写的程序就被rm掉了,幸好只是⼀个⽂件,第⼆天很快⼜重新写了⼀遍。
但是很多⼈可能就不像我这么幸运了。
本⽂收集了⼀些在Linux下恢复rm删除的⽂件的⽅法,给⼤家作为参考。
⾸先,最好的⽅法是避免这个问题,以下是⼏点建议: 1、rm -rf误操作的后果是可怕的,rm -f也要三思⽽⾏,不能轻易使⽤。
2、做好数据备份。
3、⽤⼀些策略避免出错: 提倡在shell下⽤ TAB 补全,⽤脚本执⾏任务,减少出错的机会。
或者编写⼀个脚本,起名rm,在脚本⾥将真实的rm改为mv ,将删除的都mv到⼀个指定的⽬录⾥⾯,定期清理。
那么rm删除的⽂件还能恢复吗? rm的man⾥⾯有如下说法: 请注意,如果使⽤ rm 来删除⽂件,通常仍可以将该⽂件恢复原状。
如果想保证该⽂件的内容⽆法还原,请考虑使⽤ shred。
所以理论上rm删除的⽂件是还能恢复的。
删掉⽂件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上,关键在于找出索引点,然后将其所指数据块内的数据抓出,再保存到另外的分区。
在⽤rm误删除⽂件后,我们要做的第⼀件事就是保证不再向误删⽂件的分区写数据。
通常我们可以有以下⼏种选择: 1、借助⼯具。
2、⾃⼰写程序。
你需要会编程并了解对应的⽂件系统。
3、如果数据很有⽤,也许可以找专业公司抢救。
⼯具 3、⼀个全能的⼯具,Finaldata,可以恢复unix/linux/dos下误删的⽂件。
对于unix,⽀持这些产品, Solaris、AIX和HP-UX。
对于linux,⽀持EXT2的⽂件系统。
对于dos,⽀持FAT 12/16/32, NTFS 4/5/5.1 的⽂件系统。
4、如果⽂件系统是ext2(对ext3⽆效): ext3的删除机制是直接把 inode data 删除了,所以造成 ext3 ⽆法反删除(ext3设计为⽆法恢复被删除的⽂件)。
ext2文件系统下数据进行数据恢复摘要ext2文件系统下数据进行数据恢复---------------------------------------------------------------------本系的 BBS 系统真是多灾多难 (嗯 .... 其实是因为我的疏忽,才会这么多灾多难 ....) ,继这几日系统时间不正确,造成许多人的 ID 被误砍后,又一次因系统设定上的问题,将 BBS 的重要备份档给杀了。
这件事是学弟发现后告诉我的,当我上站来一见到他的mail, 当真是欲哭无泪,差点没去撞墙。
那时已是周六晚 11:00 左右,我一边想着要编一套说辞向大家解释无法替大家进行数据恢复旧信件与设定了,一边还在想是否能够挽回局面。
大家知道, UNIX like 的系统是很难像 M$ 的系统一样,做到 undelete 的,所有网管前辈都曾再三警告我们,要小心! 小心! 砍档之前三思而后行,砍了之后再后悔也没用。
虽然我已渐渐做到砍档三思而后行,但之次误砍事件是系统在背景中定时执行的,等到我找出原因时已是数据被砍后一个多小时。
我凭着一点点的印象,想起在网络上,有人讨论过在 Linux ext2 filesystem中 undelete 的可能性,但我所见到的多半是负面的答案,但好象真的有人做过这件事,于是我第一个所做的,就是马上将该数据原来所在的 partition mount成 read-only, 禁止任何的写入动作,不是怕再有数据被误砍 (因为已没什么可砍的了) ,而是怕有新数据写进来,新资料可能会覆盖到旧资料原本存在的磁区 (block) 。
我们现在唯一个指望,就是企图将数据原来存在的磁区一个个找回来,并且「希望」这些磁区上的旧资料都还在,然后将这些磁区串成一个数据。
终于被我找到了!! 原来这方面的技术文件就存在我自己的系统中 :-))/usr/doc/HOWTO/mini/Ext2fs-Undeletion.gz于是我就按照这份文件的指示一步步来,总算将一个长达 8MB 的压缩档数据恢复了 99%, 还有一个长达 1.1 MB 的压缩档完整无缺地救了回来。
感谢上帝、 Linux 的设计者、写那篇文件的作者、曾经讨论过此技术的人、以及 Linux 如此优秀的 ext2 filesystem, 让我有机会抢救过去。
现在,我将我的抢救步骤做一个整理让大家参考,希望有派得上用场的时候 (喔! 不,最好是希望大家永远不要有机会用到以下的步数 :-)))在此严正声明!! 写这篇文章的目的,是给那些处于万不得已情况下的人们,有一个挽回的机会,并不意味着从此我们就可以大意,砍档不需要三思。
前面提到,我有一个数据无法100% 救回,事实上,长达 8MB 的数据能救回 99% 已是幸运中的幸运,一般的情况下若能救回 70% - 80% 已经要愉笑了。
所以,不要指望 undelete 能救回一切。
预防胜于治疗! 请大家平时就养成好习惯,砍档前请三思!!!理论分析我们能救回的机会有多大? 在kernel-2.0.X 系列中(本站所用的kernel 是2.0.33) ,取决以下两点:数据原来所在的磁区是否没有被覆写?数据是否完全连续?第一点我们可以与时间竞赛数据恢复,就是当一发现数据误砍时,要以最快的速度umount 该 filesystem, 或将该 filesystem remount 成唯读。
就这次的情况而言,数据误砍是在事发一个小时后才发现的,但由于该 filesystem 写入的机会很少 (我几乎可确定一天才只有一次,做 backup),所以第一点算是过关了。
第二点真的是数据恢复要听天由命了,就本站所使用的 kernel, 必须要在假设「长数据」所占的 block 完全连续的情况下,才有可能完全救回来! 一个 block 是 1024 bytes,长达8 MB 的数据就有超过 8000 个 block。
在经常读写的 filesystem 中,可以想见长数据很难完全连续,但在我们的系统中,这一点似乎又多了几分指望。
同时,Linux ext2 如此精良的filesystem, 能做到前 7950 多个 block 都连续,这一点也功不可没。
好了,以下我就讲一下我的步骤。
数据恢复,抢救步骤 I - mount filesystem readonly该数据的位置原来是在 /var/hda/backup/home/bbs 下,我们系统的 filesystem 组态是:root@bbs:/home/ftp/rescue# dfFilesystem 1024-blocks Used Available Capacity Mounted on/dev/sda1 396500 312769 63250 83% //dev/sda3 777410 537633 199615 73% /home/dev/hda1 199047 36927 151840 20% /var/hda/dev/hda2 1029023 490998 485710 50% /home/ftp因此 /var/hda 这个 filesystem 要马上 mount 成 readonly (以下请用 root 身份):mount -o remount,ro /var/hda当然也可以直接 umount 它,但有时候可能有某些 process 正在此 filesystem下运作,您可能无法直接 umount 它。
因此我选择 mount readonly。
但您也可以用:fuser -v -m /usr看一下目前是那些 process 在用这个 filesystem, 然后一一砍掉,再 umount。
数据恢复,抢救步骤 II执行echo lsdel | debugfs /dev/hda1 | less看一下该 filesystem 最近被砍的 inode (数据) 有那些 (为什么是 /dev/hda1? 请见上头的 df 列表)? 在这奶F数据的重要资讯,如大小、时间、属性等等。
就我们的系统而言,其列示如下:debugfs: 92 deleted inodes found.Inode Owner Mode Size Blocks Time deleted ....................................................................29771 0 100644 1255337 14/14 Sat Jan 30 22:37:10 199929772 0 100644 5161017 14/14 Sat Jan 30 22:37:10 199929773 0 100644 8220922 14/14 Sat Jan 30 22:37:10 199929774 0 100644 5431 6/6 Sat Jan 30 22:37:10 1999请注意!我们必须要在数据大小、被砍时间等资讯中判断出要救回的数据是那一个。
在此,我们要救回 29773 这个 inode。
数据恢复,抢救步骤 III执行echo "stat <29773>" | debugfs /dev/hda1列出该 inode 的所有资讯,如下:debugfs: stat <29773>Inode: 29773 Type: regular Mode: 0644 Flags: 0x0 Version: 1User: 0 Group: 0 Size: 8220922File ACL: 0 Directory ACL: 0Links: 0 Blockcount: 16124Fragment: Address: 0 Number: 0 Size: 0ctime: 0x36b31916 -- Sat Jan 30 22:37:10 1999atime: 0x36aebee4 -- Wed Jan 27 15:23:16 1999mtime: 0x36adec25 -- Wed Jan 27 00:24:05 1999dtime: 0x36b31916 -- Sat Jan 30 22:37:10 1999BLOCKS:123134 123136 123137 123138 123140 131404 131405 131406131407 131408 131409 131 410 131411 131668TOTAL: 14现在的重点是,数据恢复必须将该 inode 所指的数据,所指的 block 全部找回来。
在这它?14 个 block? 不对啊! 应该要有 8000 多个 block 才对啊! 在这卯ilesystem 的「奥密」了。
上头所列的前 12 个 block 是真正指到数据资料的 block, 称之为 direct block 。
第 13 个称为第一阶 indirect block, 第 14 个称为第二阶 indirect block 。
什么意思? 该档的资料所在的 block 位置如下:各位明白吗? 第 13 个 (131411) 与第 14 个 block 其实不是 data, 而是 index,它指出接下来的 block 的位置。
由于一个 block 的大小是 1024 bytes, 一个 int 在 32 位系统中是 4 bytes, 故一个 block 可以记录 256 笔资料。
以 131411 block 为例,它所记录的资料即为 (在数据未砍前):131412 131413 131414 .... 131667 (共 256 笔)而这 256 个 block 就真正记录了数据资料,所以我们称为第一阶。
同理,第二阶就有两个层 index, 以 131668 来说,它可能记录了:131669 131926 132182 .... (最多有 256 笔)而 131669 的 block 记录为:131670 131671 131672 .... 131925 (共 256 笔)而这 256 个 block 才是真正储存数据资料的。
而我们要的,就是这些真正储存数据资料的 block 。
理论上,我们只要将这些 index block 的内容全部读出来,然后照这些 index把所有的 block 全部读到手,就能 100% 数据恢复 (假设这些 block 全部没有被新数据覆写的话)。
工程很大,但是可行。
不幸的是,在 kernel-2.0.33, 其设计是,如果该数据被砍了,则这些 index block 全部会规零,因此我所读到的是0 0 0 0 0 ..... (共 256 笔)哇! 没办法知道这些 data block 真正所在的位置。