这里虽然只是简单的对Linux开机流程的阐述,但是管中窥豹,从这里也可简单的
对Windows的开机了解一二。
对开机流程的了解与理解,有利于加深我们对系统的的理解。
1、Linux整个开机流程到操作系统之前的简单步骤:
a、BIOS:开机主动执行的韧体,会认识第一个可开机的设备;
b、MBR:第一个可开机设备的第一个扇区内的主引导分区快,内包含引导加载程序;
c、引导加载程序(Boot loader):一支可读取内核文件来执行的软件;
d、内核文件:开始操作系统的功能。
BIOS和CMOS 都是硬件本身支持的功能,而Boot loader则是操作系统安装在MBR
上的一套软件。至于Boot loader的主要任务有:
a、提供菜单:不同的开机项,多重引导;
b、载入内核文件:直接指向可开机的程序区段来开始操作系统;
c、转交其他loader:(有待理解);
引导加载程序除了可以安装在MBR外,还可以安装在每个分区的引导扇区(
boot sector)。
2、在此之前稍微简单了解一下BIOS和CMOS
BIOS:是在开机时计算机系统主动执行的第一个程序,也就是说计算机的启动过程
是在BIOS的控制下进行的。BIOS程序是一个写到主板ROM芯片上的韧体(韧体是写入
或是 嵌入到硬件中的一个软件程序,即使在关机或掉电后,程序也不回丢失)。
作用:
a、自检及初始化:开机后BIOS最先被启动,它会对电脑的硬盘设备进行完全
的彻底的检测与测试;
b、程序服务:I/O设备
c、设定中断:在开机时就将各硬件设备的中断号告诉了CPU
CMOS:complementary metal-oxide semiconductor,是一种半导体芯片,是嵌入在
主板上的存储器(一种可读写的RAM芯片),在CMOS中记录着系统各种硬件参数和用户
对某些参数的设定;系统在加载引导时,要读取CMOS的信息,用来初始化机器各个
部件的状态。
因此,可知BIOS和CMOS是密不可分的。
3、Linux开机流程的稍微具体点的情况:
对上面做简单的了解后,我么就可以继续下面的内容啦!
BIOS在开机执行后,会去分析CMOS等设备;
---针对硬盘,它会去取得能够开机的硬盘,并到该硬盘里去读取第一个
扇区里的MBR位置;
---因为MBR(446bytes)的硬盘容量中放置有引导加载程序Boot loader;
---此时BIOS任务完成;
---这个引导加载程序Boot loader的目的是加载(load)内核文件;
---能够读取内核文件在于它会识别硬盘内的文件系统;
---引导加载程序任务完成;
---内核文件工作,开始操作系统的功能;