
现代的 SMR 驱动器由于采用了新的叠瓦式记录技术而非常敏感。写入密度变得更高,而且驱动器固件中的内部过程几乎从不停止。即使驱动器空闲时,也会重写磁带来优化数据访问。这对于数据读取速度和增加写入驱动器的数据量非常有利,但不幸的是,有时这可能导致内部过程失败,驱动器停止提供先前写入的数据。Windows 发现用户区未分配,并自动启动格式化过程。是的,此后驱动器可以被识别并工作,但上面的所有数据都消失了。问题在于,格式化时第二级译码表也会改变。在这种情况下该怎么办?让我们在本文中探讨一下。
例如,我们有一个 Palmer 系列的驱动器,状态良好,启动非常顺利,没有任何问题。ROM 已根据此手册解锁。
在扇区编辑器中,我们可以看到一些数据可用。在此阶段,我们无法判断数据是新的还是旧的。

首先,始终建议进行固件备份。

在此阶段,我们建议取消勾选服务区磁道,使用复合读取保存模块,并手动选择使用区域读取方式读取模块 190,以更快地完成初始备份。

让我们进入 PC-3000 Data Extractor 检查驱动器中的数据。在文件夹树中,我们只看到 Windows 首次格式化 HDD 后出现的标准文件夹。

对于整个驱动器来说,MFT 表也非常小。

请注意,任何 MFT 扫描都不会找到任何数据,因为所有其他扇区都被清零了,但物理上数据可能仍在驱动器中。
让我们回到 WDC Marvell 工具程序。首先,使用工具程序中的新功能保存整个 T2 模块:保存 T2 模块。

我们需要将 T2 作为一个完整的模块保存,因为只有完整的模块才包含所有数据的正确信息:

如果驱动器状况不是很好,保存可能需要一些时间。
接下来,我们按下顶部工具栏上的另一个新按钮准备获取 UA PBA 访问权限,因为在这种情况下我们将使用物理块寻址。

然后看到关于驱动器中区域的报告:
准备获取 UA PBA 访问权限
区域类型…………………………. : 类型 2
区域数量………………………….. : 2,080
读取区域信息…………………………. : 正常
PBA 扇区计数………………….. : 正常
保存到文件………………………. : 正常
接下来我们再次进入 Data Extractor 并创建另一个任务,但在此阶段选择 PC-3000 工具程序作为数据源非常重要:

在最后一步,我们选择读取 CHS 并考虑重定位:

在驱动器 ID 中,我们将只看到型号和容量,如果我们使用工具程序作为源,这是正常的。

现在,如果我们尝试打开文件夹树,可能会看到以下消息:

重要的是不要执行任何分析,因为这可能会影响我们后续的数据恢复结果。只需点击右上角的红色叉号关闭此选项卡。
接下来,在根目录上单击鼠标右键,选择使用工具程序 -> 恢复第二级译码表

然后选择之前在保存 T2 模块过程中保存的 T2 文件。文件名是默认的,在我们的例子中是 _190Copy0.rpm。同时选择忽略当前译码表,因为在我们的案例中,格式化后当前的 T2 不正确。例如,如果我们需要恢复已删除的文件,则可以取消勾选此复选框。

按确定并等待一段时间。
过程结束后,我们将在文件夹树中看到某个虚拟驱动器。如果我们尝试展开它,仍然看不到正常数据:

接下来,右键单击新创建的虚拟驱动器,选择编辑:

在下一步中,转到版本选项卡:

这些条目是我们要恢复的分区的不同元数据版本(在 T2 模块中)。我们不知道哪一个版本是正确的。也许最新的版本就是我们需要的。
在选定的版本上单击鼠标右键,选择使用:

然后刷新我们的虚拟驱动器:

还建议为新分区启用头部控制,以查看结构是否良好:

如我们所见,所选版本并不好,因为我们看不到正常的文件或任何结构:

让我们尝试使用另一个版本:

结果仍然不是很好。

为了改善结果,让我们选择选择元数据版本:

过程结束后,结果好多了,我们甚至可以看到正常的文件夹和文件:

现在我们可以退出此模式:

并在正常的 Data Extractor 文件夹树中检查我们的数据。文件夹和文件看起来正常,可以打开:

如果我们构建文件夹和文件的映射,它会相当大,大约 108 GB:

现在可以恢复数据了。
请注意,通过 PBA 进行镜像速度不会很快,对于健康的驱动器大约为 10-12 MB/秒。
关于此过程的视频在这里: