经历一次数据恢复尝试的痛苦或漫长的历史

那是2019年。 我们的实验室收到了容量为 9.1GB 的 QUANTUM FIREBALL Plus KA 驱动器,这在我们这个时代并不常见。 据硬盘所有者称,故障发生在 2004 年,原因是电源故障,导致硬盘和其他 PC 组件一起损坏。 随后又拜访了各种服务机构,试图修复驱动器并恢复数据,但均未成功。 在某些情况下,他们承诺会便宜,但他们从未解决问题,在其他情况下,它太贵,客户不想恢复数据,但最终磁盘经过了许多服务中心。 它丢失了好几次,但由于所有者提前记录了硬盘上各种贴纸的信息,他设法确保他的硬盘从一些服务中心归还。 走道并没有无迹可寻,原来的控制板上还残留着多处焊接痕迹,而且视觉上也感觉到了SMD元件的缺失(展望未来,我会说这是该驱动器的最少问题)。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 1 个硬盘量子火球 Plus KA 9,1GB

我们要做的第一件事就是在捐赠者档案中搜索该驱动器的一个古老的孪生兄弟,并带有一个可用的控制器板。 当这个任务完成后,就可以进行广泛的诊断措施。 检查电机绕组是否存在短路并确保没有短路后,我们将板从施主驱动器安装到患者驱动器。 我们通电并听到轴旋转的正常声音,通过加载固件的校准测试,几秒钟后驱动器通过寄存器报告它已准备好响应来自接口的命令。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 2 DRD DSC 指示灯指示已准备好接收命令。

我们备份固件模块的所有副本。 我们检查固件模块的完整性。 读取模块没有问题,但对报告的分析表明存在一些奇怪的情况。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 3. 区域表。

我们关注分区分布表,注意到气缸数为13845。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 4 P-list(主要列表——生产周期中引入的缺陷列表)。

我们提请注意缺陷数量太少及其位置。 我们查看工厂缺陷隐藏日志模块(60h),发现它是空的并且不包含任何条目。 基于此,我们可以假设,在之前的某个服务中心中,可能对驱动器的服务区进行了一些操作,并且无意或有意地写入了外部模块,或者原始的缺陷列表一个被清除。 为了测试这个假设,我们在数据提取器中创建一个任务,并启用“创建逐扇区副本”和“创建虚拟转换器”选项。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 5 任务参数。

创建任务后,我们查看分区表中零扇区 (LBA 0) 的条目

经历一次数据恢复尝试的痛苦或漫长的历史
米。 6 主引导记录和分区表。

在偏移 0x1BE 处有一个条目(16 字节)。 分区上的文件系统类型为 NTFS,偏移量为 0x3F (63) 个扇区,分区大小为 0x011309A3 (18) 个扇区。
在扇区编辑器中,打开 LBA 63。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 7 NTFS引导扇区

根据NTFS分区引导扇区中的信息,我们可以得出以下结论:卷中接受的扇区大小为512字节(字0x0(0)写入偏移量0200x512B处),簇中扇区的数量为8(字节0x0写入偏移量0x08D处),簇大小为512x8=4096字节,第一个MFT记录位于距磁盘开头偏移6个扇区处(偏移量为291x519四字0x30 0 00 00 00 00C 00 0 (00) 第一个 MFT 簇号,扇区号的计算公式为:簇号 * 簇内扇区数 + 到段开头的偏移量 00* 786+432= 786)。
让我们转到扇区 6。

经历一次数据恢复尝试的痛苦或漫长的历史
图。 8

但该扇区包含的数据与MFT记录完全不同。 尽管这表明由于缺陷列表不正确而可能导致翻译错误,但这并不能证明这一事实。 为了进一步检查,我们将相对于 10 个扇区在两个方向上读取磁盘 000 个扇区。 然后我们将在我们读到的内容中搜索正则表达式。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 9 第一次MFT录音

在扇区 6 中,我们找到了第一个 MFT 记录。 它的位置与计算出的位置相差291个扇区,然后连续跟随一组551条记录(从32到16)。 我们将扇区 0 的位置输入到移位表中,并向前移动 15 个扇区。

经历一次数据恢复尝试的痛苦或漫长的历史
图。 10

第 16 号记录的位置应该是偏移量 12,但我们在那里发现了零,而不是 MFT 记录。 让我们在周边地区进行类似的搜索。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 11 MFT条目0x00000011 (17)

检测到 MFT 的大片段,从记录号 17 开始,长度为 53 条记录),移位了 646 个扇区。 对于位置17,在移位表中放置+12个扇区的移位。
确定了 MFT 片段在空间中的位置后,我们可以得出结论,这看起来不像随机故障,也不像以不正确的偏移量记录 MFT 片段。 译者错误的版本可视为已确认。
为了进一步定位移位点,我们将设置最大可能的位移。 为此,我们确定 NTFS 分区的结束标记(引导扇区的副本)移动了多少。 在图 7 中,在偏移 0x28 处,四字是 0x00 00 00 00 01 13 09 A2 (18) 扇区的分区大小值。 让我们将分区本身从磁盘开头的偏移量加上其长度,我们得到结束 NTFS 标记的偏移量 024 + 866= 18。正如预期的那样,所需的引导扇区副本不存在。 当搜索周围区域时,发现相对于最后一个MFT片段增加了+024扇区的偏移。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 12 NTFS引导扇区的副本

我们忽略偏移量 18 处的引导扇区的另一个副本,因为它与我们的分区无关。 根据之前的活动,确定该部分包含广播中“突然出现”的 041 个扇区,从而扩大了数据范围。
我们对驱动器执行完整读取,留下 34 个未读扇区。 不幸的是,不可能可靠地保证所有这些都是从 P 列表中删除的缺陷,但在进一步分析中,建议考虑它们的位置,因为在某些情况下,可以通过以下方式可靠地确定移位点:扇区的准确性,而不是文件的准确性。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 13 磁盘读取统计。

我们的下一个任务是确定班次的大致位置(以发生班次的文件的准确性为准)。 为此,我们将扫描所有 MFT 记录并构建文件位置链(文件片段)。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 14 文件或其片段的位置链。

接下来,从一个文件移动到另一个文件,我们寻找出现其他数据而不是预期文件头的时刻,并且将以一定的正向偏移找到所需的头。 当我们完善换档点时,我们填写了表格。 填充的结果是99%以上的文件没有损坏。

经历一次数据恢复尝试的痛苦或漫长的历史
米。 15 用户文件列表(已获得客户同意发布此截图)

要在单个文件中建立点偏移,您可以执行额外的工作,如果您知道文件的结构,则可以查找与其不相关的数据包含物。 但这项任务在经济上是不可行的。

PS 我还要向我的同事们致意,这张光盘以前在他们手中。 使用设备固件时请务必小心,并在更改任何内容之前备份服务数据,如果您无法与客户就工作达成一致,请勿故意加剧问题。

上一出版物: 保存比赛或从磨碎的 HDD Seagate ST3000NC002-1DY166 恢复数据

来源: habr.com

添加评论