什么是boot loader?

来源:互联网 发布:实体渠道 数据分析 编辑:程序博客网 时间:2024/06/10 06:42


计算机启动的一般过程:BIOS程序执行完自检后将控制权交给硬盘的MBR,MBR一般会查找激活状态的主分区,做些引导条件判断,然后把控件权交给活动分区的引导扇区内的引导代码或引导程序,如NTLDR、BOOTLOADER等。

 

BIOS存放在计算机系统的主板上的EEPROM中,当打开计算机或者重启计算机时,BIOS获得系统的控制权。在测试硬件之后,BIOS将控制权交给MBR(通常会将控制权交给分区引导记录)。控制权的传递启动了引导加载程序,该程序负责查找操作系统内核(存放在目录/或目录/boot中),将内核加载到内存中,并将其启动运行。

 

引导加载程序是一种短小的程序,它用在系统引导(bootstrap)过程中,会引导操作系统让计算机从关闭状态或重置状态进入全功能状态。引导加载程序通常位于硬盘上被称为MBR(MasterBoot Record,主引导记录)的启动扇区中。

 

 

当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512 字节(即人们所知的 主引导记录(masterboot record,MBR))。

主引导记录本身要包含两类内容 —— 部分(或全部)引导加载程序以及分区表(其中包含有关于介质其余部分如何划分为分区的信息)。

当 BIOS 引导时,它会寻找硬盘驱动器第一个扇区(MBR)中存储的数据;BIOS 使用存储在MBR 中的数据激活引导加载程序。


  由于 BIOS 只能访问很少量的数据,所以大部分引导加载程序分两个阶段进行引导。在引导的第一个阶段中,BIOS 引导一部分引导加载程序,即 初始程序加载程序(initialprogram loader,IPL)。IPL 查询分区表,从而能够加载位于不同介质上任意位置的数据。首先通过这步操作来定位第二阶段引导加载程序(其中包含加载程序的其余部分)。
  第二阶段引导加载程序是引导加载程序的主体;很多人认为这才是引导加载程序的真正部分。它包含有加载程序更需要磁盘空间的部分,比如用户界面和内核引导程序。从简单的命令行到绘声绘色的 GUI,这些用户界面的范围很广泛。
  引导加载程序通常配置为两种方式的其中之一:要么是作为主引导加载程序(primary boot loader),要么是作为二级引导加载程序(secondaryboot loader)。主引导程序是安装在MBR 上的第一阶段引导加载程序(见先前的描述)。二级引导加载程序 是安装在可引导分区的第一阶段引导加载程序。必须在MBR 上安装单独的引导加载程序,并配置它将控制权转交给二级引导加载程序。

0 0
原创粉丝点击