linux 總共做的事可以分為五步來完成。
1 、 BIOS 加電自檢:
加電自檢,檢測硬體裝置。然後按照 cmos 上面的順序來搜尋處在活動狀態下的可以引導的裝置。可以是光碟機、軟盤、 USB 等。
2 、 載入主引導載入程式(MBR):
主載入程式是一個 512 位元組的映像。包含一點機器碼還有一個小的分割槽。
主載入程式的任務就是查詢並且載入處在硬碟分割槽上的次載入程式。通過分割槽表查詢活動分割槽,並將處在活動分割槽的次引導載入程式讀取到內存裏面執行。
3 、 載入次引導記載程式(GRUB)
次引導載入程式只要就是載入 linux 核心。
上一階段結束之後次引導載入程式就會在內存裏面跑起來。就會出現 GRUB 圖形介面,讓使用者選擇載入什麼樣的核心。
4 、 linux 核心映像:
使用者選擇要載入的核心之後,次引導載入程式(GRUB)就會根據/boot/grub.conf 配置檔案中所設定的資訊,從/boot/所在的分割槽上讀取 Linux 核心映像,然後把核心映像載入到內存中並把控制權交給 Linux 核心。
linux 核心獲得控制權之後開始幹自己的事
檢測硬體
解壓縮自己並安裝必要驅動
初始化與檔案系統相關的虛擬裝置,LVM 或 RAID
裝載根檔案系統,掛在根目錄下面
完成之後,linux 在程序空間裏面載入 init 程式,下面輪到 init 幹活
init 程序
init 是所有程序的發起者和控制者,所有的程序都由此衍生。
init 程序獲得控制權之後,它會執行/etc/rc.d/rc.sysinit 指令碼,根據裏面的程式碼設定環境變數、互聯網、啓動 swap 、檢查並掛載檔案系統、執行其他初始化工作。
至此,linux 啓動完成。
我們稍微總結一下:
首先是 BIOS 加電自檢,之後載入主引導載入程式、次引導載入程式,最後就是 linux 核心映像,完了把控制權交給 init 程序,完成初始化工作。
swap 分割槽是什麼?
類似 windows 系統中的虛擬內存,當實體內存不夠用的時候,使用 swap 中的內存。
原文連結:http://www.cnblogs.com/lamian/p/3971195.html