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 、root、k e rne l、initrd 四條命令。對於不同的 L inux 操作系統(或同一系統的不同內核版本),需要根據內核文件實際的位置和名稱進行啓動行的配置,即 title 、root、kernel 和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 、root、m 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