📄 00000037.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: suzhe (I Love Linux), 信区: Linux <BR>标 题: HardDisk,Partition,Boot,OSLoader专题(1) <BR>发信站: BBS 水木清华站 (Sat Nov 20 16:12:06 1999) <BR> <BR> 第一部分 简 介 <BR>1,1 <BR>一. 硬盘结构简介 <BR> <BR> 1. 硬盘参数释疑 <BR> <BR> 到目前为止, 人们常说的硬盘参数还是古老的 CHS (Cylinder/ <BR>Head/Sector)参数. 那么为什么要使用这些参数, 它们的意义是什么? <BR>它们的取值范围是什么? <BR> 很久以前, 硬盘的容量还非常小的时候, 人们采用与软盘类似的结 <BR>构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数. 由此 <BR>产生了所谓的3D参数 (Disk Geometry). 既磁头数(Heads), 柱面数 <BR>(Cylinders), 扇区数(Sectors),以及相应的寻址方式. <BR> <BR> 其中: <BR> <BR> 磁头数(Heads) 表示硬盘总共有几个磁头,也就是有几面盘片, 最大 <BR>为 255 (用 8 个二进制位存储); <BR> 柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道, 最大为 1023 <BR>(用 10 个二进制位存储); <BR> 扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为 63 (用 6 <BR>个二进制位存储). <BR> 每个扇区一般是 512个字节, 理论上讲这不是必须的, 但好象没有取 <BR>别的值的. <BR> <BR> 所以磁盘最大容量为: <BR> <BR> 255 * 1023 * 63 * 512 / 1048576 = 8024 GB ( 1M = 1048576 Bytes ) <BR>或硬盘厂商常用的单位: <BR> 255 * 1023 * 63 * 512 / 1000000 = 8414 GB ( 1M = 1000000 Bytes ) <BR> <BR> 在 CHS 寻址方式中, 磁头, 柱面, 扇区的取值范围分别为 0 到 Heads - 1, <BR> 0 到 Cylinders - 1, 1 到 Sectors (注意是从 1 开始). <BR> <BR> 2. 基本 Int 13H 调用简介 <BR> <BR> BIOS Int 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用, 它可以 <BR>完成磁盘(包括硬盘和软盘)的复位, 读写, 校验, 定位, 诊断, 格式化等功能. <BR>它使用的就是 CHS 寻址方式, 因此最大识能访问 8 GB 左右的硬盘 ( 本文中 <BR>如不作特殊说明, 均以 1M = 1048576 字节为单位). <BR> <BR> 3. 现代硬盘结构简介 <BR> <BR> 在老式硬盘中, 由于每个磁道的扇区数相等, 所以外道的记录密度要远低 <BR>于内道, 因此会浪费很多磁盘空间 (与软盘一样). 为了解决这一问题, 进一 <BR>步提高硬盘容量, 人们改用等密度结构生产硬盘. 也就是说, 外圈磁道的扇区 <BR>比内圈磁道多. 采用这种结构后, 硬盘不再具有实际的3D参数, 寻址方式也改 <BR>为线性寻址, 即以扇区为单位进行寻址. <BR> 为了与使用3D寻址的老软件兼容 (如使用BIOS Int13H接口的软件), 在硬 <BR>盘控制器内部安装了一个地址翻译器, 由它负责将老式3D参数翻译成新的线性 <BR>参数. 这也是为什么现在硬盘的3D参数可以有多种选择的原因 (不同的工作模 <BR>式, 对应不同的3D参数, 如 LBA, LARGE, NORMAL). <BR> <BR> 4. 扩展 Int 13H 简介 <BR> <BR> 虽然现代硬盘都已经采用了线性寻址, 但是由于基本 Int 13H 的制约, 使 <BR>用 BIOS Int 13H 接口的程序, 如 DOS 等还只能访问 8 G 以内的硬盘空间. <BR>为了打破这一限制, Microsoft 等几家公司制定了扩展 Int 13H 标准 <BR>(Extended Int13H), 采用线性寻址方式存取硬盘, 所以突破了 8 G 的限制, <BR>而且还加入了对可拆卸介质 (如活动硬盘) 的支持. <BR> <BR>二. Boot Sector 结构简介 <BR> <BR> 1. Boot Sector 的组成 <BR> <BR> Boot Sector 也就是硬盘的第一个扇区, 它由 MBR (Master Boot Record), <BR>DPT (Disk Partition Table) 和 Boot Record ID 三部分组成. <BR> <BR> MBR 又称作主引导记录占用 Boot Sector 的前 446 个字节 ( 0 to 0x1BD ), <BR>存放系统主引导程序 (它负责从活动分区中装载并运行系统引导程序). <BR> DPT 即主分区表占用 64 个字节 (0x1BE to 0x1FD), 记录了磁盘的基本分区 <BR>信息. 主分区表分为四个分区项, 每项 16 字节, 分别记录了每个主分区的信息 <BR>(因此最多可以有四个主分区). <BR> Boot Record ID 即引导区标记占用两个字节 (0x1FE and 0x1FF), 对于合法 <BR>引导区, 它等于 0xAA55, 这是判别引导区是否合法的标志. <BR> Boot Sector 的具体结构如下图所示 (参见 NightOwl 大侠的文章): <BR> <BR> 0000 |------------------------------------------------| <BR> | | <BR> | | <BR> | Master Boot Record | <BR> | | <BR> | | <BR> | 主引导记录(446字节) | <BR> | | <BR> | | <BR> | | <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -