Linux系統的啟動流程
理解Linux作業系統啟動流程,能有助于后期在企業中更好的維護Linux服務器,能快速定位系統問題,進而解決問題,

上圖為Linux作業系統啟動流程
1.加載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常見運行級別如下:
?0:關機模式
?1:單用戶模式
?2:無網路支持的多用戶模式
?3:字符界面多用戶模式
?4:保留,未使用模式
?5:影像界面多用戶模式
?6:重新引導系統,重啟模式
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終端,輸入用戶名、
密碼即可登錄Linux作業系統,至此Linux作業系統完整流程啟動完畢,

系統登陸界面
掃一掃下面的二維碼,關注我們,獲取更多精彩活動資訊,有好禮相送哦~

微信贊助 微信打賞 支付寶打賞
A thousand journey is started by taking the first step.轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/321528.html
標籤:Linux
