從Red Hat Linux 7.2起,GRUB(GRand Unified Bootloader)取代LILO成為了默認的啟動裝載程序。相信LILO對於大家來說都是很熟悉的。這次Red Hat Linux用GRUB代替LILO,可見GRUB大有過人之處。不過,相對於LILO來說,大家對GRUB還是要陌生一些。本文將對GRUB的基本情況、術語、接口、命令以及配置文件做個介紹,希望對大家有所幫助。 一、GRUB的概述 在Red Hat linux裝載一個系統前,它必須由一個引導裝載程序(boot loader,啟動管理程序)中的特定指令告訴它去引導系統。這個程序一般是位於系統的主硬盤驅動器或是其他知道如何去開始linux內核的媒介驅動器上。 如果說一個x86系統只安裝了Red Hat Linux而且只有一個版本的linux內核,那麼通過引導裝載程序開始Red Hat Linux的特定過程就不重要了。Red Hat Linux安裝程序允許用戶快速方便地配置引導裝載程序存放在主硬盤驅動的主引導記錄中來引導操作系統。 然而,為了能從多個linux內核或其他操作系統引導,那麼就很有必要了解Red hat linux用於提供必要的引導選項的方法,以及理解引導的過程與如何去改變。 本文是討論GRUB,它是Red Hat Linux用來在x86系統上裝載操作系統的默認方法。同時,本文也將詳細介紹用於控制引導過程的各種命令和配置選項。 GRUB的定義 GNU GRUB(GRand Unified Bootloader)是一個將引導裝載程序安裝到主引導記錄的程序,主引導記錄是位於一個硬盤開始的扇區。它允許位於主引導記錄區中特定的指令來裝載一個GRUB菜單或是GRUB的命令環境。這使得用戶能夠開始操作系統的選擇,在內核引導時傳遞特定指令給內核,或是在內核引導前確定一些系統參數(如可用的RAM大小)。 x86的引導過程 當一個x86機器啟動後,系統BIOS開始檢測系統參數,如內存的大小、日期和時間、磁盤設備、以及這些磁盤設備用於引導的順序等。通常情況下,BIOS都是被配置成首先檢查軟驅或光驅(或兩者都檢查),然後再嘗試從硬盤引導。如果在這些可移動的設備中,沒有找到可引導的介質,那麼BIOS通常是轉向第一塊硬盤最初的幾個扇區,尋找用於裝載操作系統的指令。這些最初的扇區-主引導記錄-開始裝載一個預選擇操作系統的過程,一個操作系統選項販GRUB菜單,或是一個執行特定選項的GRUB命令行接口。 裝載GRUB和操作系統的過程,包括以下幾個操作步驟: 1、裝載基本的引導裝載程序,這通常是第一步。基本引導裝載程序必須是位於主引導扇區中一個非常小的空間,少於512字節。因此,基本引導裝載程序所做的唯一的事情就是裝載第二引導裝載程序。這主要是歸結於在主引導扇區中沒有足夠的空間用於其他東西了。 2、裝載第二引導裝載程序,這通常稱為第二步。這第二引導裝載程序實際上是引出更高級的功能 ,以允許用戶裝載入一個特定的操作系統。在GRUB中,這步是讓用戶顯示一個菜單或是輸入命令。 3、裝載在一個特定分區上的操作系統,如linux內核。一旦GRUB從它的命令行或是配置文件中,接到開始操作系統的正確指令,它就尋找必要的引導文件,然後把機器的控制權移交給操作系統。