CentOS的開機啟動過程
CentOs開啟啟動的流程主要有以下幾個步驟:
一.POST加電自檢
POST(POST ON SELF TEST)首先對每一個裝置進行檢查,完成後悔尋找存有引導記錄的裝置,找到讀入作業系統的引導記錄,將系統控制權交給引導記錄。
二、MBR引導
MBR(Master Boot Record),MBR記錄一般是在磁碟0磁軌1扇區,共512位元組,前446個位元組是BootLoader,後面的4*16個位元組是存放分區資訊的,最後兩個位元組是校正資訊的 。
三、GRUB載入核心
GRUB(GRand Unified Bootloader)就是MBR前446個位元組,是Booloader的一種,它的作用是選擇要啟動的核心。
四、啟動init進程
init進程是系統啟動的第一個進程,其他的進程都是此進程式控制制fork出來的,PID=1.
1讀取/etc/inittab,選擇預設層級
在我的機器上,檔案內容如下:
id:5:initdefault:
表示多使用者模式,支援圖形模式
2執行初始化系統指令碼
這個指令碼在/etc/rc.d/rc.sysinit中
3執行/etc/rc.d/rcX.d/下的指令碼
因為這裡我選擇的預設層級是5,則會讀取rc5.d下的所有指令碼,來控制系統啟動的時候啟動或關閉那些服務。
這裡的指令碼大致分為兩類,以S開頭的和以K開頭的。
S:代表開機啟動的
K:表示開機時不啟動的
檔案命令格式,例如:
S01sysstat S 開機啟動 01 啟動次序 sysstat 啟動指令碼名
可以通過chkconfig 來關係指令碼的開機自啟動
chkconfig –add SRC_SCRIPT 添加服務
chkconfig –del SRC_SCRIPT 刪除服務
chkconfig SRC_SCRIPT {on|off} 設定服務開機是否自啟動
–level 2345 指定預設層級
4執行/etc/rc.d/rc.local指令碼
這是啟動過程中最後啟動的一個指令碼,然後會執行/bin/login 登陸使用者。