Linux 引導的工作原理

2021-08-21 19:28:35 字數 1060 閱讀 3555

以下步驟將概要介紹 linux 引導程序的工作原理:

計算機在啟動時首先執行的是初始測試 post(開機自檢,power on self test),它將測試多個裝置,包括處理器、記憶體、顯示卡和鍵盤。此外,還將測試引導介質(硬碟、軟盤和 cd-rom)。在 post 之後,rom 中的引導程式將載入引導扇區,該扇區隨後將從活動分割槽中載入作業系統。您可以通過編輯伺服器 bios 來更改引導介質順序。

引導扇區總是在同乙個位置 — 引導裝置的磁軌 0、柱面 0、磁頭 0。此扇區包含名為 loader 的程式(對於 linux,它通常是 lilo 或 grub);實際上是此程式引導作業系統。引導程式不是安裝在 mbr 中,就是安裝在活動主分割槽的第乙個扇區中。

如果伺服器中安裝了多個作業系統,您需要從引導引導程式選單中選擇需要引導的作業系統。如果安裝了多個核心,您還可以在此選單中選擇要載入的核心。

然後,引導引導程式將解壓縮並載入核心。核心將首先載入核心模組,然後檢測硬體(軟碟機、硬碟、網路介面卡等),檢驗硬體配置,然後掃瞄和載入裝置驅動程式。

在此階段,核心將裝入根檔案系統和系統檔案。在重新編譯期間,可以(或通過其他程式)配置系統檔案的位置。如果載入失敗,kernel panic 將出現,並且系統將凍結(freeze)。這是先前提到的載入失敗型別。

接下來,核心將啟動系統初始化程序 init,這將成為第乙個程序。隨後它將啟動系統的其餘部分。init 程序是 linux 的第乙個程序,它是所有其他程序的父程序。此程序是在任何 linux/unix® 系統中第乙個執行的程序;它的 pid 始終為 1。

然後,init 將檢驗 /etc/inittab 檔案以確定必須啟動哪些程序。此檔案將提供關於 runlevel 及在各個 runlevel 上應當啟動的程序的 init 資訊。然後,init 將查詢第乙個帶有 sysinit(系統初始化)操作的行,然後將執行指定的命令檔案,如 red hat linux 中的 /etc/rc.d/rc.sysinit。在執行 /etc/rc.d/rc.sysinit 中的指令碼之後,init 將開始啟動與初始 runlevel 關聯的程序。在執行完 runlevel 初始指令碼時,linux 將允許您登入。

在系統引導期間查詢 rootfs

Linux核心的引導

1,當系統上電或復位時,cpu會將pc指標賦值為乙個特定的位址0xffff0並執行該位址處的指令。在pc機中,該位址位於bios中,它儲存在主機板上的rom或flash中 2,bios執行時按照cmos的設定定義的啟動裝置順序來搜尋處於活動狀態並且可以引導的裝置。若從硬碟啟動,bios會將硬碟mbr...

Linux核心的引導

1,當系統上電或復位時,cpu會將pc指標賦值為乙個特定的位址0xffff0並執行該位址處的指令。在pc機中,該位址位於bios中,它儲存在主機板上的rom或flash中 2,bios執行時按照cmos的設定定義的啟動裝置順序來搜尋處於活動狀態並且可以引導的裝置。若從硬碟啟動,bios會將硬碟mbr...

Linux核心的引導

1,當系統上電或復位時,cpu會將pc指標賦值為乙個特定的位址0xffff0並執行該位址處的指令。在pc機中,該位址位於bios中,它儲存在主機板上的rom或flash中 2,bios執行時按照cmos的設定定義的啟動裝置順序來搜尋處於活動狀態並且可以引導的裝置。若從硬碟啟動,bios會將硬碟mbr...