CentOS開機簡要流程

CentOS開機流程:

POST--Boot sequence--Boot loader---Kernel(Ramdisk)---rootfs---switch-------/sbin/init




POST:加電

計算機加電後,CPU到ROM上尋找代碼,並且這個過程掃描計算機的硬件。如果一切正常,進入下一步


Boot sequence:選擇分區引導

ROM上存放着BIOS(Boot Input/Output System),根據對BIOS的設置,引導第一各有引導程序的設備啓動它。


Boot loader:引導加載器

存在磁盤的第一個扇區上存放着MBR(Master Boot Record字節)佔據着512字節,其中前面446字節存放着Boot loader.在Linux下Boot loader常用的是Grub,

Grub採用的工作模式是:

1 stage:bootload,加載到2stage .

1.5 stage :位於mbr之後的扇區,提供了文件系統驅動 2nd:位於/boot/grub下,加載內核。

2 stage:位於/boot/grub


Kernel:內核加載

Kernel是單核設計,把所有功能集成於一個程序。

Kernel被加載到內存後展開,在ramdisk的幫助下訪問文件系統

內核展開後進行自身初始化:

1.檢測所有可以識別得到的硬件設備(有可能藉助於ramdisk)

2.加載硬件的驅動

3.以只讀的方式掛載文件系統

4.運行/sbin/init


/sbin/init:啓動init完成最後工作

1.init調用其配置文件/etc/inittable


[root@localhost rc3.d]# tail -10 /etc/inittab

# Default runlevel. The runlevels used are:

#   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 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

id:3:initdefault:


0:關機shutdown

1:單用戶模式 single user root用戶,無需認證,維護模式;

2.多用戶模式(multi user),會啓動網絡功能,但不會啓動NFS維護模式

3.多用戶模式,完全功能模式,文本界面

4:預留模式:目前無特別使用目的,但習慣以同3級別功能使用

5.多用戶模式,完全功能模式,圖形界面

6.重啓,reboot


模式進行切換: init # (0-6)


2.進行系統初始化 /etc/rc.d/rc.sysinit

(1) 設置主機名;

(2) 設置歡迎信息;

(3) 激活udev和selinux;

(4) 掛載/etc/fstab文件中定義的所有文件系統; 

(5) 檢測根文件系統,並以讀寫方式重新掛載根文件系統;之前是隻讀 

(6) 設置系統時鐘; 通過讀取硬件時鐘實現

(7) 根據/etc/sysctl.conf文件來設置內核參數;

(8) 激活lvm及軟raid設備;

(9) 激活swap設備;

(10) 加載額外設備的驅動程序;有些沒有加載

  (11) 清理操作; 清除臨時文件等


3.停止,關閉對應級別服務

接受一個運行級別數字(0-6)。啓動或關閉/etc/rc.d/ 目錄下的服務腳本所控制服務;

K* 表示要停止的服務,數字越小需要越先關閉

S* 表示要開啓的服務,數字越小越快啓動。


4.開啓字符串終端


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