Thursday, November 23, 2017

关于137GB硬盘容量限制

一、为何出现137GB硬盘容量限制

其实硬盘容量限制问题由来已久,这主要是受硬件技术发展和观念制约所导致的。最早受到限制的硬盘容量是528MB,随后分别是2.1GB、3.2GB、4.2GB和8.4GB。当时人们虽然已经认识到今后硬盘容量会逐渐扩大,但不少人认为100GB的硬盘已经足够了,所以人们便推出了28bit LBA寻址模式。28bit LBA模式能够支持的柱面的最大数是65536,磁头的最大数是16,扇区的最大数是255。由于每扇区的容量是512字节,所以28bit LBA模式能寻址的最大扇容量是65536*16*255*512=136.9GB,这就是137GB容量限制的由来(注:硬盘厂商通常以1000作为度量单位,而不是Windows所使用的1024,即1000字节=1KB,1000KB=1MB,1000MB=1GB)。

不过,由28bit LBA寻址模式引发的137GB容量限制只是针对单块硬盘的容量。如果大家已经购买了120GB硬盘,如今再添加一块120GB硬盘。虽然两块硬盘的总容量达到了240GB,但只要大家不组建RAID,而是分别作为主盘和从盘来使用就不存在137GB的容量限制。

为了解除137GB容量的限制,业内随后推出了Big Drives规范,Big Drives规范将原来LBA寻址中可用的寄存器空间从28bit提高到了48bit,即48bit LBA。这么一来可支持的硬盘容量就达到了144115188GB,在目前看来这个容量已经足够我们使用几个世纪的,可谁敢说在若干年后Big Drives不会成为下一个硬盘容量限制呢?当然,这个话题不在本文的讨论范围之内。

在了解了硬盘容量限制的由来之后,下面就让我们详细看一下要支持160GB硬盘我们的电脑需要具备哪些条件。

二、支持160GB硬盘的三大条件

1、支持48bit LBA的芯片组

由于芯片组的IDE控制器大多集成在南桥芯片中,因此芯片组是否能够支持能够支持48bit LBA模式实际上完全依赖于它所搭配的南桥芯片。目前能够支持137GB以上硬盘的南桥芯片主要有:VIA VT8233A/VT8235及后续南桥、SiS 961/963及后续南桥、Intel ICH/ICH0/ICH2/ICH3/ICH4及后续南桥等。由于“941y”网友使用的精英P4VXASD2主板搭配的是VT8233,因此他的主板将无法支持160GB硬盘;而“gcxzy”网友由于使用的是i815E+ICH2芯片组,所以他的主板能够支持160GB硬盘。

2、支持48bit LBA的BIOS

要想支持超过137GB的硬盘,主板BIOS必须支持48bit LBA。一般说来,2002年以后发布的BIOS都可以支持48bit LBA。老主板可以到其官网寻找最新版BIOS寻求解决。

3、支持48bit LBA的操作系统

除了主板芯片组和BIOS以外,我们所使用的操作系统也必须支持48bit LBA模式。在目前主流的操作系统当中,能够直接支持137GB以上硬盘的操作系统分别是:

Windows XP Home+SP1
Windows XP Professional+SP1
Windows 2000 Professional+SP3
Windows 2000 Server+SP3

而Windows 98/Me/NT4.x以及未安装SP补丁的Windows 2000/XP则无法支持137GB以上硬盘。不过与先前的硬件要求相比,操作系统方面的限制目前已经基本不存在,因为眼下主流的操作系统主要是以Windows 2000+SP4和Windows XP+SP2为主。即便如此,为了保险起见我们还是有必要安装相应的芯片组驱动程序比如Intel Application Accelerator、VIA 4 in 1驱动等。

重要提示:根据热心网友提供的信息,Windows 2000系统即使安装了SP3以上的系统补丁,并对注册表进行相应的修改后仍然不能很好地支持容量在160GB以上的硬盘,容易丢失数据和分区。为此笔者强烈建议大家使用Windows XP+SP2操作系统,同时安装最新版的芯片组驱动。

需要提醒大家的是,虽然目前有不少号称不需要芯片组和BIOS支持就能够使用大容量硬盘的方法,但这些方法使用起来都有比较明显的局限性(比如160GB硬盘只能作为从盘使用或无法使用UDMA传输模式等),兼容性也很不理想。如果大家的旧主板确实不能支持137GB以上的硬盘,那么笔者建议您还是直接购买120GB硬盘更为稳妥。否则即使我们绞尽脑汁想使用160GB硬盘,到最后换来的却是无数的兼容性问题和数据丢失的烦恼。

2 comments

  1. 你可以再百度或GOOGLE一下,我没说反。硬盘或闪存盘厂商确实以1MB=1000KB作为度量单位,而Windows所使用的1MB=1024KB,这样在 Windows中格式化硬盘后可以看到硬盘实际容量要比标称的小。

  2. “硬盘厂商通常以1000作为度量单位,而不是Windows所使用的1024” 说反了…

Leave a Reply

Your email address will not be published. Required fields are marked *