用户登陆 用户注册
您的位置:首页>
电脑专栏>内容正文
轻松搞定大容量硬盘
[正文]:一、 硬盘容量限制的原因及历史 为了解决好大容量硬盘的使用问题,我们应当先了解一下这个问题出现的原因。
尽管个人电脑的发展飞速,但出于向下兼容等考虑,今天磁盘驱动器的i/o结构仍是建立在早先的dos-bios的分层结构上,即:应用程序--dos功能调用---int13中断读写---bios磁盘服务例程----ata界面。
从近年来pc的发展历史来看,由于主板、操作系统等相关软硬件发展的不协调,硬盘容量先后经历了以下限制:1、528mb限制 早期的bios并没预料到硬盘的容量会超过500mb,因此,当把地址从int13的地址寄存器转换为ata的地址寄存器时,只是把int13中10位的柱面地址拿过来往ata界面中的16位柱面寄存器里放,其中柱面高位寄存器的高6位填0。
把6位的扇区地址拿过来往ata的8位扇区寄存器里放,其中高2为填0。
而且那时的bios认为磁头数不会超过16(2的四次方),所以只把int13磁头寄存器的低4位往ata里传递。
这时,柱面的最大数是1024(2的十次方),磁头的最大数是16(2的四次方),扇区的最大数是63(2的六次方-1)。
所以,能寻址的扇区数是1,032,192 (1,024x16x63)。
一扇区是512字节,也就是说如果以chs寻址方式,ide硬盘的最大容量为528.4mb。
这就是著名的"528mb限制"的由来。
2、2.1gb限制 为了解决"528mb限制",不同的bios生产商使用不同的方法。
其中一个就是将int13的磁头寄存器的高2位保留给柱面数的11、12位使用。
这样,最大的磁头数就是64(2的六次方)。
但是一般的操作系统不使用这种转换方法,它认为磁头寄存器的所有位数只记录磁头数。
比如,为了正确地转换柱面数为4,096、磁头数为32的硬盘,就需要操作系统把柱面数除以4(1024个逻辑柱面数),磁头数乘以4(128个逻辑磁头数)。
可因为上述的bios使用磁头数寄存器的高2位记录柱面数,所以就没法存储128的磁头数。
有这种bios的机器在使用大于2.1g的硬盘时,可能会在加电自检时执行硬盘确认命令并在试图设置chs值时死机。
< 2.1gb限制问题更多是由操作系统引起。
长期以来dos操作系统的文件分配表(fat)处理存储空间是以簇为单位的,它处理一簇的最大长度是32,768字节,最多能处理65,536个簇,如果将两个数字相乘,就会得到dos的最大分区界限值是2,147,483,648字节=2.1g。
所以在使用dos操作系统的机器上,一个分区的大小无法超过2.1g。
3、8.4gb 尽管eide接口对普通ide接口进行了扩展,它支持lba存取方式,突破了528mb的容量限制。
理论上可以支持到128g的硬盘容量。
但老式的bois却使用10bit表示柱面数,8bit表示磁头数,6bit表示扇区数,因此老式bois最多可以支持8.4gb的容量(512×63×255×1024=8.4gb)。
4、下面再谈谈现在主板支持的三种硬盘工作模式:normal、lba和large模式。
normal普通模式,是最早的ide方式。
在此方式下对硬盘访问时,bios和ide控制器对参数不作任何转换。
该模式支持的最大柱面数为1024,最大磁头数为16,最大扇区数为63,每扇区字节数为512。
因此支持最大硬盘容量为:512×63×16×1024=528mb。
在此模式下即使硬盘的实际物理容量更大,但可访问的硬盘空间也只能是528mb。
large大硬盘模式。
当硬盘的柱面超过1024而又不为lba支持时可采用此种模式。
large模式采取的方法是把柱面数除以2,把磁头数乘以2,其结果总容量不变。
?在normal模式下柱面数为1220,磁头数为16,进入large模式则柱面数为610,磁头数为32。
这样在dos看来柱面数小于1024,即可正常工作。
lba(logical block addressing) 逻辑块寻址模式。
这种模式所管理的硬盘空间突破了528kb的瓶颈,可达8.4gb。
在lba模式下,设置的柱面、磁头、扇区等参数并不是实际硬盘的物理参数。
在访问硬盘时,由ide控制器把由柱面、磁头、扇区等参数确定的逻辑地址转换为实际硬盘的物理地址。
在lba模式下,可设置的最大磁头数为255,其余参数与普通模式相同。
由此可计算出可访问的硬盘容量为:512×63×255×1024=8.4gb 。
目前基本上只有lba有实际意义了。
二:轻松搞定大容量硬盘 现在硬盘容量已大大超过了8.4g,为了超越这个容量限制,人们又定义了新的扩展int13。
新的int13不使用操作系统的寄存器传递硬盘的寻址参数,它使用存储在操作系统内存里的地址包。
地址包里保存的是64位lba地址,如果硬盘支持lba寻址,就把低28位直接传递给ata界面,如果不支持,操作系统就先把lba地址转换为chs地址,再传递给ata界面。
通过这种方式,能实现在ata总线基础上chs寻址最大容量是136.9gb,而lba寻址最大容量是137.4gb。
因此,要正常使用大容量硬盘,可以从软、硬件两方面来加以解决。
1、 升级主板或主板bios。
新的主板bios对磁盘读写中断int13h进行了扩展,一般主板升级bios后即可支持8.4g以上的磁盘。
此外还可以使用bios扩展卡(它对大容量硬盘提供正确的lba寻址支持)。
比如 pormise生产的多功能i/o卡,它自带的bios能识别大容量硬盘。
升级主板bios的具体方法,在此不赘述,可参看相关的文章。
下面谈谈常见bios的相关情况:(1) award(http://www.award.com/):在1997年11月及其以后的bios支持容量大于8.4gb的硬盘。
(2)ami(http://www.megatrends.com/):在1998年1月及其以后的bios支持容量大于8.4gb的硬盘。
(3)phoenix(http://www.ptltd.com):/基础版本4,修改版本是6(version4revision6)和更高的版本支持容量大于8.4gb的硬盘。
而如果bios的revision是5.12,它就不支持扩展int13。
因为所有的phoenixbios基础版本都是4,所以升不升级主要看它的修改版本号。
2、 用硬盘自带的dm分区软件分区。
使用特殊的驱动程序(一般是硬盘自带的分区软件dm),也提供int13h的扩展功能,从而在不动主板的情况下支持大硬盘。
比如对bios不支持lba寻址的机器来说,迈拓公司(maxtor)提供了maxblast的软件,它能有效地转换大容量硬盘的各个参数,达到全容量使用硬盘的目的。
maxblast不是在操作系统启动后才加载的,而是在bios启动后、操作系统启动前。
最新的maxblast可从www.maxtor.com处下栽。
另外,westerndigital的ezdrive(最新9.0版本)也是类似的软件。
它界于操作系统和bios之中,既能符合老式bios限制硬盘容量的要求,也能保证操作系统正确地访问整个硬盘。
西部数据wd硬盘的最新配套工具wd906w.zip,中的ez.exe文件,运行后将帮助您快速简单地并代替fdisk和form 绦蛲瓿煞智透袷交绻靼錌ios不支持大容量硬盘,ez-drive会安装ez-bios支持大容量硬盘。
3、 使用win97以上的操作系统 为了正常使用8.4gb以上的空间,在分区时应使用win97以上版本的的fdisk。
并尽量使用fat32格式。
windows nt4.0可以识别大于8.4g的硬盘,但存在一些bug,而最新的windows 2000可以完全正常支持大于8.4g的硬盘。
4、大硬盘的分区管理 要用好大容量硬盘还涉及合理分区的问题。
微软从windows95osr2(即俗称的windows97)开始就支持大于8.4gb的硬盘容量,因为从这个操作系统起,不仅引入了扩展int 13,还有新的fat32文件系统。
如果你不愿意在折腾机器上花太多时间的用户,大硬盘的分区就非常简单,用windows95osr2或windows98的fdisk给硬盘分一两个fat32的分区,装上操作系统就完事了。
而如果你想玩玩多操作系统什么的,一般需要用到partitionmagic等工具。
相关的具体操作有不少文章谈到,在此不详谈。
三、有关dma/66的一些问题 现在的大容量硬盘基本都支持dma/66接口规范,但由于dma/66的硬盘出现较晚,许多主板的award bios不能提供对dma/66的支持,非但如耍阅承┯才? (比如qt 的 火球八代),在使用99年以前award bios的主板上连dma/33也无法开启。
为解决这个问题,昆腾在其主页上提供了一个小软件-fbcrdma.exe,在dos下运行该软件可以将火球八代的dma/66设置成dma/33,必要时也可以再重新设成dma/66。
四、有关硬盘容量的问题 硬盘容量是硬盘最重要的参数之一,大家在购买和使用硬盘时,常会发现这样的问题∶同样一个盘在不同的机器上或使用不同的测试软件所报告的容量各不相同,但均不大于硬盘的标称容量,在大容量硬盘上这个问题更明显,举例来说标称6.4g的盘在安装格式化完后,往往只有5.99g的容量。
造成这种情况的主要原因是,生产厂家一般按每兆1000k字节计算容量,而大多数主板的bios及测试软件是以1048k为一兆计算。
这样一来二者间便出现了大约5%的差异。
而硬盘容量又有纯粹由磁头数、柱面数等物理参数计算得到的物理盘容量以及在经过分区、格式化等操作后实际可用空间的逻辑盘容量之分。
此外在cmos中选择不同的工作模式(norma、lba、large),也会造成容量的不一致。
由于有这些因素的影响,一般而言硬盘测试容量与标称容量存在5%-10%左右的差距是基本正常的。
网站首页
培训课程
维修指南
技术文章
家电专栏
供应信息
求购信息
培训资讯
展会信息
电脑专栏
教程下载
资料下载
常用软件
PLC教程
PLC资料
变频伺服
低压电器
维修资料
人机界面
自控仪表
工控机类
文章标题:
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
京ICP备11002135号
报时(2026-04-05 03:43:08)