Linux启动流程一

要想弄清楚Linux开机过程,首先要了解两个名词(BIOS和CMOS):

BIOS(Basic Input Output System)是一套程序,这套程序写死到主板上面的一个内存芯片中,是一组设置硬件参数的程序

CMOS是主板上的一个可读写的存储芯片,这个芯片仅仅是用来存储BIOS设置完电脑硬件的参数,并且需要借助额外的电源来发挥记录功能,这也是为什么主板上有一个电池的缘故,那CMOS内的数据如何读取和更新呢,就是通过刚刚提到的BIOS,并且CMOS芯片通常集成在BIOS芯片里面,所以只能看到BIOS芯片看不到CMOS芯片,CMOS内存容量一般有128到256个字节

总结:CMOS是一个记录各项硬件参数且嵌入在主板上面的存储器,BIOS是一个写入到主板上的一个软件程序,通过BIOS设置程序对CMOS参数进行设置

BIOS中主要存放有:

自诊断程序:通过读取CMOS的参数进行硬件自检和初始化,包括CPU,内存,显示卡,串口,键盘,硬盘,主板等的测试,如果发现问题,系统将给出提示信息或鸣笛警告

CMOS设置程序:通过特殊热键进入设置程序,设置完成后,存入CMOS中

系统装载程序:完成自检后,通过CMOS中的启动顺序参数,搜索软硬盘,网络服务器等有效的启动驱动器,读入操作系统引导记录,然后把控制权交给操作系统引导记录,由操作系统引导记录完成系统的启动

所以开机过程应该如下:

1、BIOS,开机主动执行的程序,识别出第一个可开机的设备

2、MBR,第一个可开机设备里面的第一个扇区内的主引导分区块,内含引导加载程序,MBR并不属于某个操作系统,MBR往往可以同时识别多种操作系统的引导加载程序

3、如果安装了多款操作系统,比如第一个分区安装了windows操作系统,第二个分区安装了Linux操作系统,那么MBR的引导加载程序内将有两个启动菜单,菜单一直接加载windows的内核,菜单二则是将引导加载工作交给第二个分区的启动扇区,也就是说每个扇区都有自己的启动扇区,第二个引导加载程序启动后,该引导加载程序内仅有一个开机菜单,因此就能使用Linux的内核来开机,这就是多重引导的工作流程

对第三点作个总结:

1、每个分区都有自己的启动扇区

2、开机内核是放到各分区内的

3、loader只认识分区内可开机内核文件以及其他loader

4、要先安装windows然后安装Linux,因为如果先安装linux再安装windows的话,windows的安装程序会主动覆盖掉MBR,所以原来在MBR内的linux的引导加载程序就会被覆盖,而先安装windows然后安装linux的话,安装Linux的时候可以选择将引导加载程序安装在其他分区的启动扇区

交给bootloader之后的启动过程见Linux启动流程二


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章