标签归档:HPA

硬盘变小恢复方法

我的硬盘的容量莫名其妙的减小了!怎样可以恢复它的原始容量?

有下面几种原因会导致你的硬盘丢失数M甚至数G的空间:

  • 你的操作系统不支持LBA48位寻址模式
  • 你混淆了二进制和十进制的表示方法
  • 你的电脑主板在你的硬盘上创建了一个隐藏的区域用来备份二进制代码
  • 你的电脑/笔记本电脑生产商在你的硬盘上创建了一个隐藏的区域来备份操作系统的安装文件(系统自动恢复)
  • 你使用了某种软件设置了HPA(Host Protected Area,主机保护区),破坏了DCO(Device Configuration Overlay,设备配置代码),或者关闭了LBA48的支持
  • 跳线设置错误
  • 硬盘的故障

现在我将逐条的进行详细分析。

  • 操作系统不支持LBA-48位寻址模式

Windows 95,Windows98和Windows ME即使安装了所有的补丁也不能支持大硬盘(>137GB)。虽然有方法可以解决这个问题,但是由于现在很少使用这些系统了,所有就没有必要再啰嗦了。

Windows 2000,2003,和XP默认设置是不支持大硬盘的;你必须安装最新的补丁包来支持大硬盘。Windows XP SP2版可以完美的支持大硬盘;

Windows 2000必须安装补丁文件。

Windows Vista可以完美的支持大硬盘。

  • 二进制和十进制的表示方法

硬盘生产商使用十进制来表示,而操作系统使用二进制来表示。十进制的G表示1,000,000,000个字节(1000 x 1000 x 1000),而二进制的G表示1,073,741,824字节(1024 x 1024 x 1024)--相差7%!所以,你的300GB的硬盘在Windows系统中会显示为279GB。

  • 主板创建了HPA

主板再硬盘上创建了一个主机保护区来存储数据。通常这个区域不会大于10M,所以不用为此担心。

  • 电脑/笔记本生产商创建了HPA

电脑生产商在你的硬盘商创建了一个主机保护区来存储操作系统和程序的镜像。当进行系统恢复时就会用到这个区域中的护具。通常这个区域比较大(8-20GB)。

在这种情况下,使用一些专业的工具,如HDD Capacity Restore或MHDD可以恢复硬盘的原始容量。要进行此操作,需要将硬盘从原来的主机上拆卸下来安装到其它主机上因为原来的主机为了防止破坏隐藏区域,可能会禁用HPA/DCO指令。

  • 可以设置HPA和DCO的软件

例如,MHDD。MHDD可以在硬盘上设置HPA,因此硬盘的容量无论在BIOS中还是在操作系统中都会减小。MHDD还可以访问DCO(设备配置码),它不但可以更改硬盘的容量,还可以设置硬盘的功能,例如LBA48支持,加密指令等。

有些生产商(如Dell和HP)由于市场的原因人为使用DCO来减小硬盘容量。例如:他们要生产1,000,000台配置40GB硬盘的计算机,但是他们的仓库里只有80GB的硬盘。他们就会使用他们自己的DCO工具来将硬盘的容量锁定为40GB。

  • 跳线设置硬盘的容量

大部分硬盘都有一个特别的跳线设置方法来将硬盘的容量限制为32GB或128(137)GB。

  • 硬盘故障

例如硬盘固件缺陷(这种现象是非常多的)。

另外,有时候MBR主引导区损坏也可能或导致BIOS或操作系统不能检测到正确的硬盘容量。在这种情况下需要使用清零工具来将MBR清零。

有时候,一个严重损坏的硬盘也可能会显示错误的容量。在这种情况下你无法修复它。

  • 解决方法:恢复硬盘容量

1、检查跳线。一般在硬盘的表面都有跳线设置说明,按照说明正确设置跳线。

2、检查你的操作系统,是否安装了所有的升级补丁?

3、检查硬盘分区。运行Windows磁盘管理器,查看是否有未分区的空间。

4、如果以上方法都没有解决问题,那么可以使用下面这个工具来分析你的硬盘的LBA48,HPA和DCO状态并将其恢复为原始设置。

HDD Capacity Restore程序

HDD Capacity Restore程序

你所需要做的即使运行它并点击Restore Capacity。然后此程序就会完成所有的工作。

强烈建议你在运行此程序之前先关闭计算机断电再启动。

如果此程序没有成功恢复硬盘空间,那么很可能是你的电脑主板阻止了HPA和DCO命令。你可以在BIOS设置中查看是否有DCO或HPA字样。如果还不行,就换一台电脑。如果你足够勇敢,你也可以这样做:运行程序,选择你的硬盘,然后当你看到Restore Capacity按钮时,关闭硬盘的电源然后再加电。注意:你要自己承担所有的后果!

当程序运行完毕后(3-20秒),你需要关闭你的电脑的电源,等待10-20秒钟再打开。

 

提供恢复:http://www.datarelab.com/blog/DataRecoveryServer.html

解除硬盘HPA -- setmax.c