一:POST 加電自檢
二:BIOS--->Boot Sequence
按照bios中設置的硬件啓動循序查找引導設備,
第一個有引導程序的設備即爲本次啓動用到的設備。
三:MBR--->Bootloader
MBR組成:
446:bootloader------centos的GRUB
64 : 分區表信息
2 : 是否啓用
四:Kernel 加載到內存
初始化(自解壓):
探測可識別的所有硬件設備;
加載硬件驅動程序(可能借助ramdisk加載);
已制度方式掛載根文件系統;
運行用戶空間第一個應用程序:/sbin/init
init程序類型:
sysv:init,Centos5
配置文件:/etc/inittab
Upstart:init,Centos6
配置文件:/etc/inittab, /etc/init/*.conf
Systemd:systemd,Centos 7
配置文件:/usr/lib/systemd/system,
/etc/systemd/system
/sbin/init程序:
運行級別:爲系統運行或者維護等應用目的設定
0,6,:關機,重啓
1,2,:維護模式(單用戶模式,多用戶模式)
3,5,:默認級別(3文本界面,5是圖形化界面)
切換級別: init NUM
查看級別: runlevel
who -r
配置文件: /etc/inittab
chkconfig命令--查看服務所有級別的啓動或者關閉設定情景。
chkconfig [--list] [name]
添加:chkconfig --add name
刪除:chkconfig --del name
修改指定的鏈接類型:
chkconfig [--level levels] name <on|off|reset>
五:/etc/rc.d/rc.sysinit: 系統初始化腳本:
(1) 設置主機名;
(2) 設置歡迎信息;
(3) 激活udev和selinux;
(4) 掛載/etc/fstab文件中定義的文件系統;
(5) 檢測根文件系統,並以讀寫方式重新掛載根文件系統;
(6) 設置系統時鐘;
(7) 激活swap設備;
(8) 根據/etc/sysctl.conf文件設置內核參數;
(9) 激活lvm及software raid設備;
(10) 加載額外設備的驅動程序;
(11) 清理操作;
總結:
POST加電自檢 --> BIOS(Boot Sequence) --> MBR(bootloader) --> Kernel /sbin/init ---> (/etc/inittab, /etc/init/*.conf) --> 設置默認運行級別 ---> 運行系統初始化腳本 -->關閉或者啓動對應服務----> 設置登錄終端