在计算机概论里面我们有谈到那个可爱的BIOS与CMOS两个东西, CMOS是记录各项硬体参数且嵌入在主机板上面的储存器,BIOS则是一个写入到主机板上的一个韧体(再次说明, 韧体就是写入到硬体上的一个软体程式)。这个BIOS就是在开机的时候,电脑系统会主动执行的第一个程式了!
接下来BIOS会去分析电脑里面有哪些储存设备,我们以硬碟为例,BIOS会依据使用者的设定去取得能够开机的硬碟, 并且到该硬碟里面去读取第一个磁区的MBR位置。 MBR这个仅有446 bytes的硬碟容量里面会放置最基本的开机管理程式, 此时BIOS就功成圆满,而接下来就是MBR内的开机管理程式的工作了。
这个开机管理程式的目的是在载入(load)核心档案, 由于开机管理程式是作业系统在安装的时候所提供的,所以他会认识硬碟内的档案系统格式,因此就能够读取核心档案, 然后接下来就是核心档案的工作,开机管理程式也功成圆满,之后就是大家所知道的作业系统的任务啦!
简单的说,整个开机流程到作业系统之前的动作应该是这样的:
- BIOS:开机主动执行的韧体,会认识第一个可开机的装置;
- MBR:第一个可开机装置的第一个磁区内的主要开机记录区块,内含开机管理程式;
- 开机管理程式(boot loader):一支可读取核心档案来执行的软体;
- 核心档案:开始作业系统的功能...
由上面的说明我们会知道,BIOS与MBR都是硬体本身会支援的功能,至于Boot loader则是作业系统安装在MBR上面的一套软体了。由于MBR仅有446 bytes而已,因此这个开机管理程式是非常小而美的。 这个boot loader的主要任务有底下这些项目:
- 提供选单:使用者可以选择不同的开机项目,这也是多重开机的重要功能!
- 载入核心档案:直接指向可开机的程式区段来开始作业系统;
- 转交其他loader:将开机管理功能转交给其他loader负责。
上面前两点还容易理解,但是第三点很有趣喔!那表示你的电脑系统里面可能具有两个以上的开机管理程式呢! 有可能吗?我们的硬碟不是只有一个MBR而已?是没错啦!但是开机管理程式除了可以安装在MBR之外, 还可以安装在每个分割槽的开机磁区(boot sector)喔!瞎密?分割槽还有各别的开机磁区喔? 没错啊!这个特色才能造就‘多重开机’的功能啊!