Linux 系統啓動流程及其介紹

        熟悉Linux系統啓動流程可以更好的排除Linux系統在啓動的過程中所遇到的錯誤,下面介紹Linux系統在啓動過程。

       開機,BIOS自檢:檢測外置設備,目的是爲了把外圍設備的信息提供給操作系統使用
尋找啓動磁盤(boot disk) ,然後尋找尋找硬盤的第一個扇區(MBR  master boot record  主引導記錄),如果主啓動扇區沒有存儲操作系統,則尋找磁盤中標記被啓動分區的第一個扇區中的操作系統,若在找不到則會/boot 目錄下進行尋找,存儲操作系統信息的空間只有446字節。

      找到操作系統內核之後載入內核,內核需要做的是檢測硬件,驅動硬件,之後將以只讀的方式掛載根文件系統(以只讀的方式掛載最主要的目的就是爲了安全),掛載的根文件系統至少包括以只讀形式掛載根文件系統:/etc /bin /sbin /lib /dev,,然後掛載在根目錄下的init服務,啓動init服務系統尋找的過程:/sbin/init   /etc/init   /bin/init   若上述目錄中沒有找到則會給出一個/bin/sh  讓我們自己手動輸入init程序的位置,若沒有找到導致系統啓動不起來則會出現類似kernel......kill init這樣的字樣,這說明init程序沒有找到。對應init的介紹下面將會詳細介紹。
 

      然後分別啓動初始化系統環境:/etc/rc.d/rc.sysinit   /etc/rc.d/rc   /etc/rc.d/rc.local

rc.sysinit 是系統初始化腳本,位於"/etc/rc.d/rc.sysinit",這是在inittab(下面將會說到)配置文件中預先設置好的。

rc.sysinit主要完成的工作如下:

啓動udev和selinux子系統:udev負責管理 /dev中的設備文件,selinux可增強linux系統的安全性,selinux的配置文件位於 /etc/selinux/config  雖然可以增加安全性,但是不建議開啓,開啓selinux後會佔用20%的系統資源。
設置內核參數:sysctl -p 可以重新加載內核,從/etc/sysctl.conf中加載內核參數
設置系統時間:將硬件時間設置爲linux系統時間
加載鍵盤對應表:保證輸入正確的字符
啓動swap:swapon -a -e根據/etc/fstab的設置啓動所有交換空間
設置主機名:/etc/sysconfig/network的HOSTNAME                                                       
檢查掛載文件系統:以讀寫的形式掛載所有文件系統,以便寫入數據
初始化硬件設備:試着驅動剩餘的硬件設備
加載模塊:根據/etc/modprobe.conf中的信息加載模塊
ISA PnP硬件設備:ISA(總線) PnP(即插即用)
USB設備
啓動軟件磁盤陣列與LVM
卸載/initrd:節省系統資源
初始化串行端口設備:
清除過期的鎖定文件:鎖定文件的作用是爲了保證只有一個實例運行。
重設磁盤參數:根據/etc/sysconfig/harddisk來設置磁盤參數
 

rc:同樣由init進程進行調用,文件位於"/etc/rc.d/rc" rc腳本通過指定不同的級別參數分別加載及終止不同的系統服務,進入相應的系統運行級別。

rc.local

建立用戶接口
建立虛擬控制檯:/bin/login
建立圖形接口:啓動圖形界面
 

管理init服務

管理init服務:建立系統使用環境 確保系統運行 監控周邊設備 處理ctrl+alt+del PID恆爲1 只能被重啓不能被停止,重啓命令如下

重啓init服務
init q
kill -HUP 1
telinit q

配置init服務
/etc/inittab

ID:RUNLEVELS:ACTIONS:PROCESS
ID:init服務參數識別名稱,由1-4個字符組成
RUNLEVELS:在哪個運行級別調用
ACTIONS:init服務執行程序的方法
PROCESS:執行文件的位置,必須爲絕對路徑


ID字段內容
id:定義linux默認運行級別
si:系統初始化要執行的程序
l0-l6:進入到不同的運行級別時,要執行的動作
ca:攔截到ctrl+alt+del事件系統要執行的工作
pf:電源失效的時候要執行的工作
pr:電源恢復的時候要執行的工作
N:如何啓動第N個控制檯
x:啓動圖

管理啓動加載器
啓動加載器的作用是用加載操作系統內核,並傳遞一些參數給內核
GRUB   LILO

grub的特性
修改配置文件後,不需要重新安裝
可加密

e 編輯選擇的項目
a 在啓動操作系統前,修改啓動參數
c 進入到grub的命令行模式
p 輸入grub密碼
enter 確認
esc 返回/不保存退出
o 新增一行設置
d 刪除選擇的設置
配置文件
/boot/grub/grub.conf
安裝grub
grub-install /dev/hda   /dev/sda

第二種方法:

grub--root (hd0,0)-- setup(hd0)



 



 





 

 

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章