GRUB

GRUB啓動界面:

按鍵                說明

↑↓   使用上下箭頭鍵,在啓動菜單項間進行移動

enter  輸入回車鍵啓動當前的菜單項

e      選擇“e 鍵編輯當前的啓動菜單項

a      選擇“a 鍵追加內核的啓動參數

c      選擇“c 鍵進入GRUB的命令行方式

 

GRUB 菜單項編輯界面的按鍵:

按鍵                說明

↑↓  使用上下箭頭鍵,選擇菜單項中的行

b   選擇“b 鍵啓動當前的菜單項

e   選擇“e 鍵編輯當前選中的行

c   選擇“c 鍵進入GRUB的命令行方式

o   選擇“o 鍵在當前行後面插入一行

O  選擇“O 鍵當前行前面插入一行

d   選擇“d 鍵刪除當前行

Esc 選擇“Esc 鍵返回 GRUB 啓動菜單界面,取消對當前啓動菜單項所做的任何修改

 

GRUB交互界面對啓動菜單項進行的修改只會作用於本次啓動,並不會將已修改的內容自動保存到系統中,因此如果需要永久更改啓動項的配置,需要在 GRUB 的配置文件中進行修改。

 

GRUB 命令行操作界面下使用的常用命令及其功能:

命令                                   功能 

boot         引導先前已經被指定並載入的操作系統或鏈式裝載程序。

chainloader   將指定的文件作爲一個鏈式裝載程序載入,將啓動控制權轉交給另外的啓動引導器。 爲了獲取在一個指定分區第一扇區內的文件,使用+1 作爲文件名。

displaymem  顯示當前內存的使用情況,這個信息是基於 BIOS 的。這個命令有助於確定系統在引導前有多少內存。

initrd       使用戶能夠指定一個在引導時可用的初始 RAM 盤。當內核爲了完全引導而需要某些模塊時,這是必需的。

install p     安裝 GRUB 到系統的主引導記錄。這個命令允許系統重啓時出現 GRUB 接口。如果命令被執行,那麼除了 GRUB 信息之外的其他用於引導其他操作系統的信息都將丟失。

kernel       當使用直接載入方式引導操作系統時,kernel 命令指定內核從 GRUB 的根文件系統中載入。其後可以跟 options 選項使在內核載入時傳給內核。

 

GRUB啓動引導器的相關文件被缺省保存在“/boot/grub 目錄中,其中 menu.lst 文件是 GRUB 的主配置文件,GRUB 在啓動時就是根據該文件的配置內容顯示啓動菜單的。在 RedHat 系列的 Linux 系統中(包括 CentO S)更習慣於使用文件名 grub.conf 來作爲 GRUB 的配置文件。爲了保持與其他系統的兼容性和文件的一致性,CentOS 分別在“/boot/grub 和“/etc 兩個目錄中建立了名爲grub.conf 的符號鏈接文件指向真正的配置文件“/boot/grub/menu.lst”。

 

GRUB缺省配置:

# cat /boot/grub/menu.lst

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVolRoot

#          initrd /initrd-version.img

#boot=/dev/hda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-53.el5)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot

        initrd /initrd-2.6.18-53.el5.img

 

grub.conf 中常使用的配置命令:

配置命令                                            功能 

default < 菜單項序號>   設置啓動菜單的默認啓動項,菜單項序號參數其值從”0 開始,即”0 代表第1個菜單項,”1 代表第2個菜單項等等。

timeout < 延時秒數>     設置GRUB 菜單的啓動延時(以秒爲單位),即經過該延時後 GRUB 將自動啓動默認的菜單項。當 timeout 命令設置的延時秒數爲負數或不設置 timeout 命令時,GRUB 啓動菜單將取消啓動延時功能,用戶需手工選擇要啓動的菜單項。

title < 標題>            設置用來裝載一個操作系統的一組特定命令的標題,標題將在 GRUB 啓動菜單中顯示。

splashimage < 圖像文件全路名>  指定某文件作爲啓動菜單的背景圖像,該文件必須是 xpm 格式的圖像,可以是 gz 壓縮文件。

