发新话题
打印

[讨论] BIOS和分区软件究竟是如何确认硬盘容量的

[讨论] BIOS和分区软件究竟是如何确认硬盘容量的


这是一个困扰于我已久的问题

我就先从当初的504M容量限制的问题说起,当初超过500M的硬盘出现后许多386、486的机器都不认,后来才知道需要有带LBA寻址模式的BIOS支持才行。从那时起,大容量硬盘在BIOS中选LBA似乎是当仁不让的选择。到后来出现了8G容量的限制问题(中间我跳过一些其它不常见的限制),才知道需要有带扩充Int 13h支持的BIOS才行。注意,从这时候起,我的问题来了。我就以AWARD BIOS为例,在4.5版的情况下,我使用它自己的硬盘参数检测功能,当一个超过8G,比如10G、20G、40G的硬盘,BIOS检测后能给出三种参数:NORMAL模式(我认为其实就是传统的CHS模式),LARGE模式和LBA模式。我想我们大多数人都会毫不犹豫的选择LBA模式,然后分区,格式化,装系统,OK!这都没问题。如果我们的目的只是在于机器可以使用,管它内部究竟是怎么回事,那么我们也不必要来这里了,也没必要讨论这个问题了。

我的问题在于:我曾经试过用其它模式,也可以照常使用,那么是否是现在使用什么模式对硬盘来说是无所谓的呢?如果再仔细比较一下就会发现,三种模式下所能识别出的硬盘容量不是完全一样的,但相差不多,只差那么一点点,这不象以前是有“质”的区别。而且有趣的是,过去能够识别最大容量模式的LBA现在所能识别出的反而最小,而过去所能识别容量最小的CHS模式反倒能识别出最大容量,过去处于中庸的LARGE仍然处于中间水平。那么这个硬盘实际的最大可用容量究竟是多少呢?那个在CHS模式下所认出的最大容量究竟是不是可靠的呢?如果在它这个模式下对硬盘的访问会不会有所损伤呢?由于对这些疑问我始终没有找到答案,所以出于保守起见,我以后一直使用的还是LBA模式,在BIOS给出这三种模式下硬盘参数的同时也默认的推荐是这个模式。此外,在一些品牌机的用户手册中也指导用户使用这一模式,我不知道他们这样做确实是有科学依据的,还是人云亦云不经过调查研究图省事写的。

后来BIOS发展到6.0版的时候情况又发生了新的变化,连手工检测硬盘参数的步骤都省去了,只要接上硬盘开机就能自动识别容量和寻址模式(当然,你也可以手工设定其它模式),而且在BIOS中AUTO方式下自动检测出的硬盘模式和参数都是按照CHS方式的,但奇怪的是自检时所显示的硬件信息概要中所报告的硬盘模式几乎都变成了是LBA?!(特殊情况除外,下面我会说明)那么如此看来似乎LBA应该是唯一的、正确的选择了?按理,硬盘的(最大)容量是固定的,BIOS是根据硬盘固件中的信息来识别硬盘容量的,但好象现在的BIOS都过于“聪明”了,它似乎能根据分区表中的信息再来判断一下硬盘的参数、寻址模式和容量,我说的“再来”是因为BIOS似乎有两次检测,第一次是当你进入BIOS设置的时候可以看到它认出缺省的寻址方式(几乎都是CHS,后来实际变成LBA),而当启动时显示硬件配置信息的时候(不一定就是这时候,只是我们是在这时候看到)它还要检测一次,为什么我要这样说呢,如果你的硬盘是全新的、重新分区的,你是看不出两次变化是有什么意义的,可能认为这种变化只是一个假象,只不过是BIOS“例行公事”。但当你的硬盘在另一台机器上是以CHS方式分区的,再装到这台机器上的时候,你就会看到配置信息中显示的也是CHS方式而不是同样会变成LBA模式。另外,我还曾遇到过这样一种情况:一块4G的老硬盘,在BIOS中认出的确实是4G,但在启动时会变成1G,以后在BIOS中就一直变成1G了,我在BIOS中让它重新检测一下还是1G?!在每次清除CMOS让BIOS重新正确认一遍后,每次启动时又会变成1G?!后来我把MBS清零后就再也没有出现这种怪现象。我虽然不清楚BIOS到底是如何识别硬盘的,但通过上述两个例子,我认为现在的BIOS除了通过固件中的信息外,还会通过启动时在引导OS之前会读取硬盘的分区信息来“智能”地确定硬盘的寻址模式和容量。当然,这些只是我的猜测,到底是怎么回事请熟悉BIOS内部结构的朋友来解答一下。

现在再谈谈分区软件对容量的识别问题,传统的FDISK看不出什么,我先不谈。我现在一般是用DM来分区的,并且通常一直使用带/M参数的手动模式下进行操作,我发现DM和FDISK一样,最小的分区单位也是以柱面为单位的,但奇怪的是我常常碰到用DM分过区的硬盘在FDISK的查看下往往还会显示还有1%的未使用空间,(其实也只不过几兆而已,并不是硬盘容量真正的1%)。所以我一直在想会不会是DM是以LBA模式来识别硬盘的,而FDISK是以CHS来识别的,所以要比DM能多认些扇区?其它的分区软件如PM我估计也是以柱面为单位的。UNIX可以以磁道为单位,LINUX不太清楚。

TOP

引用:
了解鲜为人知的硬盘底层知识,探索硬盘数据恢复的尖端技术,致力于创造国内最权威的硬盘技术讨论区……
这是我所看到的这个版的简介。
不知是本人提的问题太初级,各位高人不削回答,还是解答起来太繁,懒得动手。如果是这样的话也请给个能解决我疑惑的地址,好让本人自己查找。

TOP

顶上来!

TOP

楼主还真是花了时间哦,不过你的问题我这里不是一句话能说完的。这些资料网上很多,你都能在网上找到你的答案哦。如果你找完资料还有什么要讨论的再发贴吧。
http://shop33034502.taobao.com/天敏视讯产品专卖

TOP

现在所有的硬盘都是通过LBA寻址(LBA是逻辑寻址),但是在硬盘里面实际上存在的是CHS,也就是柱面磁头扇区,这中间有个地址转换。
广州电脑配件批发中心
http://www.cppc168.com
QQ: 6078242
DVD刻录机和二手硬盘

TOP

回复 #4 neotang 的帖子

我当然已经花时间找了很多资料看后才来发贴讨论的

http://www.cn-dos.net/forum/viewthread.php?tid=17289

TOP

回复 #5 HARDDISK 的帖子

这大概的我也知道,问题是谁能把这中间的过程讲清楚。

TOP

发新话题