打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ATA硬盘“保护区域”特性及应用剖析-----HPA(Host Protected Area,主保护区域)
ATA硬盘“保护区域”特性及应用剖析_希捷北京代表处 周学锋

ATA硬盘“保护区域”特性及应用剖析

希捷北京代表处 周学锋


--------------------------------------------------------------------------------



为了增强自身PC与其他厂商及DIY式 PC的差异性, PC厂商已越来越多地将各种特色“增值”功能加进产品中,利用ATA硬盘的“保护区域”特性来增强PC系统安全性,实现多重启动即为此类功能设计。从下面由希捷公司硬盘工程师周学锋所做的介绍中,我们就可以了解利用ATA硬盘的“保护区域”特性实现某些PC特色功能的原理。

硬盘“保护区域”简介

为提升PC的多功能性、易用性和安全性, PC厂商开始将一些程序或数据 “隐藏”在PC硬盘中,而隐藏起来的区域一般叫做“隐藏分区”—— 普通用户在操作系统中将看不到这些程序和数据,他们可能会奇怪,硬盘容量怎么好像被“偷” 走了一部分,到底是谁“动”了我的硬盘?

其实“隐藏分区”的概念早已有之:在386、486时代,一些世界知名PC制造厂商就开始在硬盘上划出一个很小的区域,将BIOS和应用工具放入其中,用户无法直接访问,只能通过特定软件来调用它们。严格来讲,通常所说的“隐藏分区”不一定是一个分区,也可能是硬盘上的一个保护区域。在硬盘上设定“隐藏”区域通常有以下两类方式:

一、在操作系统层隐藏一块空间

先在硬盘上分区,然后将某一分区的属性设为不可见,从而实现真正的“隐藏分区”。比如一个容量为80GB、具有四个分区的硬盘的最后一个分区有10GB容量,那么将此最后分区设成“隐藏分区”后,用户再用FDISK等分区软件去读硬盘时,就会发现硬盘总容量只有70GB,或者将看到一个无法识别的分区。

此方式的优点是隐西藏域的设置较方便,不需对ATA协议中的特别命令有过多了解,要删除此隐西藏域也较简单;缺点则是由于属于操作系统层的隐藏,所以如果分区表损坏,则隐藏分区很难幸免,隐藏在其中的数据也比较容易丢失。

如欲去掉隐藏分区,得到硬盘全部容量,只要用生成隐藏分区的工具将分区变为可见即可。如无相应工具,那么将硬盘数据备份好后,用PowerQuest PartitionMagic等分区工具软件将该隐藏分区删掉就可以了(当然数据会损失掉)。

二、采用ATA协议中的硬盘HPA方式

HPA(Host Protected Area,主保护区域)是通过用ATA命令对硬盘后部的一块区域进行保护来实现的,其操作结果不同于FDISK之类的分区软件,不仅操作系统无法看到该区域,连BIOS都无法读取处于保护状态下的“主保护区域”。ATA协议还定义了一些锁住保护区域、对保护区域加口令的命令,进一步加强了HPA的可靠性和安全性。

保护性强、不易被破坏是HPA的最大优点。只要不用ATA协议中定义的特别命令打开“保护区域”,就不可能对此区域进行读写操作(口令保护机制的引入进一步提高了安全性)。未被保护的区域与一个普通的硬盘完全一样,可进行正常的读写、分区格式化,而不会对“保护区域”内的数据有任何影响。当然任何事情都有两面性,由于“保护区域”的保护性强,故如没有软件厂商提供的去掉“保护区域”的软件,则很难将其删除。

利用“主保护区”实现的功能

自从ATA协议中引入了“主保护区域”概念、加入了相关命令后,很多包括PC厂商在内的软硬件厂商开始利用它实现以前难以实现或实现后不够完善的功能,试举以下两个例子:

一、数据的硬盘备份和恢复

对于安装了这种硬盘保护软件的PC(有一些品牌机在出厂时预装此软件),当用户系统在使用过程中出现问题或崩溃之后,按PC机厂商提供的指导,按住特定按键或者用随机带的恢复软盘启动主机,硬盘中的系统和软件将恢复到出厂时的状态。

