對于Linux想必大家應該都有一定的認識,今天想和大家分享一下自己的學習筆記--關于Linux的啟動流程的問題.如果了解windows 的啟動過程,那麼我相信Linux這一方面也應該不難!
對于下面這兩個圖,具體是怎麼個情況??下面就允許我為大家一一介紹吧!!
<a target="_blank" href="http://blog.51cto.com/attachment/201007/145427723.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201007/145537561.jpg"></a>
一、Linux啟動管理
Linux啟動的引導程式主要有兩種,lilo,Grub;現在lilo 已經被淘汰,而Grub可以引導多種作業系統!
首先我先簡單介紹一下啟動過程:剛開始的時候,計算機中的BIOS進行加電自檢(POST),檢測一些硬體是否能正常工作,然後BIOS讀取硬碟中的0柱面、0磁頭、1扇區來尋找MBR記錄,接下來BIOS
将控制權交給MBR 中的引導程式、引導程式讀取分區表來尋找引導扇區,引導扇區中的引導程式開始加載啟動的一些配置檔案grub.conf和windows 中的boot.ini 類似(在後面我會介紹),接着螢幕上會出現作業系統的選項,回車選擇Linux 系統後,引導程式開始加載Linux 核心,加載父程序,子程序,初始化記憶體……
Linux大緻的啟動過程就是這樣,現在就開始具體的詳細的過程吧
1、 GRUB的結構
第一部分:引導程式,駐留在MBR中,負責加載作業系統;
第二部分:配置檔案,存儲于檔案系統中,記載作業系統的分布
2、GRUB的配置檔案
存儲位置:/boot/grub/grub.conf
利用VI 編輯打開如圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201007/145609908.jpg"></a>
全局配置:
Default=0 //預設進入第幾個作業系統
Timeout=5 //逾時等待時間(選擇進入操縱系統的時間)
Splashimage //開機的畫面
Hiddenmenu //隐藏系統選擇菜單
啟動配置:
Title // 菜單說明
Root (hd0,0) //定義作業系統的核心所在的磁盤分區 即:第一 塊磁盤的第一個分區
Kernel //加載核心 /vmlinuz-2.6.18-8.el5 核心存放位置 ro 以隻讀方式挂接 root=LABEL=/ 定義根的卷标
Rhgb //一圖形界面方式 啟動OS,
Quiet //安靜模式下,啟動作業系統(不會顯錯誤資訊)
二、啟動流程
Linux 核心啟動後,首先加載是init 程序(系統父程序),程序的配置檔案 inittab,存放路徑:/etc/inittab 用VI 編輯器打開,如圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201007/145641133.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201007/145725217.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201007/145744521.jpg"></a>
檔案的結構:指令代碼:運作級:指令操作:指令
運作級我們可以了解為,作業系統運作不同的環境,Linux預設有7個運作級
如圖在注釋中:
0 –halt (Do NOT set initdedault to this) //關機模式
1 –single user mode // 單使用者模式 管理者維護模式 (以空密碼進入)
2—multeruser mode without NFS //多使用者模式 ,不支援NFS 檔案系統 (沒有網絡功能)
3—full multiuser mode //多使用者模式,文字界面
4—unused // 保留模式
5—X11 圖形界面的完整使用者模式
6—reboot (Do not set initdeault to this)
介紹完 運作級以後,我們來讨論 系統的啟動流程吧!
Si::sysint:/etc/rc.d/rc.sysinit //标記 init 程序 首次讀取 /etc/inittab 檔案時應執行的操作 rc.sysinit 系統初始化腳本
系統初始化完成後,init 程序開始選擇進入哪一個運作級
Id:5:initdefault: // 啟動運作級,辨別系統啟動後進入哪一個運作級(LOOK:注意:該指令操作隻能有一個,若在此處沒有指明系統進入那一個運作級,開機時将詢問使用者)
系統選擇指定的運作級後,接下來時下面的操作:
L0:0:wait:/etc/rc.d/rc 0 //系統進入到特定的運作級後要執行的指令
Rc 0 運作級初始化腳本
運作級初始化完成後,我們可以看到歡迎的登入的界面!
Inittab 配置檔案中的其他幾個選項,我也簡單說一下!
Ca::ctrlaltdel:/sbin/shutdown –t3 r now //表示是否使用 熱鍵:ctrl+alt+del 來使機器重新開機!
Pf::powerfail:/sbin/shutdown –f –h +2 “Power Failure;System Shutting Down ” //表示 UPS 發出斷電信号後的操作,(系統将在兩秒後關閉)
Pr:12345:powerokwait:/sbin/shutdown –c “Power Restored;shutdown Cancelled” // 表示UPS 付出電源恢複信号 後的操作:(系統取消關機的操作)
X:5:respawn:/etc/x11/prefdm –nodaemon //表示程序中斷後立即重新開機!
好啦。Linux 的啟動過程我已經介紹完畢,有什麼錯誤的地方還請大家指出!
本文轉自 位鵬飛 51CTO部落格,原文連結:http://blog.51cto.com/weipengfei/342235,如需轉載請自行聯系原作者