CentOs開啟啟動的流程主要有以下幾個步驟:
一.POST加電自檢
POST(POST ON SELF TEST)首先對每一個設備進行檢查,完成后悔尋找存有引導記錄的設備,找到讀入操作系統(tǒng)的引導記錄,將系統(tǒng)控制權交給引導記錄。
二、MBR引導
MBR(Master Boot Record),MBR記錄一般是在磁盤0磁道1扇區(qū),共512字節(jié),前446個字節(jié)是BootLoader,后面的4*16個字節(jié)是存放分區(qū)信息的,最后兩個字節(jié)是校驗信息的 。
三、GRUB加載內(nèi)核
GRUB(GRand Unified Bootloader)就是MBR前446個字節(jié),是Booloader的一種,它的作用是選擇要啟動的內(nèi)核。
四、啟動init進程
init進程是系統(tǒng)啟動的第一個進程,其他的進程都是此進程控制fork出來的,PID=1.
1讀取/etc/inittab,選擇默認級別
在我的機器上,文件內(nèi)容如下:
id:5:initdefault:
表示多用戶模式,支持圖形模式
2執(zhí)行初始化系統(tǒng)腳本
這個腳本在/etc/rc.d/rc.sysinit中
3執(zhí)行/etc/rc.d/rcX.d/下的腳本
因為這里我選擇的默認級別是5,則會讀取rc5.d下的所有腳本,來控制系統(tǒng)啟動的時候啟動或關閉那些服務。
這里的腳本大致分為兩類,以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執(zhí)行/etc/rc.d/rc.local腳本
這是啟動過程中最后啟動的一個腳本,然后會執(zhí)行/bin/login 登陸用戶。
CentOS設置開機等待時間
Centos6.x操作系統(tǒng)每次開機時,都會有系統(tǒng)等待時間,此選項最常用到的地方就是修改密碼,如果不需要修改密碼的話,通常需要快速進入系統(tǒng)。因為可以修改系統(tǒng)等待時間。
開機等待時間默認為5秒,將之設置為0秒后,保存后重新啟動服務器,就會迅速跳過開機選項進入系統(tǒng),不過建議設置為1秒,這樣忘記密碼時,可以及時按下重新設置密碼的選項。
[root@rac1 grub]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_rac1-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5 //設置開機選項描述,默認為5秒
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_rac1-lv_root rd_LVM_LV=vg_rac1/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_rac1/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-358.el6.x86_64.img