1.按下開機按鈕,電腦的主板通電,電腦開始加電自檢(POST,Power On and Self Test),測試主機的硬件是否滿足開機的要求.
2.加載主板上的BIOS(Base Input/Output System,基本輸入輸出系統),BIOS會加載用戶設定的第一個可開機設備.,這里我們只說硬盤的加載.
可以按下鍵盤上的Esc或者是F2或者是Del鍵,可以調整開機設備,這個鍵依據每個主板的不同而不同.
3.BIOS加載硬盤的第一個分區的第一個扇區內的內容,也叫做MBR(Master Boot Record,主引導記錄).
MBR只有512byte大小,由三部分組成:主引導記錄,硬盤分區表和硬盤有效標志,其中主引導記錄占用446byte,硬盤分區表占用64byte,硬盤有效標志占用2byte,通常為55AA.
4.由MBR來加載CentOS系統的開機系統管理程序GRUB(GRand Unitifed Bootloader),也就是/boot/grub/grub.conf文件.grub.conf**這個文件的內容如下:
#指定默認加載第一個系統,如果沒有這一項,用戶不選擇的話,系統默認會一直停在這里 default=0 #開機菜單顯示的時間,不建議設置太長時間 timeout=5 #開機菜單顯示時的背景圖,分辨率為640*480 splashimage=(hd0,0)/grub/splash.xpm.gz #這一項為默認隱藏菜單,可以省略 hiddenmenu #顯示的開機菜單 title CentOS 6 (2.6.32-642.el6.x86_64) #指定系統所在的硬盤的第一個分區 root (hd0,0) kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=234a19e9-96c4-4710-af9b-536fdefbe875 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet #指明內核kernel的地址,這里的根文件系統為/boot這個分區,后面接的是開機時內核加載的參數 #ro指定開機過程中,以ro(ready only)方式加載根文件系統 #root=UUID=234a19e9-96c4-4710-af9b-536fdefbe875為系統的真正的根,這里是用硬盤分區的UUID號指定的 #rd_NO_LUKS 的意思是說系統上禁用會被initrd或init腳本自動掛載的加密設備 #LANG=en_US.UTF-8指定系統所用的語言 #rd_NO_LVM為系統不啟用LVM邏輯卷 #rd_NO_MD 選項為系統禁用軟RAID設備 #SYSFONT=latarcyrheb-sun16選項為系統開機時所用的字體 #KEYBOARDTYPE=pc選項為指定鍵盤的類型 #KEYTABLE=us選項為指定美式鍵盤 #rd_NO_DM選項為不啟用硬RAID #rhgb選項為不顯示開機的畫面 #quiet選項指定系統開機過程中加載的各種信息不顯示出來 #指明initramfs.img文件的地址,這里默認的根系統為/boot分區 initrd /initramfs-2.6.32-642.el6.x86_64.img
5.依據GRUB中的信息,加載CentOS6系統的內核到內存中,并把內核解壓縮.
6.內核初始化完成后,會加載initramfs.img這個虛擬的文件系統,并根據initramfs.img提供的各種驅動探測加載主機上所有的硬件設備,然后以只讀的方式掛載根文件系統.
7.執行/sbin/init程序,讀取系統的/etc/inittab文件,取得系統的運行級別,同時運行/etc/rc.d/rc.sysinit程序,初始化系統的各種信息,比如:
讀取主機名hostname, 依據/etc/issue文件讀取系統的歡迎信息 激活udev和selinux 檢測根文件系統,并根據/etc/fstab文件來以讀寫方式重新掛載根文件系統 設置系統時鐘 激活swap分區 根據/etc/sysctl.conf文件設置內核參數 激活lvm及software raid設備 加載額外設備的驅動程序
8.根據系統的運行級別,運行/etc/rc.d/rc#.d/下的各種文件,這里所有的文件都是/etc/rc.d/init.d/目錄下文件的軟鏈接
這個文件夾下面的程序都是以K和S開頭的,基中 以K開頭的文件是在系統開機過程中要被運行的服務,K后面跟的數字表示的是服務的運行次序;數字越小,越先運行;數字越小的服務,通常都會依賴到別的服務, 以S開關的服務則表示的是系統在關機或是切換運行級別時要結束的服務,S后面跟的數字表示的是服務結束的次序;數字越小,越先被結束;數字越小的服務,通常為被依賴到的服務
9.正常級別下,前面的程序運行完畢后, 最后一個S99local的程序指向/etc/rc.d/rc.local這個腳本,用戶可以在這個腳本里可以寫入自己不方便或是不需寫入的系統服務腳本.
10.執行/bin/login程序,進入登錄狀態,等待用戶登錄
原創文章,作者:renpingsheng,如若轉載,請注明出處:http://www.www58058.com/75587