此功能的原理是:PC厂商在主机出厂之前将硬盘的一部分容量做成“保护区域”,比如80GB的硬盘隐藏了5GB;将操作系统、预装软件备份在其中;当用户按住特定按键或者用恢复软盘启动主机时,硬盘收到ATA命令打开“保护区域”;备份数据恢复到用户区域,系统就得到了恢复。

二、多重启动给PC增加特色功能

现在已经有了这样的PC:既可开机进入普通的操作系统,完成和普通PC一样的功能,还可进入另一种模式以实现信息家电等用途(如联想天骄系列电脑即有此功能)。

以上功能的实现也是基于“保护区域”的特性:PC厂商在硬盘中建立“保护区域”,将独立于主操作系统的一套系统装到“保护区域”中;正常开机时,“保护区域”处于保护状态 ,进入操作系统过程与普通PC无任何区别;当选择厂商定制模式开机时,“保护区域”被打开,PC加载厂商自己的系统,并实现信息家电等特色功能。至于进入厂商定制模式后可以实现播放DVD/CD,还是浏览照片、上网等功能,则完全取决于厂商在自己系统中预置了什么功能模块。

有时用户买的品牌机标明硬盘容量为80GB(比如在BIOS中明明看到硬盘型号是希捷ST380011A),但显示容量却为75GB,这就是因为在硬盘中有“保护区域”;当然操作系统中的显示容量小于80GB是正常的,因为硬盘厂商普遍采用的单位是1GB=109bytes,而软件厂商一般采用的单位是1GB=10243bytes = 1073741824bytes,这就使得标明80GB的硬盘在操作系统界面中显示为约74.5GB。

“主保护区域”的实现

ATA协议规范里定义了一些命令,以实现对一定大小的区域进行保护和解除保护。要在一个硬盘上实现HPA,至少需要以下两个命令:read native max address(读出硬盘本身的实际容量);set max address(设置最大的可寻址容量)。

利用read native max address可以读出硬盘的原始容量,且无论硬盘上是否有HPA都不会受到任何影响。set max address命令是用来设置硬盘最大可访问容量的, 此容量只能小于或等于硬盘的出厂原始容量,如果设置容量大过硬盘出厂值就会报错。设置中,小于硬盘原始容量的部分将被保护起来。例如,硬盘的出厂大小为80GB,用set max address将它设为60GB,在BIOS中硬盘就是60GB了,余下的20GB被保护了起来。

以上只是两个基本命令,如要加强“保护区域”的安全性,还需要使用更多的命令,例如:set max set password;set max lock;set max freeze lock;set max unlock。

随着硬盘容量的增大,现在出现了48位寻址(原28位寻址支持137GB容量,48位支持144TB),如果硬盘支持48位寻址,就可以使用以下命令:set max address ext;read native max address ext。这两个命令专门针对支持48位寻址的硬盘,如果在不支持48位的硬盘上使用则会报错。

如果在小于137GB但支持48位寻址的硬盘上使用read native address和set max address,也是可以工作的。也就是说新的支持48位寻址的硬盘只要容量没有超过限制,是与不支持48位寻址的硬盘兼容的。不过要提醒的是,虽然二者有兼容性,但是在应用中决不能混用命令,如用set max address设置“保护区域”,就一定要用set max address打开“保护区域”;同理,如用set max address ext设置“保护区域”,也一定要用set max address ext打开“保护区域”。

综上所述,利用ATA协议所定义的命令,在硬盘中建立HPA,理论上并不难,不过要付诸实用并考虑到安全性等因素,就还要更加深入地研究ATA协议。实际上,许多软硬件厂商已在这方面做出了努力,真正将“保护区域”引入PC产品,从而使PC系统数据得到了更稳妥的保护,同时也带来了多样的家电化操控、数码娱乐等功能——PC正变得越来越可靠,也越来越富有个性和生活气息。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
删除系统自带的恢复分区
使用计算机必懂的53个英文单词和缩写
联想慧盾硬盘保护系统V5
硬盘无法分区格式化
硬盘大量UNC错误修复
莫入技术陷阱 家用电脑选购常见误区分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服