話說CentOS6的啟動流程

2021-09-03 00:08:26 字數 3053 閱讀 999

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程式,進入登入狀態,等待使用者登入

CentOS 6啟動流程

載入bios的硬體資訊,獲取第乙個啟動裝置 讀取第乙個啟動裝置mbr的引導引導程式 grub 的啟動資訊 載入核心作業系統的核心資訊,核心開始解壓縮,並嘗試驅動所有的硬體裝置 核心執行init程式,並獲取預設的執行資訊 init程式執行 etc rc.d rc.sysinit檔案,重新掛載根檔案系統...

centos6 啟動流程

具體過程 1 載入bios的硬體資訊,執行bios內建程式。2 讀取mbr master boot record 中boot loader中的引導資訊。3 載入核心kernel boot到記憶體中。4 核心開始執行 sbin init,並載入 etc inittab,執行rc.sysinit進行初始...

CentOS6和CentOS7的啟動流程介紹

1.開機 2.bios開機自檢 檢查cpu 記憶體 陣列卡 硬碟 遠端卡 網絡卡 以及usb外部裝置 3.mbr引導 4.grub選單 5.載入核心 6.執行init程序 7.讀取 etc inittab 8.讀取 etc rc.sysinit進行系統的初始化 9.根據執行級別啟動相應的指令碼檔案 ...