***瞭解Linux開機啓動順序以前先了解一下Linux運行級別,經過inittab配置文件查看運行級別的定義:網絡
[root@oldboy ~]# cat /etc/inittab工具
# Default runlevel. The runlevels used are:this
0表示系統關機spa
# 0 - halt (Do NOT set initdefault to this)操作系統
1表示單用戶模式,通常用於修改root密碼或系統救援3d
# 1 - Single user modeblog
2表示多用戶模式,但沒有NFS網絡文件系統功能進程
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)內存
3表示多用戶模式,通常生產系統就用此級別get
# 3 - Full multiuser mode
4表示未使用
# 4 – unused
5表示以圖形介面登陸
# 5 - X11
6表示重啓系統
# 6 - reboot (Do NOT set initdefault to this)
id:3:initdefault: ##系統修改運行級加就在此修改便可
[root@oldboy ~]# runlevel ##查看當前系統運行級別
N 3
[root@oldboy ~]# init 5 ##切換運行級別
Linux 開機啓動順序流程圖:
1、開機加載BIOS自檢設備啓動順序信息、硬盤信息、內存信息等
標註:以VMware WorkStation虛擬機截圖
2、MBR引導
標註:還有另一種開機加載方式GPT(UEFI+GPT)引導,GUID Partition Table全局惟一標識分區表
MBR(Legacy+MBR)引導,Master Boot Record即硬盤主引導記錄分區 (硬盤0柱面、0磁頭、1扇區,大小爲512字節)
(1)、主引導扇區MBR 佔446個字節
(2)、分區表DPT 佔64個字節(一個硬盤只能分四個主分區,一個分區佔用16個字節)
(3)、分區表有效性標記 佔用2個字節
3、Boot Loader引導加載(以GRUB引導菜單爲例),系統讀取內存中的grub配置信息,
並依照此配置信息來啓動不一樣的操做系統,能夠經過/boot/grub/grub.conf進行配置
4、加載內核Kernel
5、啓動第一個進程init
6、執行/etc/rc.d/rc.sysinit腳本文件初始化設置
7、讀取inittab配置文件設定運行等級,執行/etc/rc.d/rc3.d目錄相應的腳本程序
標註:kdump 是一個系統意外崩潰時收集錯誤信息的工具,能夠關閉,不影響系統啓動
8、啓動mingetty進程,進入登陸狀態
標註:在啓動mingetty進程時,系統會先執行/etc/rc/rc.local開機自動啓用戶自定義的動程序命令的文件
感謝老男孩博客提供參考 https://blog.51cto.com/oldboy