Linux操做系統啓動流程

理解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,而後進行引導。spa

3.GRUB引導操作系統

        GRUB啓動引導器是計算機啓動過程當中運行的第一個軟件程序,當計算機讀取內存中的GRUB配置信息後,會根據其配置信息來啓動硬盤中不一樣的操做系統。blog

4.加載Kernel進程

        計算機讀取內存映像,並進行解壓縮操做,屏幕通常會輸出「Uncompressing Linux」的提示,當解壓縮內核完成後,屏幕輸出「OK, booting the kernel」。系統將解壓後的內核放置在內存之中,並調用start_kernel()函數來啓動一系列的初始化函數並初始化各類設備,完成Linux核心環境的創建。內存

5.設定Inittab運行等級it

        內核加載完畢,會啓動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終端,如圖3-7所示,輸入用戶名、密碼便可登陸Linux操做系統,至此Linux操做系統完整流程啓動完畢。

 

系統登錄界面

相關文章
相關標籤/搜索