BIOS、MBR、GRUB、kernel

1:BIOS 它是一組固化到計算機主板上一個ROM芯片上的程序,它保存着計算機最重要的基本輸入輸出的程序、系統設置信息、開機後自檢程序和系統自啓動程序。主機上電後首先運行BIOS;它是一段固件程序,主板上面CMOS芯片裏寫好的;

 

 

2:

MBR(Main Boot Record 主引導記錄區) 位於整個硬盤的0磁道0柱面1扇區。不過,在總共512字節的主引導扇區中,MBR只佔用了其中的446個字節,另外的64個字節交給了DPT(Disk Partition Table硬盤分區表)(見表),最後兩個字節“55,AA”是分區的結束標誌。這個整體構成了硬盤的主引導扇區。(圖)

主引導記錄中包含了硬盤的一系列參數和一段引導程序。其中的硬盤引導程序的主要作用是檢查分區表是否正確並且在系統硬件完成自檢以後引導具有激活標誌的分區上的操作系統,並將控制權交給啓動程序。MBR是由分區程序(如Fdisk.exe)所產生的,它不依賴任何操作系統,而且硬盤引導程序也是可以改變的,從而實現多系統共存。
 
3:GNU GRUB(簡稱“GRUB”)是一個來自GNU項目的啓動引導程序。GRUB是多啓動規範的實現,它允許用戶可以在計算機內同時擁有多個操作系統,並在計算機啓動時選擇希望運行的操作系統。GRUB可用於選擇操作系統分區上的不同內核,也可用於向這些內核傳遞啓動參數。

            計算機啓動後,BIOS將尋找第一個可啓動的設備(通常爲硬盤),而後從MBR中載入啓動程序,然後把控制交給這段代碼。MBR位於硬盤的前512字節內。

GRUB 第一版本[編輯]

GRUB的步驟1包含在MBR中。由於受MBR的大小限制,步驟一所做的幾乎只是裝載GRUB的下一步驟(存放在硬盤的其它位置)。步驟1既可以直接裝載步驟2,也可以裝載步驟1.5:GRUB的步驟1.5包含在MBR後面的30千字節中。步驟1.5載入步驟2。

當步驟2啓動後,它將呈現一個界面來讓用戶選擇啓動的操作系統。這步通常採用的是圖形菜單的形式,如果圖形方式不可用或者用戶需要更高級的控制,可以使用GRUB的命令行提示,通過它,用戶可以手工指定啓動參數。GRUB還可以設置超時後自動從某一個內核啓動。

GRUB 第二版本[編輯]

與GRUB 第一版相似的是,boot.img像步驟1一樣在MBR或在啓動分區中,但是,它可以從任何LBA48地址的一個扇區中讀取,它(boot.img)將讀取core.img(產生於diskboot.img)的第一個扇區以用來後面讀取core.img的剩餘部分。core.img正常情況下跟步驟1.5儲存在同一地方並且有着同樣的問題,可是,當他被移動到一個文件系統或一個純粹的分區時會比在步驟1.5移動或刪除引起更少的麻煩。 一旦完成讀取,core.img會讀取默認的配置文件和其他需要的模塊。

當GRUB啓動後[編輯]

一旦選擇了啓動選項,GRUB把選擇的內核載入內存並把控制交給內核。在此步驟中,對於Windows之類不支持多啓動標準的操作系統,GRUB也可以通過鏈式啓動把控制傳給其它啓動器。在這種情況下,其它操作系統的啓動程序被GRUB保存了下來;與內核不同,其它操作系統如同直接自MBR啓動。類似Windows的啓動菜單,也許是另一個啓動管理器,它允許在多個不支持多啓動的操作系統中做進一步的選擇。(在已有Windows的系統上面,或者包含多個Windows版本的系統上安裝現代的Linux而不修改原操作系統,即屬於這類情況。)

 
總結:
       1)BIOS是主板CMOS芯片上的固件程序;
       2)GRUB是bootloader,分兩部分,stage1(boot.img存在MBR裏);stage2(core.img存在啓動分區裏"/boot/grub/grub.cfg");
       3)stage2引導內核;
     
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章