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啓動流程二


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