Linux作業系統啟動流程

2022-07-13 05:57:11 字數 1855 閱讀 9093

理解linux作業系統啟動流程,能有助於後期在企業中更好的維護linux伺服器,能快速定位系統問題,進而解決問題。

上圖為linux作業系統啟動流程

載入bios

計算機電源加電質檢,首先載入基本輸入輸出系統(basic input output system,bios),bios中包含硬體cpu、記憶體、硬碟等相關資訊,包含裝置啟動順序資訊、硬碟資訊、記憶體資訊、時鐘資訊、即插即用(plug-and-play,pnp)特性等。載入完bios資訊,計算機將根據順序進行啟動。

2.讀取mbr

讀取完bios資訊,計算機將會查詢bios所指定的硬碟mbr引導扇區,將其內容複製到0x7c00位址所在的物理記憶體中。被複製到物理記憶體的內容是boot loader,然後進行引導。

3.grub引導

grub啟動引導器是計算機啟動過程中執行的第乙個軟體程式,當計算機讀取記憶體中的grub配置資訊後,會根據其配置資訊來啟動硬碟中不同的作業系統。

4.載入kernel

計算機讀取記憶體映像,並進行解壓縮操作,螢幕一般會輸出「uncompressing linux」的提示,當解壓縮核心完成後,螢幕輸出「ok, booting the kernel」。系統將解壓後的核心放置在記憶體之中,並呼叫start_kernel()函式來啟動一系列的初始化函式並初始化各種裝置,完成linux核心環境的建立。

5.設定inittab執行等級

核心載入完畢,會啟動linux作業系統第乙個守護程序init,然後通過該程序讀取/etc/inittab檔案,/etc/inittab檔案的作用是設定linux的執行等級,linux常見執行級別如下:

6.載入rc.sysinit

讀取完執行級別,linux系統執行的第乙個使用者層檔案/etc/rc.d/rc.sysinit,該檔案功能包括:設定path執行變數、設定網路配置、啟動swap分割槽、設定/proc、系統函式、配置selinux等。

7.載入核心模組

讀取/etc/modules.conf檔案及/etc/modules.d目錄下的檔案來載入系統核心模組。該模組檔案,可以後期新增或者修改及刪除。

8.啟動執行級別程式

根據之前讀取的執行級別,作業系統會執行rc0.d到rc6.d中的相應的指令碼程式,來完成相應的初始化工作和啟動相應的服務。其中以s開頭表示系統即將啟動的程式,如果以k開頭,則代表停止該服務。s和k後緊跟的數字為啟動順序編號。

上圖為執行級別服務

9.讀取rc.local檔案

作業系統啟動完相應服務之後,會讀取執行/etc/rc.d/rc.local檔案,可以將需要開機啟動的任務加入到該檔案末尾,系統會逐行去執行並啟動相應命令。

開機執行載入檔案

10.執行/bin/login程式

執行/bin/login程式,啟動到系統登入介面,作業系統等待使用者輸入使用者名稱和密碼,即可登入到shell終端,如圖3-7所示,輸入使用者名稱、密碼即可登入linux作業系統,至此linux作業系統完整流程啟動完畢。

系統登陸介面

Linux作業系統啟動流程

1.載入biso 計算機電源加電質檢,首先載入基本輸入輸出系統 basic input output system,bios bios中包含硬體cpu 記憶體 硬碟等相關資訊,包含裝置自動順序資訊 硬碟資訊 記憶體資訊 時鐘資訊 即插即用特性等。載入完bios資訊,計算機將根據順序啟動 2.讀取mb...

Linux作業系統啟動的流程

1 系統啟 解 2 驅動步驟詳解 1 post加電質檢 接通電源後,系統進行的乙個自我檢查的例行程式。這個過程通常稱為post 上電自檢 power on self test 對系統的幾乎所有的硬體進行檢測。2 載入bios 計算機加電質檢,首先載入的是bios。blos包含了硬體cpu 記憶體 硬...

Linux作業系統啟動順序

1 開機自檢,夾在核心 2核心識別並載入根檔案系統rootfs bin sbin,lib,lib64,proc,sys,dev 首先讀取根檔案系統下 sbin init init負責替代kenel負責啟動使用者所需要的一起子程序。所以這些程序都是init的子程序。3掛載別的檔案系統 在根檔案系統下的...