http://www.suse.url.tw/sles10/
1. Boot Loader 概要:BIOS 儲存在 CMOS RAM 中的 BIOS 設定
b. 開機自我測試 (Power On Self Test : POST)
c. BIOS 將依照 CMOS 中所設定的開機順序來依序尋找可開機裝置,如果這個裝置是硬碟的話,那就會先去讀取硬碟的第 0 個磁柱的第 0 個磁頭的第一個磁區 (最前面 512 bytes 的磁區),也就是 MBR (Master Boot Record)
2. MBR
a. MBR 內主要是存放著 Boot Partition Loader (BPL : 分割區引導程式) 及 partition table
b. partition table 是包含著四個分割區的紀錄 (以 hda 來說為 hda1 ~ hda4),比如起始、結束磁柱的資訊及哪個 partition 有設定啟動旗標 (Active) 等
c. MBR 上的小程式 (BPL) 就會根據 partition table 裡有設定 Active 旗標的那個 partition,而載入該 partition 的 boot sector,以完成後續的開機作業
3. Boot Loader
a. Win NT 系列也有它們自己的 Boot Manager 叫 ntldr,不過這個 ntldr 是放在 partition 裡而非 MBR
b. Linux 的 Boot Loader 為一兩階段程式,第一階段可以放在 MBR 或 /boot 分割區的 boot sector 裡
c. MBR 一次只能安置一個 Boot Manager,比如之前您是使用 SPFDISK 來做開機管理,現在在安裝 Linux 時又把 Linux Loader 放在 MBR,那當然 MBR 裡的 Boot Manager 就變成是 Linux Loader 了
假設從硬碟開機,且 Linux Loader 是安裝在 MBR。
- 按下主機電源後,BIOS 做硬體偵測,並根據 CMOS 中的紀錄來決定開機裝置。
- 接著 BIOS 會載入 MBR 磁區,並將 Linux Loader 載入記憶體,接著主控權就交由 Linux Loader 來接管。
- 再來會看到一個開機選單畫面,來讓您選擇要開啟哪套作業系統。
- 選擇 Linux OS 並按下 Enter 鍵以後,Linux Loader 就把 Linux kernel 及 initramfs (註一) 載入記憶體,準備來進行一些初始化的工作。
- 在成功掛載根目錄檔案系統 (rootfs) 後,於 rootfs 中所執行的第一支程式為 init,其 PID 為 1。
- init 會載入 /etc/inittab (initial table) 的內容,並執行檔案內相關的 scripts。
- 最後就是執行 login 程式,此時會等待您輸入帳號密碼,如果認證無誤的話,就會開啟一個 shell 來讓您使用囉 !
開機過程的簡易流程圖
沒有留言:
張貼留言