root <GRUB 的設備名稱>       設置 GRUB 的根分區(root),通常是文件系統的 boot 分區,即 Linux 內核所在的分區。

rootnoverify <GRUB的設備名稱> root 命令同樣的事情,只是不掛裝分區(用於啓動 Windows 系統)。 kernel                   kernel 命令後跟 Linux 內核文件作爲參數,加載 Linux 的內核文件。

initrd                   initrd 命令加載初始 RAM 磁盤鏡像文件。

map                   映射磁盤或分區在 BIOS 中的標誌符,用於啓動在第二個硬盤中的Windows

makeactive             設置根設備爲活動分區(針對於Windows不能從非活動分區啓動)。

chainloader             使用 chainloader 命令調用Windows分區的啓動引導器引導 Windows 系統。

 

要完成對 Linux 操作系統的引導至少要有 title rootk e rne linitrd 四條命令。對於不同的 L inux 操作系統(或同一系統的不同內核版本),需要根據內核文件實際的位置和名稱進行啓動行的配置,即 title rootkernel initrd 四條命令的命令參數需要具體設定。 下面是一個更新系統內核後的 GRUB 配置例子,可以選擇啓動不同的內核:

 

# 設置默認啓動第一個啓動項

default=0

# 設置 GRUB 菜單的啓動延時爲 5

timeout=5

# 指定啓動菜單的背景圖像位於 /boot/grub/splash.xpm.gz

splashimage=(hd0,0)/grub/splash.xpm.gz

# 設置 GRUB 菜單爲隱藏

hiddenmenu

# title 命令開始一個菜單項的配置

title CentOS (2.6.18-53.1.13.el5)

        # 設置 GRUB 的根分區(即 /boot 分區)

        root (hd0,0)

        # 設置 Linux 內核及參數

        kernel /vmlinuz-2.6.18-53.1.13.el5 ro root=/dev/VolGroup00/LogVolRoot

        # 設置初始 RAM 磁盤鏡像文件

        initrd /initrd-2.6.18-53.1.13.el5.img

title CentOS (2.6.18-53.el5)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot

        initrd /initrd-2.6.18-53.el5.img

 

W indows 的啓動菜單配置經常會使用 m ap rootm ak e active chainloade r 等命令。

1 Linux W indows 分別安裝在兩塊硬盤的情況:

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-53.el5)

        root (hd0,0)        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot

        initrd /initrd-2.6.18-53.el5.img

title Windows

        map (hd0) (hd1)

        map (hd1) (hd0)

        # 設置真實的 Windows 分區爲 GRUB 的根設備。

        rootnoverify (hd1,0)

        # 設置根設備爲活動分區(針對於 Windows 不能從非活動分區啓動)

        makeactive

        # 調用 Windows 分區的引導記錄引導 Windows 系統啓動

        chainloader +1

由於 Windows 系統自身只能安裝到主硬盤(系統中的第一塊硬盤)中的活動分區中進行引導啓動,因此在配置行中需要使用兩條 map 命令雙方向的映射兩塊硬盤在 BIOS 中的標誌符(目的是爲了迷惑 Windows 系統),並使用make active Windows 分區設置爲活動分區,這樣“chainloade r +1 命令才能夠使用 W indows 分區中的引導記錄啓動 Windows 系統。

 

2 Linux W indows 安裝在同一塊硬盤的情況:

下面是一個使用 GRUB 選擇啓動 W indows CentOS grub.conf 的另一個例子。在這個例子中,

Windows系統安裝在硬盤的第一個主分區,Linux 的引導系統在磁盤的第一個邏輯分區上:

 default=0

 timeout=5

 splashimage=(hd0,0)/grub/splash.xpm.gz

 hiddenmenu

 title CentOS (2.6.18-53.el5)

         root (hd0,5)

        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVolRoot

        initrd /initrd-2.6.18-53.el5.img

title Windows

        rootnoverify (hd0,0)

        chainloader +1

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