標籤:linux 啟動過程 grub mbr
啟動過程圖
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5D/23/wKiom1UiBnGijFTzAACWX8oH45Q798.jpg" title="啟動圖.png" alt="wKiom1UiBnGijFTzAACWX8oH45Q798.jpg" />
1、BIOS
A.post加電自檢,檢測電腦硬體
B.初始化,分配中斷號;外部裝置初始化和檢測
C.讀取CMOS資訊,根據啟動順序載入引導磁碟機的bootloader程式。交接工作給bootloader
2、MBR
解釋:狹義理解為引導程式;廣義理解為引導磁碟機的第一扇區
第一扇區結構:
446 |
64 |
2 |
代碼區(儲存引導程式) |
硬碟分區表DPT |
標誌位 |
3、Bootloader(grub)
從預先編排好的清單中選擇一個核心,用系統管理員指定好的參數來載入這個核心。系統啟動交給kernel控制,grub可以引導有兩(多)個核心的系統。
4、Kernel/initrd.img
a.系統初始化,載入各種模組
b.Initrd.img是一個虛擬檔案系統(由記憶體虛擬而成的硬碟映像檔案),目的是讓核心在虛擬檔案系統中執行某些檔案,用來載入各種模組。同時,識別載入真實的硬碟檔案系統。
c.在真正的檔案系統上執行啟動init進程
5、Init
a.運行 rc.sysinit 以便執行一些重要的系統初始化任務。在 RedHat 公司的 RHEL5 中(RHEL6 已經使用 upstart 了),rc.sysinit 主要完成以下這些工作。
l 啟用 udev 和 selinux
l 設定定義在/etc/sysctl.conf 中的核心參數
l 設定系統時鐘
l 載入 keymaps
l 使能交換分區
l 設定主機名稱(hostname)
l 根分區檢查和 remount
l 啟用 RAID 和 LVM 裝置
l 開啟磁碟配額
l 檢查並掛載所有檔案系統
l 清除到期的 locks 和 PID 檔案
b.運行/etc/rc.d/rc 指令碼。根據不同的 runlevel,rc 指令碼將開啟對應該 runlevel 的 rcX.d 目錄(X 就是 runlevel),找到並運行存放在該目錄下的所有啟動指令碼。每個 runlevel X 都有一個這樣的目錄,目錄名為/etc/rc.d/rcX.d。
c.運行/etc/rc.d/rc.local 指令碼。
Linux啟動過程