标题:求助,关于获取硬盘容量大小。
只看楼主
malpower
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-7-2
结帖率:100%
已结贴  问题点数:0 回复次数:4 
求助,关于获取硬盘容量大小。
今天开始设计并实现一个文件系统,但设计完了以后遇到一个问题,在google找了好一会儿都没有找到相关的资料。
我的内核现在需要获取硬盘的扇区数,用来建立扇区分配表。
但是不知道如何获取硬盘的扇区数。
我希望进入了保护模式后再获取扇区数。
所以不用介绍bios的中断调用了。
特向大虾们求教。
以解答为盼,谢谢。
搜索更多相关主题的帖子: 容量 硬盘 获取 
2010-07-12 00:07
chengstone
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
帖 子:562
专家分:226
注 册:2004-4-3
得分:20 
我想知道你为什么不在实模式下获取?

qq:69558139
2010-07-12 08:10
chengstone
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
帖 子:562
专家分:226
注 册:2004-4-3
得分:0 
中断向量表中,INT 0x41的中断向量位置(4*0x41=0x0000:0x0104)存放的并不是中断程序的地址,二是第一个硬盘的基本参数表。对于100%兼容的BIOS来说,这里存放着硬盘参数表阵列的首地址F000h:E401h。第二个硬盘的基本参数表入口地址存于INT 0x46中断向量中。

硬盘基本参数信息表
┏━━┳━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃位移┃大小  ┃说明                                          ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x00┃字    ┃柱面数                                        ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x02┃字节  ┃磁头数                                        ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x03┃字    ┃开始减小写电流的柱面(仅PC XT使用,其他为0)  ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x05┃字    ┃开始写前预补偿柱面号(乘4)                   ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x07┃字节  ┃最大ECC猝发长度(仅XT使用,其他为0)          ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x08┃字节  ┃控制字节(驱动器步进选择)                    ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x09┃字节  ┃标准超时值(仅XT使用,其他为0)               ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x0A┃字节  ┃格式化超时值(仅XT使用,其他为0)             ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x0B┃字节  ┃检测驱动器超时值(仅XT使用,其他为0)         ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x0C┃字    ┃磁头着陆(停止)柱面号                        ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x0E┃字节  ┃每磁道扇区数                                  ┃
┣━━╋━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫
┃0x0F┃字节  ┃保留                                          ┃
┗━━┻━━━┻━━━━━━━━━━━━━━━━━━━━━━━┛

qq:69558139
2010-07-12 10:01
chengstone
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
帖 子:562
专家分:226
注 册:2004-4-3
得分:0 
个人感觉既然BIOS已经提供了这个参数表 为什么不拿来用呢?

qq:69558139
2010-07-12 10:02
malpower
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2010-7-2
得分:0 
谢大哥,我将把此部分内容写如boot程序。
2010-07-12 14:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-312684-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.103015 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved