Linux 引導的六個步驟(啟動順序)

2021-06-20 07:42:38 字數 2384 閱讀 5483

按下系統的電源開關,過一會就可以看到linux的登入介面了。

你是否曾經想過,從按下電源開關到登入介面出現,這後面到底發生了什麼?

下面就來介紹一下典型linux引導的六大步驟:

bios表示基本輸入輸入系統(basic input/output system)

完成一些系統的完整性檢查

搜尋、載入並且執行引導程式(boot loader)

它在軟盤,cd-rom或者硬碟上尋找引導程式。你可以在系統啟動時按下鍵盤(通常是f12或者f2,但是因系統而異)來修改啟動順序

一旦引導程式被檢測到並且載入到記憶體,bios會將控制權移交給它

因此,簡而言之,biso負責載入並且執行mbr引導程式

mbr表示主引導記錄(master boot record)

它位於啟動盤的第乙個扇區。通常是/dev/hda,或者/dev/sda

mbr大小為512位元組。包括三個部分:1)在第乙個446位元組中包含主引導程式(primary boot loader);2)後面64位元組包含乙個分割槽表;3)最後兩位元組是乙個校驗碼

它包含了grub(老系統中可能是lilo)資訊

因此,簡而言之,mbr負責載入並且執行了grub引導程式

grub是多重引導管理器(grand unified bootloader)

如果你的系統中安裝了多個核心,你可以選擇啟動哪乙個

grub顯示了乙個啟動畫面,等待幾秒鐘,如果你不輸入任何東西,它將載入在配置檔案中指定的預設核心

grub能夠了解檔案系統的資訊(老一代的lilo就沒有這個能力)

grub配置檔案是/boot/grub/grub.conf(/etc/grub.conf是它的乙個鏈結檔案)。這是centos系統中grub.conf的樣例

#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title centos (2.6.18-194.el5pae)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-194.el5pae ro root=label=/
initrd /boot/initrd-2.6.18-194.el5pae.img
你可以注意到,這中間包含核心和initrd映像資訊

因此,簡而言之,grub負責載入並且執行核心和initrd映像。

按照grub.conf中「root="配置來掛載根檔案系統

核心執行/sbin/init程式

既然這是被linux核心執行的第乙個程式,它的程序id(pid)當然就是1了。執行」ps -ef | grep init"來檢視一下pid。

initrd表示initial ram disk

initrd被核心用作臨時的根目錄,直到核心啟動完成並且真正的根目錄掛載成功。它也包括一些編譯好的必要的驅動程式,這些程式有助於它訪問硬碟和其他硬體。

檢視/etc/inittab檔案來決定linux的執行級別(run level)

接下來是所有支援的執行級別

init程式從/etc/initab來確定預設的初始化級別,然後用來載入相應級別的程式

在你的系統上執行"grep initdefault /etc/inittab"來檢視預設的執行級別

如果你想找點麻煩,可以將預設執行級別設為0或6試試。既然你已經知道0和6的意思,那估計你不會那麼做

通常,預設執行級別會設定為3或者5

當linux系統起來後,你能夠看到各種各樣的服務也起來了。比如說,它可能會顯示「starting sendmail....ok"。這就是執行級程式,它們根據你在不同執行級別中的定義來執行不同目錄中的程式

根據你在預設執行級別的設定,系統將從下面幾個目錄中選擇乙個來執行相應的程式:

請注意在/etc目錄下也有這些目錄的符號鏈結。因此,/etc/rc0.d被鏈結到/etc/rc.d/rc0.d

在/etc/rc.d/rc*.d目錄中,你能夠看到很多開頭是s或者k的程式

以s開頭的程式在系統啟動時被執行。s表示啟動

以k開頭的程式在系統關機時被執行。k表示殺死(kill)

在程式名的s或k後面緊跟著乙個數字,這是程式在啟動或者關機時的執行序號。

例如,s12syslog用於啟動syslog守護程序,它的執行序號是12。s80sendmail用於啟動sendmail守護程序,它的執行序號是80。因此,syslog會在sendmail之前被啟動

搞清楚了吧,這就是linux啟動過程中發生的事情。

掌控情緒的六個步驟!!

發表於 2007年11月21日 22時45分53秒 許可權 公開 閱讀 15 掌控情緒的六個步驟!第一步 確認你真正的感受 掌控的第一步是覺察,用心的去觀察自己到底處於一種怎樣的情緒狀態下。經常人們並不確切知道自己真正的感受,只是一頭載進那些負面情緒裡,承受不當的痛苦折磨。其實他們並不需要這麼苦待自...

JDBC程式設計的六個步驟

jdbc程式設計的六個步驟 準備工作中匯入ojdbc檔案,然後右鍵選中新增路徑 build path 到oracle安裝目錄裡新增oracle的ojdbc.jar包 1 註冊驅動 class.forname oracle.jdbc.oracledriver 2 連線資料庫 string url jd...

確定IP位址元件的六個步驟方法

在給出乙個特定位址和子網掩碼並詢問該位址是網路位址 主機位址還是定向廣播位址時,應該使用以下列6個步驟 1 需要乙個ip位址和乙個子網掩碼。2 檢查子網掩碼並找到感興趣的8位位組。在掩碼中感興趣的8位位組就是可以在其中找到網路界限和主機界限的那乙個8位位組。在8位位組中包括以下掩碼值 0 128 1...