linux開機流程詳解

2021-07-22 19:54:29 字數 2126 閱讀 3871

載入 bios 的硬體資訊並進行自我測試,並依據謳定取得第乙個可開機的裝置;

讀取並執行第乙個開機裝置內 mbr 的 boot loader (亦即是 grub, spfdisk 等程式);

依據 boot loader 的設定載入 kernel ,kernel 會開始偵測硬體與載入驅動程式;

在硬體驅動成功後,kernel 會主動呼叫 init 程式,而 init 會取得 run-level 資訊;

init 執行 /etc/rc.d/rc.sysinit 檔案來準備軟體執行的作業環境 (如網路、時區等);

init 執行 run-level 的各個服務之啟動 (script 方式);

init 執行 /etc/rc.d/rc.local 檔案;

init 執行終端機**程式 mingetty 來啟動 login 程式,最後就等待使用者登入啦;

用來管理核心檔案的載入。這個裝置裝在開機裝置的第一扇區,也即是mbr(master boot record, 主要啟動記錄區)

問題

(1)必須要使用自己的 loader 才能夠載入屬亍自己的作業系統核心

(2)系統的 mbr 叧有乙個,那你怎麼會有辦法同時在一部主機上面安裝 windows 不 linux 呢

其實每個檔案系統 (filesystem, 或者是 partition) 都會保留一塊啟動扇區 (boot sector) 提供作業系統安裝 boot loader , 而通常作業系統預設都會安裝乙份loader 到他根目錄所在的檔案系統的 boot sector 上。如果我們在一部主機上面安裝 windows 不 linux 後,該 boot sector, boot loader 與 mbr 的相關性會有點像下圖:

在 linux 系統安裝時,你可以選擇將 boot loader 安裝到 mbr 去,也可以選擇不安裝。 如果選擇安裝到 mbr 的話,那理諱上你在 mbr 與 boot sector 都會保有乙份 boot loader 程式的。 至於 windows 安裝時,他缺省會主動的將 mbr 不 boot sector 都裝上乙份 boot loader!所以, 你會發現安裝多重作業系統時,你的 mbr 常常會被不同的作業系統的 boot loader 所覆蓋。

boot loader 主要的功能如下

1. 提供選單:使用者可以選擇丌同的開機專案,這也是多重引導的重要功能!

2. 載入核心檔案:直接指向可開機的程式區段來開始作業系統;

3. 轉交其他 loader:將開機管理功能轉交給其他 loader 負責。

而由於具有控制權轉交的功能,因此我們可以載入其他 boot sector 內的 loader !不過 windows 的 loader 預設不具有控制權轉交的功能,因此你不能使用 windows 的 loader 來載入 linux 的 loader !這也是為什麼 mbr 多重引導時,會特別強調先裝 windows 再裝 linux 的緣故。

虛擬檔案系統 (initial ram disk) 一般使用的檔名為 /boot/initrd ,這個檔案的特色是,他也能夠透過 boot loader 來載入到記憶體中, 然後這個檔案會被解壓縮並且在記憶體當中**成乙個根目錄, 且此**在記憶體當中的檔案系統能夠提供一支可執行的程式,透過該程式來載入開機過程中所最需要的核心模組, 通常這些模組就是 usb, raid, lvm, scsi 等檔案系統與磁碟介面的驅動程式!等載入完成後, 會幫核心重新呼叫 /sbin/init 來開始後續的正常開機流程。

如上圖所示,boot loader 可以載入 kernel 不 initrd ,然後在記憶體中讓 initrd 解壓縮成為根目錄, kernel 就能夠藉此載入適當的驅動程式,最終釋放虛擬檔案系統,並掛載實際的根目錄檔案系統, 就能夠開始後續的正常開機流程。

主機硬體準備就緒後,核心會主動呼叫第一支程式init

runlevel的7個等級:

LINUX開機流程詳解

from 在了解啟動流程之前,我們應該先知道系統的幾個重要指令碼和配置檔案,他們對應的路徑為 1.sbin init 2.etc inittab 3.etc rc.d rc.sysinit 4.etc rc.d rcn.d 這是幾個資料夾n代表數字1,2,3,4.5.etc fstab 檔案介紹 1...

linux系統開機流程詳解

今天,我們主要來談談計算機系統的啟動流程 1 bios啟動 bios是寫入到主機板上的乙個韌體 韌體就是寫入到硬體上的乙個軟體程式 開機的時候,bios是計算機系統會主動執行的第乙個程式。bios主要的乙個功能就是儲存了磁碟的啟動順序,它會按照啟動順序去讀取能夠開機的硬碟的第乙個扇區的mbr資訊 2...

Linux開機流程

1,bios自檢,檢測硬體,決定啟動介質 bios為寫入到主機板上的一塊快閃儲存器或eeprom的程式,它在開機時候執行,並通過bios程式去載入cmos的資訊,並通過cmos內的設定取得主機的各項硬體配置,bios程式也可以修改cmos當中的引數,一般使用del按鍵進入bios設定介面。2,從硬碟...