在个人计算机架构下,你想要启动整个系统,首先就得要,让系统进入bios,并通过,bios程序去加载cmos的信息,并且借由cmos的设置取得主机的各项硬件配置,例如CPU,与接口设备的沟通频率启动设备的查找顺序,硬件硬盘的大小与类型系统时间个周边总线是否启动?plug and play各设备接口的IO地址以及与CPU沟通的IRQ中断等的信息。
在取得这些信息后,BIOS会进行启动自我检测,然后开始执行硬件测验的初始化,并设置pnp设备之后再定一出可启动的设备顺序,接下来就会开始启动设备的数据读取了
由于我们的系统软件大多放置在硬盘中,所以bios会指定启动的设备好让我们可以读取磁盘中的操作系统内核文件,但是由于不同的操作系统,它的文件系统格式不同,因此,我们必须以一个启动引导程序来处理内核文件加载的问题,因此,这个启动引导程序就被称为boot loader的。
boot loader功能
刚刚说到的loader的主要功能是识别操作系统的文件格式,并据以加载内核到内存中去执行,由于不同操作系统的文件格式不一致,因此,没种操作系统都有自己的loader的,用自己的loader才有办法加载内核文件。
bootLoader主要功能如下:
- 提供选项:用户可以选择不同的启动选项,这也是多重引导的重要功能
- 加载内核文件:直接指向可启动程序区域来启动操作系统
- 转交其他loader:将启动管理功能,转交给其loader的负责
由于有具有选项功能,因此我们可以选择不同的内核来启动,由于具有控制权转交功能,因此我们可以加载其他boot sectot内的loader。