📄 00000001.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: suzhe (I Love Linux), 信区: Linux <BR>标 题: 昨天报告会的讲义 <BR>发信站: BBS 水木清华站 (Sun Mar 12 15:06:44 2000) <BR> <BR>昨天报告会其实也没讲太多的内容, 就是把以前写的一些东西拿出来 <BR>讲了一下. 由于根本没想到会来那么多人, 没怎么好好准备, 搞得我 <BR>连话都讲不好了. 真是不好意思. <BR> <BR>我的主页是: <A HREF="http://Suzhe.home.chinaren.net">http://Suzhe.home.chinaren.net</A> <BR>想下载 SmartBootManager 的可以去. <BR> <BR> <BR>目 录 <BR>------ <BR>第一部分 基础知识 <BR> 一. 硬盘结构简介 <BR> 二. Boot Sector 结构简介 <BR> 三. 系统启动过程简介 <BR>第二部分 SmartBootManager 技术资料 <BR> 一. 简 介 <BR> 二. 程序简介 <BR> 第一部分 基础知识 <BR> <BR>一. 硬盘结构简介 <BR> <BR> 1. 硬盘参数释疑 <BR> <BR> 到目前为止, 人们常说的硬盘参数还是古老的 CHS (Cylinder/ <BR>Head/Sector)参数. 那么为什么要使用这些参数, 它们的意义是什么? <BR>它们的取值范围是什么? <BR> 很久以前, 硬盘的容量还非常小的时候, 人们采用与软盘类似的结 <BR>构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数. 由此 <BR>产生了所谓的3D参数 (Disk Geometry). 既磁头数(Heads), 柱面数 <BR>(Cylinders), 扇区数(Sectors per track),以及相应的寻址方式. <BR> <BR> 其中: <BR> <BR> 磁头数(Heads) 表示硬盘总共有几个磁头,也就是有几面盘片, 最大 <BR>为 256 (用 8 个二进制位存储); <BR> 柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道, 最大为 1024 <BR>(用 10 个二进制位存储); <BR> 扇区数(Sectors per track) 表示每一条磁道上有几个扇区, 最大为 <BR>63 (用 6 个二进制位存储). <BR> 每个扇区一般是 512个字节, 理论上讲这不是必须的, 但好象没有取 <BR>别的值的. <BR> <BR> 所以磁盘最大容量为: <BR> <BR> 256 * 1024 * 63 * 512 / 1048576 = 8064 GB ( 1M = 1048576 Bytes ) <BR>或硬盘厂商常用的单位: <BR> 256 * 1024 * 63 * 512 / 1000000 = 8455 GB ( 1M = 1000000 Bytes ) <BR> <BR> 在 CHS 寻址方式中, 磁头, 柱面, 扇区的取值范围分别为 0 到 Heads-1, <BR> 0 到 Cylinders-1, 1 到 Sectors per track (注意是从 1 开始). <BR> 在 CHS 寻址方式中, 有以下几种尺寸单位: <BR> 扇区 (Sector) = 512 字节 (一般情况下) <BR> 磁道 (Track) = (Sectors per track) 扇区 <BR> 柱面 (Cylinder)= (Sectors per track) * Heads 扇区 <BR> <BR> 2. 基本 Int 13H 调用简介 <BR> <BR> BIOS Int 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用, 它可以 <BR>完成磁盘(包括硬盘和软盘)的复位, 读写, 校验, 定位, 诊断, 格式化等功能. <BR>它使用的就是 CHS 寻址方式, 因此最大识能访问 8 GB 左右的硬盘 ( 本文中 <BR>如不作特殊说明, 均以 1M = 1048576 字节为单位). <BR> <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> (<A HREF="http://www.phoenix.com/products/specs.html)">http://www.phoenix.com/products/specs.html)</A> <BR>二. Boot Sector 结构简介 <BR> <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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -