硬盘“隐藏保护区域”HPA技术介绍
关于"host protected area"资料
HPA是ATA之标准,ATA-4就含了HPA,通俗之理解就是设置读取之硬盘 大之扇区号,从而把高端之内容隐藏起来,这个 大之扇区号能够写在硬盘之某个地方,因此即使你把这个硬盘挂到其它机器上,好情况下你也看不到隐藏之内容,fdisk,pqmaigc之类之工具也把这个硬盘当做一个稍小容量之硬盘。现在HPA已经是用ATA-5之标准了,这个标准需要在HDD之 Firmware支持之。
phoenix(生产BIOS之公司)开发之Core Managed Environment (cME),联想主板上之recovery easy II,IBM之系统恢复都是利用HPA之例子。
由于资料有限,我只能推测IBM是这样使用HPA之:硬盘隐藏部分事实上是个好之分区(比如FAT32、NTFS),这样就不需要开发大量之针对隐藏空间之应用程序。
附件: 406198-FWTOOLS.RAR
这个是psa驱动,在config.sys文件中加入它之后,才能在DOS下面查看HPA里面之内容。
附件: 406203-PSADISK.SYS
按AccessIBM之后出来之界面,就是这个程序,IBM叫它sight.exe。
附件: 406208-SIGHT.EXE
这个程序需要minidos.sys来支持。
附件: 406212-MINIDOS.SYS
这个DOS命令,和DOS之dir相类似,即查看HPA里面之列表,括相应之ID,名字,第一扇区,容量大小等相关信息。如果已经有HPA了,在DOS下面运行fwdir,会看到如下类似之信息:
FWDIR version 1.00 - Copyright (c) 2002 Phoenix Technologies Ltd.
Detecting drives...
BEER Structure on Drive 2
Signature: 0xBEEF (Committed)
Capabilities: 0x0029
Native Max Sect: 117210239
Current Max Sect: 117210239
First HPA Sector: 112017857
Last Part sector: 112008960
Service Areas: 8
# ID Name 1st Sector Megabytes Sec Icon Flag
-- ---- ------------------------------ ---------- --------- --- ---- ----
0 000h FirstWare Reserved Area 117005431 100.000 0 00h 03h
1 100h SIGHT 117002548 1.408 3 FCh 21h
2 8104h Restore from backup 116999665 1.408 0 22h 21h
3 8105h Rec Boot 116983660 7.815 0 21h 21h
4 8800h BIOSWORKAREA 116979564 2.000 0 21h 06h
5 8888h Rec Data 112047980 2408.000 0 21h 06h
6 8101h Create Diagnostic Diskettes 112032920 7.354 0 24h 21h
7 8100h Run Diagnostics 112017857 7.355 0 23h 21h
可以看到HPA之结构,左边之ID部分相当重要,运行所有命令都几乎要涉及这个参数。
第一部分是保留区,由于没有法查看里面之数据(如何查看,稍后之fwmount命令中讲述),站长没有法确定这个保留区之真正作用,这个区之大小正好是100MB;
第二部分是叫sight,里面只有两个文件,即minidos.sys和sight.exe,这个程序只有200多K,是一个标准之DOS程序,可以在DOS下面直接运行,即会看到启动时候按AccessIBM那样之界面,这部分只有一张软盘大小,运行chkdsk查看它之大小和一张标准软盘是一样之;
第三部分也是一张软盘大小,叫Restore from backup,即从备份中恢复之时候启动;
第四部分是Rec boot,即纪录引导区,大小是8MB,在AccessIBM中运行Recover to factory contents时从这部分引导;
第五部分是BIOSWORKAREA,用fwmount没有法打开查看,站长只能从其它区域之情况和它之名字来推测它是相当于电脑之BIOS这样一个区域;
第六部分是Rec Data,就是四张恢复光盘之数据了,有2.4G大;
第七和第八部分就分别是制作检测工具盘和运行检测工具。
fwdir命令和其它相关命令之使用参数通常会涉及一个drv=0这样之,缺省时是使用drv=0,这个设备是硬盘插槽里面之硬盘,drv=1通常使用不了,它是指第一通道之从设备(主设备通常就是硬盘插槽之硬盘了);drv=2则是第二通道之主设备(通常就是光驱位置之设备),drv=3则是第二通道之从设备了。如果使用了UltraBay Slim硬盘托架,那么这个就是drv=2了。运行格式是:
fwdir drv=2
使用很简单,如果要删除硬盘插槽里面之硬盘之HPA,输入:
fwdelete drv=0 all
然后按Y确认,即可删除。
如果是要删除UltraBay Slim硬盘托架里面之硬盘之HPA,输入:
fwdelete drv=2 all
然后按Y确认,即可删除。
执行此命令之时候,BIOS中之IBM PreDesktop Area设置不用改为Disable。但删除HPA后如果要利用这部分之硬盘空间(2.5G左右),还得改为Disable才行。预先设置为Disable再执行fwdelete也可以之。
这个命令可以先用fwdir查看HPA结构之后,再用fwdelete逐个删除,在后面加上id=xxx这样就可以了。
fwdelete能够以 快捷、 直接之方式来删除HPA。对于一些网友在使用或研究HPA过程中非常有用。
站长在用东芝MK5024GAY硬盘研究HPA之时候,曾发生过HPA损坏,改为Disable后用DM、PQ或Windows来删除那块区域(HPA)都没有效果,表面上是删掉了,但一改回Normal,启动系统时马上就报1850错,或者是检验错,后来用XP安装光盘来删,也不行,象幽灵似之缠着不放。到后来发觉fwdelete命令时,一下子就干掉了,走了这么多弯路。
fwbackup是备份HPA之工具,重要参数有file,size,drv,其中file是指备份出来之文件,比如file=t40hpa,那么它会备份出来t40hpa.001,002,003这样之文件;size参数是指备份出来之文件之大小,比如size=650,那么备份出来之文件自动按每个650MB一个分割,drv参数和之前介绍之相同。
FWBACKUP Version 1.00
(C) Copyright 2002 Phoenix Technologies Ltd. All Rights Reserved.
USAGE: FWBACKUP file=<filename> size=<spansize> [drv=drive_no] [ver] [/?]
Optional parameters:
drv=n Specify drive to use. 0=pm,1=ps,2=sm,3=ss
ver Display version and build information.
/? Show this help message.
Note: If is specified the program will run in unattended mode
fwbackup可以在本机硬盘DOS下直接运行,通常可以用U盘或软盘或光盘启动到DOS下面,在硬盘上有FAT32格式之分区下面来操作,就可以备份。
和fwbackup对应,fwrestor就是恢复HPA之工具了。fwrestor参数相对简单一些,不用size来指定大小,它会自动寻找当前目录下面file=指定之文件名,然后恢复。运行fwrestor命令时,要求恢复之硬盘必须是没有任何分区之,否则恢复完成之后,会出错。
FWRESTOR Version 1.00
(C) Copyright 2002 Phoenix Technologies Ltd. All Rights Reserved.
USAGE: FWRESTOR file=<filename> [drv=drive_no] [verify] [ver] [/?]
Optional parameters:
drv=n Specify drive to use. 0=pm,1=ps,2=sm,3=ss
verify Compare data written to disk with data read from file
ver Display version and build information.
/? Show this help message.
运行fwbackup和fwrestor命令时,BIOS中IBM PreDesktop Area可以设置为Disable或Normal。但恢复完之后,必须要用恢复好之硬盘来放在硬盘插槽里面,并且在BIOS中IBM PreDesktop Area设置为Normal或Secure,才能按AccessIBM来恢复系统;放在UltraBay Slim插槽里面之话,即使用这块硬盘来启动,按AccessIBM进入只有一个Enter Setup Utilies一个选项,没有法恢复系统。
HPA是ATA之标准,ATA-4就含了HPA,通俗之理解就是设置读取之硬盘 大之扇区号,从而把高端之内容隐藏起来,这个 大之扇区号能够写在硬盘之某个地方,因此即使你把这个硬盘挂到其它机器上,好情况下你也看不到隐藏之内容,fdisk,pqmaigc之类之工具也把这个硬盘当做一个稍小容量之硬盘。现在HPA已经是用ATA-5之标准了,这个标准需要在HDD之 Firmware支持之。
phoenix(生产BIOS之公司)开发之Core Managed Environment (cME),联想主板上之recovery easy II,IBM之系统恢复都是利用HPA之例子。
由于资料有限,我只能推测IBM是这样使用HPA之:硬盘隐藏部分事实上是个好之分区(比如FAT32、NTFS),这样就不需要开发大量之针对隐藏空间之应用程序。
二、相关工具
所有相关之FW工具,在第一张恢复光盘之recovery目录下面,是对fw开头之那些文件,这里打了一个工具上来。具体在后面逐个介绍。附件: 406198-FWTOOLS.RAR
这个是psa驱动,在config.sys文件中加入它之后,才能在DOS下面查看HPA里面之内容。
附件: 406203-PSADISK.SYS
按AccessIBM之后出来之界面,就是这个程序,IBM叫它sight.exe。
附件: 406208-SIGHT.EXE
这个程序需要minidos.sys来支持。
附件: 406212-MINIDOS.SYS
三、HPA结构
先讲FW工具集中之fwdir命令。这个DOS命令,和DOS之dir相类似,即查看HPA里面之列表,括相应之ID,名字,第一扇区,容量大小等相关信息。如果已经有HPA了,在DOS下面运行fwdir,会看到如下类似之信息:
FWDIR version 1.00 - Copyright (c) 2002 Phoenix Technologies Ltd.
Detecting drives...
BEER Structure on Drive 2
Signature: 0xBEEF (Committed)
Capabilities: 0x0029
Native Max Sect: 117210239
Current Max Sect: 117210239
First HPA Sector: 112017857
Last Part sector: 112008960
Service Areas: 8
# ID Name 1st Sector Megabytes Sec Icon Flag
-- ---- ------------------------------ ---------- --------- --- ---- ----
0 000h FirstWare Reserved Area 117005431 100.000 0 00h 03h
1 100h SIGHT 117002548 1.408 3 FCh 21h
2 8104h Restore from backup 116999665 1.408 0 22h 21h
3 8105h Rec Boot 116983660 7.815 0 21h 21h
4 8800h BIOSWORKAREA 116979564 2.000 0 21h 06h
5 8888h Rec Data 112047980 2408.000 0 21h 06h
6 8101h Create Diagnostic Diskettes 112032920 7.354 0 24h 21h
7 8100h Run Diagnostics 112017857 7.355 0 23h 21h
可以看到HPA之结构,左边之ID部分相当重要,运行所有命令都几乎要涉及这个参数。
第一部分是保留区,由于没有法查看里面之数据(如何查看,稍后之fwmount命令中讲述),站长没有法确定这个保留区之真正作用,这个区之大小正好是100MB;
第二部分是叫sight,里面只有两个文件,即minidos.sys和sight.exe,这个程序只有200多K,是一个标准之DOS程序,可以在DOS下面直接运行,即会看到启动时候按AccessIBM那样之界面,这部分只有一张软盘大小,运行chkdsk查看它之大小和一张标准软盘是一样之;
第三部分也是一张软盘大小,叫Restore from backup,即从备份中恢复之时候启动;
第四部分是Rec boot,即纪录引导区,大小是8MB,在AccessIBM中运行Recover to factory contents时从这部分引导;
第五部分是BIOSWORKAREA,用fwmount没有法打开查看,站长只能从其它区域之情况和它之名字来推测它是相当于电脑之BIOS这样一个区域;
第六部分是Rec Data,就是四张恢复光盘之数据了,有2.4G大;
第七和第八部分就分别是制作检测工具盘和运行检测工具。
fwdir命令和其它相关命令之使用参数通常会涉及一个drv=0这样之,缺省时是使用drv=0,这个设备是硬盘插槽里面之硬盘,drv=1通常使用不了,它是指第一通道之从设备(主设备通常就是硬盘插槽之硬盘了);drv=2则是第二通道之主设备(通常就是光驱位置之设备),drv=3则是第二通道之从设备了。如果使用了UltraBay Slim硬盘托架,那么这个就是drv=2了。运行格式是:
fwdir drv=2
四、HPA之删除
删除HPA之工具:fwdelete使用很简单,如果要删除硬盘插槽里面之硬盘之HPA,输入:
fwdelete drv=0 all
然后按Y确认,即可删除。
如果是要删除UltraBay Slim硬盘托架里面之硬盘之HPA,输入:
fwdelete drv=2 all
然后按Y确认,即可删除。
执行此命令之时候,BIOS中之IBM PreDesktop Area设置不用改为Disable。但删除HPA后如果要利用这部分之硬盘空间(2.5G左右),还得改为Disable才行。预先设置为Disable再执行fwdelete也可以之。
这个命令可以先用fwdir查看HPA结构之后,再用fwdelete逐个删除,在后面加上id=xxx这样就可以了。
fwdelete能够以 快捷、 直接之方式来删除HPA。对于一些网友在使用或研究HPA过程中非常有用。
站长在用东芝MK5024GAY硬盘研究HPA之时候,曾发生过HPA损坏,改为Disable后用DM、PQ或Windows来删除那块区域(HPA)都没有效果,表面上是删掉了,但一改回Normal,启动系统时马上就报1850错,或者是检验错,后来用XP安装光盘来删,也不行,象幽灵似之缠着不放。到后来发觉fwdelete命令时,一下子就干掉了,走了这么多弯路。
五、HPA之备份与恢复
HPA之备份与恢复:fwbackup和fwrestorfwbackup是备份HPA之工具,重要参数有file,size,drv,其中file是指备份出来之文件,比如file=t40hpa,那么它会备份出来t40hpa.001,002,003这样之文件;size参数是指备份出来之文件之大小,比如size=650,那么备份出来之文件自动按每个650MB一个分割,drv参数和之前介绍之相同。
FWBACKUP Version 1.00
(C) Copyright 2002 Phoenix Technologies Ltd. All Rights Reserved.
USAGE: FWBACKUP file=<filename> size=<spansize> [drv=drive_no] [ver] [/?]
Optional parameters:
drv=n Specify drive to use. 0=pm,1=ps,2=sm,3=ss
ver Display version and build information.
/? Show this help message.
Note: If is specified the program will run in unattended mode
fwbackup可以在本机硬盘DOS下直接运行,通常可以用U盘或软盘或光盘启动到DOS下面,在硬盘上有FAT32格式之分区下面来操作,就可以备份。
和fwbackup对应,fwrestor就是恢复HPA之工具了。fwrestor参数相对简单一些,不用size来指定大小,它会自动寻找当前目录下面file=指定之文件名,然后恢复。运行fwrestor命令时,要求恢复之硬盘必须是没有任何分区之,否则恢复完成之后,会出错。
FWRESTOR Version 1.00
(C) Copyright 2002 Phoenix Technologies Ltd. All Rights Reserved.
USAGE: FWRESTOR file=<filename> [drv=drive_no] [verify] [ver] [/?]
Optional parameters:
drv=n Specify drive to use. 0=pm,1=ps,2=sm,3=ss
verify Compare data written to disk with data read from file
ver Display version and build information.
/? Show this help message.
运行fwbackup和fwrestor命令时,BIOS中IBM PreDesktop Area可以设置为Disable或Normal。但恢复完之后,必须要用恢复好之硬盘来放在硬盘插槽里面,并且在BIOS中IBM PreDesktop Area设置为Normal或Secure,才能按AccessIBM来恢复系统;放在UltraBay Slim插槽里面之话,即使用这块硬盘来启动,按AccessIBM进入只有一个Enter Setup Utilies一个选项,没有法恢复系统。