希捷F3架构硬盘的常见问题之一是编译器问题。
通常我们会自动重新生成编译器(通过Translator regeneration和Recovery translator程序)。
基本上可以成功解决问题并获得整个用户扇区的访问,但有时候实用程序无法正确隐藏NRG列表的缺陷,因此我们可以访问用户区域(从LBA0到中间的某个扇区) 。
在本文中,我们想讲述如何手动隐藏缺陷,重新生成编译器以完成此硬盘数据恢复工作并获得对整个数据扇区的访问。
提供的步骤很困难,需要注意和重视。
为了更清楚地说明,我们描述了真实情况下的所有步骤。
这是一块Sentosa家族的ST1000LM010驱动器,但提供的步骤可以应用于所有F3架构希捷硬盘数据恢复。
首先做一个翻译器(28 sys文件),SMP标志(93 sys文件),P-list(1B sys文件)和非驻留G列表(35 sys文件)的备份。
这是非常重要的,他可以还原硬盘原来的状态
检查系统磁头(0和1)是否具有写入可能性。打开181(对于Head0)和182(对于Head1)sys文件,键入文本,写入并尝试重新读取这些sys文件。
然后关闭93系统文件中除顶部之外的所有SMP标记选择,并将此更改写入驱动器:
自动编译器再生程序后,我们可以访问第一个约450,000 000 LBA(所有其他扇区显示错误,无法打开)。
我们需要找到最后一个可用扇区(我们可以读取)和最后一个可用扇区(显示“UNC”错误)。
那么需要了解一下它是真正的缺陷还是坏块。
具有坏块的扇区具有唯一的ID,但缺陷没有。结果这些扇区在终端报告中有不同的错误代码。
从上一个可用扇区之一启动转换器恢复过程。
在这种情况下,我们从450,000 000 LBA开始:
而等待恢复过程在其中一个扇区被停止(对于希捷实用程序,很难“理解”它是否是坏块或缺陷,并且在这个地方有多少)。
在我们这个例子中,
停止恢复过程,并尝试了解为什么实用程序无法通过此区域。
转到“扇区编辑”并尝试打开这个问题扇区。
找到最后一个可读扇区,然后找到第一个不可访问的扇区。
这里是LBA 473 947 663 – 最后一次访问,但填充“00”模式 和LBA 473 947 664 – 第一不可访问(显示“UNC”错误)。
那么我们需要了解在这个问题扇区之前有多少个扇区被“00”填补。
在“扇区编辑”中,我们逐行回退,并尝试找到具有数据的扇区。
这里是有数据的扇区 – LBA 473 947 623。
计算: 473 947 663 – 473 947 623 = 40扇区与“00”模式。
我们得到了一些“00”模式的扇区。
因此,我们可以假设我们的驱动器有一些扇区链作为缺陷,我们可以尝试将其隐藏到Non-Resident G-list中。
返回终端报告,并找到与第一个不可访问扇区相关的错误消息(LBA 473 947 664)。
需要将此LBA(逻辑地址)转换为CHS(物理地址),因为缺陷表使用物理地址信息。
通过Ctrl + Z获取终端访问。
然后命令如:
F3 T>/aF0387,fbc0,,10
/a – 切换到终端级别“A”。
F – 将LBA转换为CHS
0387,fbc0 – 有问题的扇区的十六进制减去两个LBA(从上图可以看到)
,,10 –需要多少扇区
因此,我们知道我们的LBA 473 947 664(HEX中的0387FBC2)具有03887D4B物理地址(CHS)。
在驱动器ID窗口中,我们可以看到,该驱动器具有4096字节的扇区大小(每1个逻辑扇区8个物理扇区)。
因此,我们40个具有“00”模式的扇区被表示为5个逻辑扇区(5个缺陷)。
打开非常驻G-list编辑器:
添加新缺陷:
并键入以下值:
Initial LBA –具有“00”模式的第一个扇区
Final LBA – 将自动计算
Size – 多少扇区是缺陷
Flag – 设置0x20值 – 因此您的缺陷不会被驱动器本身和转换器再生选项清理。
在我们的情况下是:
将具有新缺陷的缺陷表写入HDD(option “Save to Non Resident G-list”)
并通过终端命令或实用程序菜单重新生成编译器:
之后检查扇区访问。
如果驱动器允许成功读取相同或更少数量的扇区,则意味着您隐藏错误的缺陷。
检查您的缺陷记录的设置(第一个LBA和扇区数)或删除此记录。
好的结果是可能访问更多的扇区,这意味着你隐藏了正确的缺陷。
现在我们可以访问到大约475 000 000 LBA:
然后我们隐藏了一个正确的缺陷,可以继续。
步骤是一样的:
找到第一个不可访问的LBA,逐行退步,并计算出多少物理LBA是不可访问的。
然后在Non-resident G-list中添加新缺陷,保存并重新生成翻译器。
最终的缺陷数量取决于硬盘,所以要有耐心。
我们的案例有2个缺陷记录,最后我们可以访问整个用户区域。