对软盘来说,引导记录区处于0道 0面第一扇区,其逻辑扇区号为0;对硬盘某个分区来说,引导记录区的逻辑号也为0。由于该记录区仅一个扇区,从起始位置0 字节算起,其上的内容分布见表2.2。从表上可知,引导扇区的内容由六部分组成,其中磁盘I/O参数表、驱动器电气参数表和引导程序是主要的,以下分别介绍。
表2.2 引导记录区的内容分布表
(1)跳转指令代码:或为段间跳转紧跟16位的位移值,或为短程跳转紧跟8位的位移值,并再接一条NOP指令。否则,该盘未格式化或为非DOS盘。
(2)厂商标识代码:用来填写厂商名字与其内部的DOS版本号。
(3)磁盘I/O参数表:用来确定磁盘逻辑和物理特性,以便设备驱动程序将盘的逻辑地址转换为物理地址。或供应用程序计算FAT表和根目录的大小和地址。其中0BH- 23H常称为BPB(BIOS Parameter Block),即BIOS参数块,这些表项所表示的意义及其举例见表2.3。
表2.3 磁盘 I / O 参数表
(www.xing528.com)
(4)磁盘驱动器电气参数表:又称磁盘基数表,位于引导区21H-2BH的11个字节( 低版本DOS),也存在于ROMBIOS中,其地址由中断向量1EH指向(0000:0522),现就软盘列出该组参数的意义及其举例值,见表2.4。
表2.4 磁盘驱动器电气参数表
(5)磁盘引导程序:从位移3E开始的磁盘引导程序,主要的功能是检查磁盘目录的第一块中是否有IO.SYS和MSDOS.SYS文件,若找到了这两个文件且按上述顺序存放,认为该盘是可引导的,于是将文件数据区开始连续的扇区读入内存,然后执行之,从而达到引导的目的。若没有找到这两个文件,引导程序显示此盘为非系统盘等待用户换盘并按下任一键后重新引导。
软、硬盘引导程序在结构上是完全一样的。这只要用DEBUG将该引导程序读入内存,显示其有关数据并反汇编引导程序可看到,两者的差别在位移1E 处所存放的驱动器号不同。软盘为00H,硬盘为80H。
当PC机加电或复位自举时,由ROM BIOS中的INT19H将引导扇区内容读入内存 0000:7C00处,并从那里开始执行。若是从硬盘启动,由主引导程序将分区引导扇区也读入参数表,直接去执行3E处的引导程序,从而达到启动的目的。
(6)结束标志:引导扇区的有效结束标志55AA,因为引导程序位于引导扇区的后面部分,由于该程序简单且较短小,后面不少字节没有用上,故设立结束标志是有必要的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。