一、概念
1、boot loader: 领导装载程序,常用的有(Grub, spfdisk)
2、Grub: 是一个多操作系统启动管理器,开机时领导不同系统,windows linux等
二、开机的流程
1、加载BIOS(basic input output system)的硬件信息,并进行自我测试
2、读取并执行第一个开机装置内MBR(主引导记录扇区)的boot loader即grub spfdisk 等程序!
3、 grub(boot loader)就是一个多操作系统启动管理器,运行之后就是选择系统(boot loader --grup的功能之后在讲)
4、依据 boot loader 的设定加载kernel(也就是在第3步这里选择的系统的内核),加载进来的kernel在存储器中解压并执行,侦测硬件信息加载驱动程序
5、硬件驱动成功之后,kernel会主动呼叫第一个用户级的程序,init, init 会取得运行级别(runlevel) 的信息(run level 信息保存在 /etc/inittab档案中)
6、init 执行 /etc/rc.d/rc.sysinit 档案 来准备软件执行的环境(如 网络 ,时区等信息)具体信息可以 vim /etc/rc.d/rc.sysinit 去查看
7、init 执行 run-level 的各个服务即启动和这个run-level 对应的服务
8、 执行 /etc/rc.d/rc.local 档案 (这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里)
9、 init 执行终端机仿真程序 mingtty 来启动 login 程序,最后等待用户登录
三、Bios(basic input output system)的作用
1、Bios它是一组固化到计算机内主板上一个Rom(read only memory) 芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,他里面的程序是被厂家烧录进去的,所以只能读不能改
2、Cmos是微机主板上的一块可读写的RAM芯片,主要用来保存当前系统的硬件配置和操作人员对某些参数的设置.
3、透过bios 程序去加载cmos 的信息,并且藉由cmos内的设定值取得主机各硬件配置信息,如cup ,接口设备的沟通频率开机装置的顺序,各个接口设备的I/O地址等.
4、获取这些信息之后,Bios 还会进行开机自我测试,然后开始执行硬件侦测的初始化,并设定pnp装置,之后再定义出开机的装置顺序,接下来就会开始进行开机装置的数据读取(MBR相关任务开始) (MBR master boot record 主引导区)
5、由于系统软件大多都被放在硬盘上,所以Bios 会制定开机的装置好让我们可以读取磁盘中的操作系统核心档案。
6、由于不同操作系统的文件系统格式不同,因此我们必须要以一个开机管理程序来处理核心档案加载的问题,因此这个开机管理程序就被称为 boot loader !
7、这个boot loader 就安装在第一个扇区(sector)内,也就是我们说的MBR( master boot record 住引导记录区)
8、每种操作系统的 boot loader 都不同,这样的话Bios怎么读取 MBR中的内的boot loader那?
9、其实 BIOS是通过硬件的INT13中断功能来读取 MBR 中的内容,也就是说只要BIOS在硬件侦测的时候如果能够侦测到你的磁盘(不管是sata 还是ide接口)那就有办法透过INT 13 这条信道来读取该磁盘的第一个扇区你的MBR中的内容,这样的话 boot loader 也就能够被执行了!
四、Boot loader (引导装载程序)
1、Boot loader 的最主要功能就是要认识操作系统的文件格式,并加载选定的系统核心到住住存储器中去执行。
2、由于每一种操作系统的文件格式不同,所以每种操作系统都有自己的boot loader
3、这样的话,当在一台机器上装多个操作系统怎么办因为MBR只有一个,而每种操作系统都有自己的boot loader ,其实每个filesystem 或主分割槽都会留Boot sector(引导扇区),来安装自己的boot loader 所以可以安装多系统的问题也就解决了
4、boot loader 的主要功能:
(1)、提供选单: 用户可以选择自己的开机项目,这也就是多重引导的重要功能。
(2)、载入核心档案: 直接指向可开机的程序区段,开始操作系统。
(3)、转交其他的boot loader : 将开机管理功能转交给其他的boot loader 负责。
** 由于具有选单功能因此我们可以选择不同的核心来开机
** 由于具有控制权转交的功能,因此我们可以加载其他boot sector 内的 boot loader !
5、当boot loader 的管理开始读取核心档案后,接下来Linux 就会将核心解压缩到主存储器中,并且利用核心的功能,开始测试与驱动各个周边的装置 如存储装置, cpu, 网卡,声卡等。此时linux 核心会以自己的功能重新侦测硬件信息,而不一定会使用BIOS侦测到的信息,也就是说此时开始 加载进来的Linux 核心 接管了 BIOS的工作!