引导记录(DBR)及其结构

磁盘的逻辑0扇区都称为DOS引导扇区,又称为BOOT区。我们可以用DEBUG中的L命令读出DBR扇区的内容。
在DEBUG中,L命令的格式是:
L 内存缓冲区地址,盘号,起始扇区,要读取的扇区数
其中,磁盘A、B、C、D、E...的盘号分别为 0、1、2、3、4...
例如,进入DEBUG后,将D盘DBR扇区的读入内存CS:100的命令为:
-L 100,3,0,1
1.DBR扇区的结构
经由FORMAT高级格式化写到该扇区的内容为称为DOS的引导记录(DBR),其主要功能是完成DOS系统的自举。
以FAT16的硬盘DBR为例,它由以下5个部分组成:
·跳转指令。占用3个字节的跳转指令将跳至引导代码,其内容随DOS版本而变化。
·厂商标识和DOS版本号。该部分总共占用8个字节,其内容随DOS的版本而不同。·BPB(BIOS Parameter Block,BIOS参数块)。BPB从第12(0BH)字节起占用19个字节,各字节内容及地址分配如表6-3所示。在该部分记录了磁盘的扇区字节数、磁头数等重要信息。该部分的内容随磁盘类型的不同而不一样。
·DOS引导程序。DOS引导程序即占用480字节的BOOT代码,负责完成DOS的3个系统文件的装入工作。这部分内容随DOS版本不同而变化。
·结束标志字。结束标志占用2个字节,其值为AA55。
以上5个部分共占用512个字节,也正好是一个扇区,因此称它为DOS引导扇区或BOOT区。在该区间的内容中,除了第5部分结束标志字是固定不变之外,其余4个部分都是不确定的。第1、2、4部分都因DOS版本的不同而不同,第3部分BPB信息的内容也将随DOS的版本及时间的变化而变化。

偏移量 字节数

含义

00--02H 3  跳转到引导代码
03--0AH 8  厂商标识和DOS版本
0B--0CH 2

B

P

B

信息

 每个扇区的字节数
0DH 1  每个分配簇的扇区数(2的整数倍)
0E--0FH 2  保留扇区数
10H 1  FAT个数
11--12H 2  根目录登记项数(所允许的最大数值)
13--14H 2  磁盘扇区总数
15H 1  磁介质类型说明
16--17H 2  每个FAT表所占的扇区数
18--19H 2  每个磁道(柱面)的扇区数
1A--1BH 2  磁头的个数
1C--1FH 4  当前DOS分区前面的隐含扇区数
27--2AH 4  FAT16格式磁盘系列号
2B--35H 10  FAT16卷标名
36--3AH 5  FAT16磁盘格式标志


表6-3硬盘FAT16的DOS引导记录中BPB等内容地址分配表
DOS引导记录中的BPB参数块从第12(0BH)字节起占用21个字节,这是磁盘的重要参数区。表6-3中BPB参数块的多数项目的含义容易理解,在此仅对“保留扇区”、“介质描述”和“隐含扇区数”3项加以说明:
(1)保留扇区(RS-Reserved Sector)
由DOS指定的被保留用作引导区的扇区数。其值一般为1。
(2)介质描述(MD-Media Description)
向DOS提供的所用磁盘的性质。介质描述拦中的值DOS所能识别的十六进制数,不同的介质(即不同的磁盘类型)具有不同的介质描述值。硬盘的介质描述符为“F8”,不同的软盘所对应的介质描述符如表6-4所示。
表6-4各种类型磁盘的介质描述值

十六进制数 说明
F8 硬盘
F9 双面5.25"软盘(15扇区高密度)、双面3.5"软盘FA
FA 双面3.5"软盘、RAM虚拟盘FC
FC 单面5.25"软盘(9扇区/磁道)、双面8"磁盘
FD 双面5.25"软盘(9扇区/磁道)、
FE

单面8"软盘(单密度)、单面8"软盘(双密度)

单面5.25"软盘(8扇区/磁道)

FF 双面5.25"软盘(8扇区/磁道)


(3)隐含扇区数(HS-Hidden Sectors)
隐含扇区一般用于硬盘分区,所以在软盘中该值为0。在硬盘分区中,它表示从磁盘起始扇区至当前分区之前的总扇区数。如图6-2所示。

分区表前

已用扇区

第1分区 第2分区 第3分区 第4分区

第1分区的隐含扇区                    |                  |                  |

--------第2分区的隐含扇区------------|                  |                  |

-------------------第3分区的隐含扇区--------------------|                  |

---------------------------第4分区的隐含扇区-------------------------------|              

                                图6-2 硬盘的隐含扇区数示意
硬盘的每一个分区都是独立的“逻辑驱动器”,DOS将每个分区都视为一个从0开始的连续扇区块。每个分区的隐含扇区数取决于该分区以前的总扇区数。一般来说,分区1的隐含扇区数为17。
2.DBR的主要功能及工作流程
DOS/Windows系统在引导的时候,DBR是第一个(除硬盘的MBR)之外)须装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要任务是装载DOS的系统隐藏文件IO.SYS(或IBMIO.COM)。
DBR程序段所要完成的主要任务如下:
(1)重新设置引导驱动器。
(2)将根目录的第一个扇区(即根目录FDT中的前16个文件项)装载到内存。
(3)检查FDT中的前两个文件是否是DOS的两个系统隐藏文件。
(4)将其中一个系统隐藏文件(IO.SYS或IBMIO.COM)装载到内存。
(5)将控制权交给该系统隐藏文件IO.SYS或IBMIO.COM。
DBR引导程序段执行流程如图6-3所示。

图6-3DBR引导程序段执行流程

你可能感兴趣的:(文件系统)