linux6.x啓動流程

1.運行級別介紹
0 - halt (Do NOT set initdefault to this)系統直接關機
1 - Single user mode 單用戶模式
2 - Multiuser, without NFS (The same as 3, if you do not have networking)類似3級別,但無NFS服務
3 - Full multiuser mode 含網路功能的純文本模式
4 - unused 系統保留功能
5 - X11 加載使用xwindow
6 - reboot (Do NOT set initdefault to this) 重新啓動

2.查看運行級別,runlevel命令
linux6.x啓動流程
N:表示從哪個運行級別到3級別的。由於我開機後直接進入到3級別,沒有切換運行級別,所以顯示NULL。
那我默認的開機級別是哪裏設置的呢?
3./etc/inittab配置文件介紹
linux6.x啓動流程
從centos6.x後簡化了inittab的功能,只有默認的運行級別的配置。其他的功能都在紅色框內完成了。
4.先簡單介紹下linux啓動的流程
開機加載BIOS硬件信息與進行自我測試,讀取並執行第一個啓動設備內MBR(主引導分區)的引導程序(boot loader)grub,此時如果是單系統的話會直接加載內核,如果是多系統的話會調用其他分區的啓動程序已供選擇再而加載內核,內核會解壓縮到內存中,開始檢測各個硬件,也就是此時內核開始接管BIOS的檢測硬件工作了,並嘗試掛載硬件的驅動程序,但是驅動程序放在根目錄下了,問題是內核根本不認識SATA磁盤,需要加載磁盤的驅動程序,但程序又放在根下。這時需要虛擬文件系統了,centos5.x是initialRAM Disk,centos6.x是Initramfs。它可以通過boot loader加載到內核中解壓縮並仿真成根目錄,此時可以加載硬件的驅動了。加載完驅動後,掛載真正的根目錄了。調用/sbin/init第一支程序,調用/etc/init/rcS.conf調用/etc/rc.d/rc.sysinit完成系統初始化。調用/etc/initab執行運行級別。調用/etc/rc.d/rc按照運行級別調用/etc/rc[0-6].d按照優先級啓動和關閉相應腳本。啓動或關閉腳本/etc/rc.d/rc.local.然後就是登錄界面了。如下圖
linux6.x啓動流程
4.接下來說下/etc/inittab文件中註釋的紅框部分

System initialization is started by /etc/init/rcS.conf

linux6.x啓動流程
這個文件包含2個部分,第1是準備系統軟件執行的環境的腳本執行文件/etc/rc.d/rc.sysinit(取得網絡環境與主機類型、測試與掛載內存設備/proc和USB設備、決定是否啓動SElinux......)。第2是執行/etc/inittab執行運行級別
5.介紹下/etc/inittab配置文件中註釋的第二部分/etc/init/rc.conf
linux6.x啓動流程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章