基本功能
GRUB是一個功能強大的多系統引導程序,專門處理Linux與其它操作系統共存的問題。
GNU GRUB 和GRUB是GRand Unified Bootloader的縮寫,用來引導不同系統,如windows,linux。
在X86架構的機器中,Linux、BSD或其它Unix類的操作系統中GRUB、LILO是大家最為常用,應該說是主流。
Windows也有類似的工具NTLOADER;比如我們在機器中安裝了Windows 98後,我們再安裝一個Windows XP,在機器啟動的會有一個菜單讓我們選擇進入是進入Windows 98還是進入Windows XP。NTLOADER就是一個多系統啟動引導管理器,NTLOADER同樣也能引導Linux,隻是極為麻煩罷了。
在PowerPC架構的機器中,如果安裝了Linux的Powerpc版本,大多是用yaboot多重引導管理器,比如Apple機用的是IBM PowerPC處理器,所以在如果想在Apple機上,安裝Macos 和Linux Powerpc版本,大多是用yaboot來引導多個操作系統。
因為X86架構的機器仍是主流,所以目前GRUB和LILO仍然是我們最常用的多重操作系統引導管理器。
引導過程
由硬盤啟動時,BIOS通常是轉向第一塊硬盤的第一個扇區,即主引導記錄(MBR)。
裝載GRUB和操作系統的過程,包括以下幾個操作步驟:
裝載記錄
基本引導裝載程序所做的唯一的事情就是裝載第二引導裝載程序。
裝載Grub
這第二引導裝載程序實際上是引出更高級的功能,以允許用戶裝載一個特定的操作系統。
裝載系統
如linux内核。GRUB把機器的控制權移交給操作系統。
不同的是,微軟操作系統都是使用一種稱為鍊式裝載的引導方法來啟動的,主引導記錄僅僅是簡單地指向操作系統所在分區的第一個扇區。
設備名稱
IDE硬盤用hd開始,SCSI硬盤用sd開頭。軟盤用fd開頭。命名和linux不大一樣。是從0算起。
(hd0,0)。表示C盤。
(hd0,4)。表示D盤。當然這裡指的是(第一個邏輯分區,如果D盤也是主分區,應該寫成hd0,1)
系統的第一個硬盤驅動器表示成(hd0),其上的第一個分區表示為(hd0,0),也就是說對于硬盤,采用(hdx,y)的形式來表示,x、y都是從0開始計數的,x表示硬盤号,y表示分區号。
由于主分區隻能有四個,所以第一硬盤的四個主分區分别用(hd0,0)~(hd0,3)來表示;邏輯分區則從(hd0,4)開始算,即第一邏輯分區用(hd0,),第二邏輯分區用(hd0,5)來表示,依次類推。
一般機子的硬盤都是一個主分區,其餘是邏輯分區。因此C盤用(hd0,0),D盤用(hd0,4)來表示。光盤用(cd)表示,第一軟驅用(fd0)表示。
文件系統
一些用戶常困惑于GRUB中根文件系統(root filesystem)這一術語的用法。GRUB的根文件系統與Linux的根文件系統是沒有關系的!
接口
當GRUB環境開始載入第二步引導裝載程序時,它尋找自己的配置文件(menu.lst)。當找到配置文件後,它使用這個配置文件建立一個要載入的操作系統的菜單列表,然後顯示引導菜單接口。
如果配置文件沒有被找到,或者如果配置文件不能讀取,那麼GRUB将載入命令行接口。
菜單接口
在菜單接口上,按[e]鍵,對高亮菜單項中的命令進行編輯。按[c]鍵載入一個命令行接口。添加(加在當前行後面(用[o]鍵),加在當前行前(用[0]鍵),編輯(用[e]鍵),删除(用[d]鍵)。
在所有的改變都完成後,用[Enter]鍵來執行這些命令,并引導操作系統。
命令接口
以下是幾個常用命令:
boot-引導先前已經被指定并載入的操作系統或鍊式裝載程序。
chainloader-将指定的文件作為一個鍊式裝載程序載入。為了獲取在一個指定分區第一扇區内的文件,使用+1作為文件名。
displaymem-顯示當前内存的使用情況,這個信息是基于BIOS的。這個命令有助于确定系統在引導前有多少内存。
initrd-使用戶能夠指定一個在引導時可用的初始RAM盤。當内核為了完全引導而需要某些模塊時,這是必需的。
install p-安裝GRUB到系統的主引導記錄。這個命令允許系統重啟時出現GRUB接口。
(警告:install命令将覆蓋主引導扇區中的其他信息。如果命令被執行,那麼除了GRUB信息之外的其他用于引導其他操作系統的信息都将丢失。在執行這條命令前,确定你對它有正确的了解。)
kernel-當使用直接載入方式引導操作系統時,kernel命令指定内核從GRUB的根文件系統中載入。
比如kernel /vmlinuz root=/dev/hda5
Vmlinuz是内核。它從GRUB的根文件系統載入的,如(hd0,0)。同時,後面一個選項被傳給内核。它指出當Linux内核載入時,内核的根文件系統應該是位于hda5,第一個IDE硬盤的第五個分區。
命令
color -設定在菜單中使用的顔色,一種是作為前景色,一種作為背景色。可以簡單地使用顔色名稱,如red/black。比如:
color red/black green/blue
default-默認項目的标題名稱。如果菜單接口超時,那它将被載入。
fallback-當這個命令被使用時,如果第一次嘗試失敗,那麼這個項目的标題名稱将被使用。
hiddenmenu-這個命令被使用時,它不顯示GRUB菜單接口,在超時時間過期後載入默認項。用戶通過按[Esc]鍵,可以看到标準的GRUB菜單。
timeout-這個命令設定了在GRUB載入由default命令指定的項目的時間間隔,以秒為單位。
splashimage-它指定在GRUB引導時所使用的屏幕圖像的位置。
title-設定用來裝載一個操作系統的一組特定命令的标題。
字符#用來在菜單配置文件放置注釋。



















