国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux啟動引導程序(GRUB)加載內核的過程

2024-08-27 23:56:29
字體:
來源:轉載
供稿:網友
在剛剛的啟動過程中,我們已經知道啟動引導程序(Boot Loader,也就是 GRUB)會在啟動過程中加載內核,之后內核才能取代 BIOS 接管啟動過程。如果沒有啟動引導程,那么內核是不能被加載的。

本節(jié),我們就來看看啟動引導程序加載內核的過程,當然 initramfs 這個虛擬文件系統也是要靠啟動引導程序調用的。在 CentOS 6.x 中,啟動引導程序默認是 GRUB,GRUB 是現在最為流行的啟動引導程序,我們也用 GRUB 來說明啟動引導程序的作用。

早期的 LILO 引導程序已經不是很常見了,GRUB 相比來講有很多優(yōu)勢,主要有:
  • 支持更多的文件系統。
  • GRUB 的主程序可以直接在文件系統中查找內核文件。
  • 在系統啟動時,可以利用 GRUB 的交互界面編輯和修改啟動選項。
  • 可以動態(tài)修改 GRUB 的配置文件,這樣在修改配置文件之后不需要重新安裝 GRUB,而只需重新啟動就可以生效。

GRUB加載內核的過程

GRUB 的作用有以下幾個:
  • 加載操作系統的內核;
  • 擁有一個可以讓用戶選擇的的菜單,來選擇到底啟動哪個系統;
  • 可以調用其他的啟動引導程序,來實現多系統引導。

按照啟動流程,BIOS 在自檢完成后,會到第一個啟動設備的 MBR 中讀取 GRUB。在 MBR 中用來放置啟動引導程序的空間只有 446 Byte,那么 GRUB 可以放到這里嗎?答案是空間不夠,GRUB 的功能非常強大,MBRM 空間是不夠使用的。那么 linux 的解決辦法是把 GRUB 的程序分成了三個階段來執(zhí)行。

Stage 1:執(zhí)行GRUB主程序

第一階段是用來執(zhí)行 GRUB 主程序的,這個主程序必須放在啟動區(qū)中(也就是 MBR 或者引導扇區(qū)中)。但是 MBR 太小了,所以只能安裝 GRUB 的最小的主程序,而不能安裝 GRUB 的相關配置文件。這個主程序主要是用來啟動 Stage 1.5 和 Stage 2 的。

Stage 1.5:識別不同的文件系統

Stage 2 比較大,只能放在文件系統中(分區(qū)),但是 Stage 1 不能識別不同的文件系統,所以不能直接加載 Stage 2。這時需要先加載 Stage 1.5,由 Stage 1.5 來加載不同文件系統中的 Stage 2。

還有一個問題,難道 Stage 1.5 不是放在文件系統中的嗎?如果是,那么 Stage 1 同樣不能找到 Stage 1.5。其實,Stage 1.5 還真沒有放在文件系統中,而是在安裝 GRUB 時,直接安裝到緊跟 MBR 之后的 32KB 的空間中,這段硬盤空間是空白無用的,而且是沒有文件系統的,所以 Stage 1 可以直接讀取 Stage 1.5。讀取了 Stage 1.5 就能識別不同的文件系統,才能加載 Stage 2。

Stage 2:加載GRUB的配置文件

Stage 2 階段主要就是加載 GRUB 的配置文件 /boot/grub/grub.conf,然后根據配置文件中的定義,加載內核和虛擬文件系統。接下來內核就可以接管啟動過程,繼續(xù)自檢與加載硬件模塊了。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 虎林市| 雅安市| 仙游县| 永顺县| 海丰县| 临西县| 兴和县| 白城市| 新巴尔虎左旗| 枝江市| 图片| 襄樊市| 江北区| 志丹县| 米泉市| 北辰区| 彰化市| 旬阳县| 万载县| 克拉玛依市| 和田市| 龙游县| 岐山县| 焉耆| 龙岩市| 桦南县| 江北区| 黔南| 普宁市| 陇西县| 和田市| 祁阳县| 六盘水市| 海丰县| 珲春市| 德化县| 铁岭县| 张家口市| 平湖市| 博罗县| 锡林郭勒盟|