中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 未整理篇
三、引导扇区程序(BootSector)
作者:binarier 时间:2003-02-15 11:10 出处:互联网 责编:chinaitpower
              摘要:三、引导扇区程序(BootSector)

    引导扇区程序是位于启动盘最前面的一个扇区中的一段小程序,其大小不超过512字节即一个扇区的长度,也称之为引导记录。


    引导记录负责从PCBIOS的启动代码中接管PC的控制权,为加载特定的操作系统做准备。所以每种操作系统的引导记录都是特定的。虽说有类似GRUB和LILO之类的通用引导程序,但它们针对的都是Linux系列的操作系统,并不是真的正通用引导程序。

    Sinos就是从引导记录出发的,采用纯汇编编写。

    由于引导记录最长不能超过512个字节,所以针对不同的启动设备、文件系统都要有不同的代码版本,Sinos目前实现的引导记录是针对硬盘启动的,而且启动盘文件系统为FAT16。

    在读取磁盘的方法上,Sinos采用了EBIOS 调用,int 13h的42h号子功能。该子功能支持大硬盘的LBA地址模式。使用LBA使得硬盘操作得以简化,避免了传统CHS模式的繁琐计算,更重要的是,LBA模式没有CHS模式的8.4GB的容量限制,可以应用在现代大容量硬盘上。

    因为是硬盘引导程序,所以Sinos引导记录的第一部分就是搜索硬盘MBR ,寻找活动分区,以便确定自身处于硬盘的什么位置。

    第二步是根据读取到的各类参数计算出FAT16文件系统的各项数值,如FAT表位置、根目录位置、簇大小、数据区位置等等,以便读取文件系统中的文件。

    然后要做的是搜索启动盘的根目录,找到实模式初始化程序所在的文件,目前文件名为“booter.bin”。这里要求初始化程序必须位于启动盘根目录,是因为引导记录容量非常有限,不太可能也必要实现递归的子目录搜索模块。

    找到根目录项后就得到了该文件在磁盘中的起始簇号,然后根据这个起始簇号和FAT表的内容就可以得到完整的文件内容。关于读取文件的细节,属于FAT文件系统规范的内容,这里不再赘述。

    当PCBIOS启动完成后,把引导记录载入到0:7c00h处,然远跳转到0:7c00h,这样就完成了控制权的转移,系统由引导记录控制。Sinos引导记录按上文所述的步骤把初始化程序加载到0:7e00h处,然后同样跳转到0:7e00h,把控制权交给一下阶段程序。

    与BIOS最初的跳转不同的是,Sinos引导记录还把文件系统的各项参数,放在六个通用寄存器中传递给初始化程序,分别放在EAX、EBX、ECX、EDX、SI和DI中。

    由于使用了EAX之类的扩展寄存器,所以要求CPU一定要是80386或以上的CPU,但这一点与Sinos保护模式操作系统的定位一致。

    在写入引导时,由于还没有Sinos的安装程序,所以必需借助DOS操作系统来完成。通过DOS系统中的DEBUG程序,可以把引导记录写入指定的磁盘,具体方法请见所附源码中的write.bat程序。

    当然,使用DOS来安装系统不仅仅是想使用其DEBUG程序,关键是DOS带有完整的硬盘分区和格式化工具(Fdisk和Format)。在FAT16文件系统中,引导记录并不是完全由程序组成,最初的3eh个字节记录了许多在格式化过程中获得的参数,而目前Sinos没有格式化磁盘的能力,所以必需通过DOS的Format程序来完成文件系统的建立。write.bat通过DEBUG所做的,是把DBR中DOS的引导程序替换成Sinos的引导程序,而保持其它部分不变。


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有