相关信息

作者:david

类型:使用技巧

发布日期:200287

版权信息:为了维持作者的合法权力和本站的利益,未经允许禁止一切网站、传统媒体、个人进行任何手段或形式的转载和抄袭,违者必究。

 

□ 突破137GB硬盘容量限制


  这两年的电脑发展速度实在是快得惊人,除了CPU的速度不断提升之外,硬盘的也正在不断的扩容。当拥有一块容量高达30GB的硬盘的欣喜感觉还没有从大脑里面消退的时候,新的容量高达120G的硬盘居然这么快就出现了。随着电脑以及周边设备的大众化,像视频编辑这种本来很“专业”的极度耗费硬盘资源的操作也不断走向平常家庭。家里拥有一块40GB或者80GB的硬盘根本就不算什么新鲜事情了。

  不过话又说回来了。硬盘的容量再这么疯狂地“膨胀”,我们的系统是否支持呢?

  最早出现硬盘容量限制问题是在8.4GB的年代,由于老式的BIOS使用的是10bit表示柱面数(C),8bit表示磁头数(H),6bit表示扇区数(S)的模式,因此老式的BIOS最多可以支持8.4GB的容量(512×63×255×1024=8.4GB)。其实这就是8.4GB容量限制的原因。由于现在的硬盘容量早已突破了8.4GB,最高的IDE硬盘容量甚至达到了80GB,那这些硬盘又是怎样寻址的呢?其实,为了超越这个容量限制,人们又定义了新的扩展INT13。扩展INT13不再使用寄存器传递硬盘的寻址参数,它由操作系统在内存中建了一个称为地址包的区域。地址包里保存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA界面,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA界面。通过这种方式,这样,在ATA总线基础上CHS寻址最大容量是136.9GB,而LBA寻址最大容量是137.4GB。那现在的问题又来了,怎么才能超越137GB的容量限制?

  迈拓的Big Drive技术通过最新开发的48-bit 寻址设计已经突破了硬盘137GB储存容量限制,这就导致了业界第一款160GB IDE/ ATA 硬盘的出现,还能在不久的将来涌现出更大储存容量设备。由迈拓和康柏、IBM、微软 和 威胜这样的业界巨头所领导,Big Drive 技术是为了主动解决28-bit 硬盘寻址局限性, 简单地说,28-bit技术只能认出137GB储存空间。新型的 48-bit 寻址系统完全经过改良,允许储存设备的容量达到144PB (petabyte,即144百万 GB)。

其实还可以从软、硬件两方面来加以解决:

(1)使用DM分区软件支持大硬盘

  使用特殊的驱动程序(一般是硬盘自带的分区软件DM),也提供INT13H的扩展功能,从而在不动主板的情况下支持大硬盘。请大家最好选用较新的DM版本,目前最新的版本是V9.56,大家可以到www.pchome.net或华军www.newhua.net上去下载。

(2)更换主板或升级主板BIOS(解决容量限制问题的最佳办法)

  有些主板厂商,如捷波主板率先研发出支持48bit硬盘寻址的主板:传奇E和传奇G,该系列主板拥有高达48bit的硬盘寻址,突破了原有的最高137GB的容量限制,可以直接使用更高容量的硬盘,这对于那些喜欢超大容量的BTDIY们无疑是个好消息。真正做到从根本上解决问题!

注解:以往其它的容量限制

528MB的容量限制:

  由于早先的硬盘容量比较小,因此设计的BIOS的时候当把地址从Int 13的地址寄存器转换为IDE(ATA)的地址寄存器时,仅仅把INT 13管理中10位的柱面地址用来对应IDE(ATA)界面中的16位柱面寄存器,而把没有用到的6位(高位寄存器)地址都设定为0。并且也仅把6位的扇区地址来对应IDE(ATA)界面的8位扇区寄存器,其中没有用到的2位设置为0。并且INT 13管理的磁头寄存器4位(又去掉了4位)来对应IDE(ATA)。因此,此时的磁盘柱面最大数为1024(2的10次方),磁头的最大数是16(2的4次方),扇区的最大数是63(2的6次方-1)。因此能寻址的扇区数就成了1,032,192(1,024x16x63)。一个扇区的容量是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为528.4MB。因此528MB的硬盘容量限制就出现了。

