- 曝光:Linux企業運維實戰
- 吳光科
- 1044字
- 2019-10-16 10:21:45
3.2 Linux操作系統啟動流程
初學者對Linux操作系統啟動流程深入理解,能有助于后期在企業中更好地維護Linux服務器,能夠快速定位系統問題,進而解決問題。Linux操作系統啟動流程如圖3-3所示。

圖3-3 系統啟動流程
1.加載BIOS
計算機電源加電質檢,首先加載基本輸入輸出系統(basic input output system,BIOS),BIOS中包含硬件CPU、內存、硬盤等相關信息,包含設備啟動順序信息、硬盤信息、內存信息、時鐘信息、即插即用(plug-and-play,PNP)特性等。加載完BIOS信息,計算機將根據順序進行啟動。
2.讀取MBR
讀取完BIOS信息,計算機將會查找BIOS所指定的硬盤MBR引導扇區,將其內容復制到0x7c00地址所在的物理內存中。被復制到物理內存的內容是bootloader,然后進行引導。
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后緊跟的數字為啟動順序編號,如圖3-4所示。

圖3-4 運行級別服務
9.讀取rc.local文件
操作系統啟動完相應服務之后,會讀取執行/etc/rc.d/rc.local文件,可以將需要開機啟動的任務加入到該文件末尾,系統會逐行去執行并啟動相應命令,如圖3-5所示。

圖3-5 開機運行加載文件
10.執行/bin/log in程序
執行/bin/login程序,啟動到系統登錄界面,操作系統等待用戶輸入用戶名和密碼,即可登錄到shell終端,如圖3-6所示,輸入用戶名、密碼即可登錄Linux操作系統,至此Linux操作系統完整流程啟動完畢。

圖3-6 系統登錄界面
- Linux設備驅動開發詳解(第2版)
- Getting Started with oVirt 3.3
- Containerization with LXC
- Learning Windows Server Containers
- 蘋果電腦玩全攻略 OS X 10.8 Mountain Lion
- Arch Linux Environment Setup How-to
- Windows Phone應用程序開發
- STM32庫開發實戰指南:基于STM32F4
- 直播系統開發:基于Nginx與Nginx-rtmp-module
- INSTANT Migration from Windows Server 2008 and 2008 R2 to 2012 How-to
- AWS SysOps Cookbook
- VMware Horizon Mirage Essentials
- VMware vSphere 5.1 Cookbook
- Less Web Development Essentials
- 鴻蒙HarmonyOS應用開發從入門到精通