现在国内与硬盘数据恢复有关的软硬件产品越来越多,其中不乏有很多优秀产品,但就硬盘固件修复的软件而言,尚没有自主的核心技术,都是通过总线监控软件或总线协议分析仪,监控和截获俄罗斯的PC-3000软件的某一固件修复功能的输入/输出的指令和数据后,模仿出来的,这也是国产固件修复软件的新功能的升级总要比PC-3000慢一拍的原因。最近突然在网上发现国内研发出了顶级的固件修复技术“硬盘固件区虚拟技术”,出于好奇笔者查阅了国内外的一些有关资料,发现除了国内某个生产取证设备的厂商宣称掌握了这一技术外,还没有任何一家专业的硬盘研究机构提及这项技术。硬盘固件区虚拟究竟是什么技术?它有多高的技术含量呢?对于这些问题我们认为有必要做一些探讨。
什么是硬盘固件区虚拟技术?
对这个问题,厂家的解释含糊其辞,透着神秘。其实说白了就是:加载存储在非系统保留区介质上的固件模块。
所谓的“虚拟”,是指通过某种技术把一个物理实体变为若干逻辑上的对应物。比如我们使用的“虚拟光驱”,其实它的物理实体可能是内存或硬盘。而使用“固件区虚拟技术”之后,硬盘的引导程序加载的仍然是固件模块,物理实体相同,仅仅是模块读取位置不同而已。其功能近似于硬盘维修中的“热交换”。但它与“热交换”的不同之处是:
“热交换”:加载另一块硬盘的全部固件模块,可适用所有型号的硬盘。
“固件区虚拟”:加载另一块硬盘的部分固件模块,只适用某几种型号的硬盘。
由上可以看出,由于“热交换”加载的是全部固件模块,所以也包含了P-LIST模块,这可能会导致硬盘固件“热交换”之后,硬盘出现大量“坏磁道”,数据扇区发生移位,以致无法恢复出正确的数据。“固件区虚拟”由于可以有选择的加载固件模块,所以它是“热交换”技术的一种改进,但由于只能由于某几种型号的硬盘,缺乏普遍性,所以它也只能算是一种硬盘的维修技巧。
研究硬盘的业内人士都知道,硬盘制造商的研发机构在研制一款新型号的硬盘时,都有自己专用的硬盘开发系统和仿真系统,在此环境下设计和研发固件,才能算得上是真正意义上的“虚拟”。
对硬盘固件程序开发经验的程序员而言,编写一个小程序,实现不依赖硬盘上的系统保留区的固件模块加载,轻而易举。笔者曾对某个型号的硬盘,写过一个类似功能的程序,只花了1个多小时。所以说所谓“硬盘固件区虚拟技术”只能算硬盘数据恢复中的一项恢复技巧,有实用意义,但无理论研究价值。至于是什么“顶级技术”,也只不过是数据恢复服务商的一个宣传的噱头。