2.1GB的容量限制:

  这里分为两个部分,一部分是由磁盘服务的限制造成的,另外一个是由于磁盘格式造成的,通常我们把前者称为2.1GB的硬件容量限制,后一种称为2.1GB的软件容量限制。

硬件容量硬件

  当时,为了528MB容量限制的问题,人们提出一些不同的办法,其中一个办法就是INT 13服务的磁头寄存器没有用到的4位中的2位(确切的说是高2位)保留给柱面数的第11、12位使用。这样,最大的磁头数就是64(2的6次方)。但是,当时的操作系统不使用这种转换方法,其认为磁头寄存器的所有位数只可能记录磁头数。比如,为了正确地转换柱面数为2,048、磁头数为64的硬盘,就需要操作系统把柱面数除以4(512个逻辑柱面数),磁头数乘以4(256个逻辑磁头数)。不过由于BIOS中并没有开放所有的磁头数寄存器,当然无法记录这样的磁头数。因此遇到这种运行机制的BIOS,在系统自检的时候就会造成系统当机。

软件容量限制

  当时DOS分区的限制是由文件分配表(FAT)决定的。FAT处理存储空间是以簇为单位的,它处理一簇的最大长度是32,768字节,最多能处理65,536个簇,如果将两个数字相乘,就会得到DOS的最大分区界限值是2,147,483,648字节或2,048MB(2,147,483,648 /1,0242)。因此超过这个容量的硬盘,如果使用FAT格式,就最大只能识别2.048GB的硬盘容量。

3.2GB的容量限制:

  一些版本的BIOS不能识别超过6322柱面的硬盘,不过这种BIOS比较少见,由于柱面有限制,其最高支持扇区数为6,372,576(6322x16x63),如果乘以512扇区容量的话,其最高支持容量为6,372,576x512=3,262,758,912/1024=3.18GB。

4.2GB的硬盘容量限制:

  当时一些操作系统使用8位寄存器来存储磁头数,这样当BIOS报告硬盘的磁头数等于256(最高容量)时,只有磁头数的最先一位(即0)被系统保存,从而导致硬盘配置错误。一旦硬盘的磁头数是16,柱面数大于8,192(2的13次方,由于后三位寄存器已经被磁头寄存器借用,其实这里牵涉到一个突破528MB容量限制的转换做法的问题,由于这一段比较负责,在这里就不详细介绍了,我们只要明白有这个限制就够了),系统就无法正常识别了,因此其最大的容量就被限制在了4.2GB=8192x16x63x512/1024。

8.4GB的容量限制

  我们已经知道INT 13服务的寻址方式最高可以支持8.4GB以下的容量(柱面数、磁头数、扇区数的最大值分别是16,383、16和63,而三者相乘就是8.456GB)。因此,这个容量限制出现是迟早的问题了。所以,这个限制是我们目前最常遇到的容量限制。为了解决这个问题,一些厂商定义了新的扩展INT 13服务扩展标准。新的INT 13服务扩展标准不使用操作系统的寄存器传递硬盘的寻址参数,它使用存储在操作系统内存里的地址包。地址包里保存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA界面,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA界面。通过这种方式,能实现在ATA总线基础上CHS寻址最大容量是136.9 GB,而LBA寻址最大容量是137.4GB。

33.8GB的容量限制

  在CHS寻址中,由于IDE(ATA)界面的限制,柱面数最高支持65,535(2的16次方-1),所以,当遇到柱面数大于65,535的时候,系统就无法识别这种硬盘了,不过LBA由于独特的寻址模式就不存在这个问题,这个容量限制具体为:65535x16x63x512/1024=33.8GB。

[返回上一页]