教你如何學(xué)習(xí)GRUB
rootnoverify (hd0,1)
makeactive
chainloader +1
boot
任何人都可以啟動(dòng)這個(gè)項(xiàng)目,而無(wú)須輸入密碼。
這有一個(gè)使用password命令的有趣的竅門。為了在缺省菜單列表或配置文件中隱藏某些項(xiàng)目,你可以使用下面的命令加載一個(gè)定制的列表:
password secret
在這個(gè)命令中,“secret”是密碼,而/boot/grub/secret-list.conf是密碼文件。這樣做之前,你要先進(jìn)入到根目錄或者給出全路徑名。例如:
password secret (hd0,4)/boot/grub/secret-list.conf
還有一個(gè)更重要的命令是“map”。當(dāng)你有兩塊硬盤,一個(gè)無(wú)法從第二塊硬盤啟動(dòng)的操作系統(tǒng),例如Windows,就可以使用map命令。例如,你能夠?qū)d0映射為hd1,將hd1映射為hd0。換句話說(shuō),你可以虛擬的交換兩個(gè)硬盤而啟動(dòng)所需要的操作系統(tǒng) 。命令形式如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
啟動(dòng)FreeBSD:
title FreeBSD 4.0
root (hd0,4,a)
kernel /boot/loader
boot
#----
這里我們調(diào)用了FreeBSD的啟動(dòng)管理器。Root (hd0,4,a)由四個(gè)參數(shù),是因?yàn)?p>FreeBSD對(duì)一個(gè)單獨(dú)分區(qū)進(jìn)行了虛擬分割。我們稱根分區(qū)為“a”。如果FreeBSD占
據(jù)了整個(gè)第二塊硬盤,這里就應(yīng)該是root (hd0,a)。這樣,就不是調(diào)用內(nèi)核而是調(diào)用FreeBSD的啟動(dòng)管理器,它要比調(diào)用內(nèi)核更易使用。
(注意:推薦在使用OpenBSD和GNU/Hurd之前,要先試一下鏈?zhǔn)郊虞d。)
現(xiàn)在你已經(jīng)完成了基本的GRUB編譯、安裝和配置。你對(duì)GRUB了解的越多,就越會(huì)發(fā)現(xiàn)GRUB是一種控制啟動(dòng)的易用和高效的方法。
各種GRUB命令:
default xx
表明xx是缺省的啟動(dòng)項(xiàng)目
timeout yy
表明在yy秒后缺省啟動(dòng)項(xiàng)目將啟動(dòng)
fallback zz
在第一個(gè)啟動(dòng)項(xiàng)目失敗后,過(guò)了timeout時(shí)間后,就將啟動(dòng)zz項(xiàng)目。
color
這個(gè)命令將生成彩色菜單。它的語(yǔ)法是:color normal current_selection。這兩個(gè)域都可以有兩個(gè)值,形如foreground/background。例如:
color green/black or light-gray/blue
你也可以使用相關(guān)的數(shù)字。
記?。核械闹刀际菑?開始,所以0是第一個(gè)
3.3 GRUB啟動(dòng)盤
要制作引導(dǎo)盤,需執(zhí)行一些簡(jiǎn)單的步驟。首先,在新的軟盤上創(chuàng)建 ext2 文件系統(tǒng)。然后,將其安裝,并將一些 GRUB 文件復(fù)制到該文件系統(tǒng),最后運(yùn)行 grub 程序,它將負(fù)責(zé)設(shè)置軟盤的引導(dǎo)扇區(qū)。
將一張空盤插入 1.44MB 軟驅(qū),輸入:
# mke2fs /dev/fd0
創(chuàng)建了 ext2 文件系統(tǒng)后,需要安裝該文件系統(tǒng):
# mount /dev/fd0 /mnt/floppy
現(xiàn)在,需要?jiǎng)?chuàng)建一些目錄,并將一些關(guān)鍵文件(原先安裝 GRUB 時(shí)已安裝了這些文件)復(fù)制到軟盤:
# mkdir /mnt/floppy/boot
# mkdir /mnt/floppy/boot/grub
# cp /boot/grub/stage1 /mnt/floppy/boot/grub
# cp /boot/grub/stage2 /mnt/floppy/boot/grub
再有一個(gè)步驟,就能得到可用的引導(dǎo)盤。
在linux bash中,從 root 用戶運(yùn)行“grub”,該程序非常有趣并值得注意,因?yàn)樗鼘?shí)際上是GRUB 引導(dǎo)裝入器的半功能性版本。盡管 Linux 已經(jīng)啟動(dòng)并正在運(yùn)行,您仍可以運(yùn)行 GRUB 并執(zhí)行某些任務(wù),而且其界面與使用 GRUB 引導(dǎo)盤或?qū)?GRUB 安裝到硬盤 MBR 時(shí)看到的界面(即GRUB控制臺(tái))完全相同。
在 grub> 提示符處,輸入:
grub> root (fd0)
grub> setup (fd0)
grub> quit
現(xiàn)在,引導(dǎo)盤完成了。
如果要把GRUB裝到硬盤上,也很容易。這個(gè)過(guò)程幾乎與引導(dǎo)盤安裝過(guò)程一樣。首先,需要決定哪個(gè)硬盤分區(qū)將成為 root GRUB 分區(qū)。在這個(gè)分區(qū)上,創(chuàng)建 /boot/grub 目錄,并將 stage1 和 stage2 文件復(fù)制到該目錄中,可以通過(guò)重新引導(dǎo)系統(tǒng)并使用引導(dǎo)盤,或者使用駐留版本的 GRUB 來(lái)執(zhí)行后一步操作。在這兩種情況下,啟動(dòng) GRUB,并用 root 命令指定 root 分區(qū)。例如,如果將 stage1 和 stage2 文件復(fù)制到 hda5 的 /boot/grub 目錄中,應(yīng)輸入 root (hd0,4)。接著,決定在哪里安裝 GRUB -- 在硬盤的 MBR,或者如果與 GRUB 一起使用另一個(gè)“主”引導(dǎo)裝入器,則安裝在特定分區(qū)的引導(dǎo)記錄中。如果安裝到 MBR,則可以指定整個(gè)磁盤而不必指定分區(qū),如下(對(duì)于 hda):
grub> setup (hd0)
如果要將 GRUB 安裝到 /dev/hda5 的引導(dǎo)記錄中,應(yīng)輸入:
grub> setup (hd0,4)
現(xiàn)在,已安裝 GRUB。引導(dǎo)系統(tǒng)時(shí),應(yīng)該立即以 GRUB 的控制臺(tái)方式結(jié)束(如果安裝到 MBR)?,F(xiàn)在,應(yīng)創(chuàng)建引導(dǎo)菜單,這樣就不必在每次引導(dǎo)系統(tǒng)時(shí)都輸入那些命令。
從軟盤啟動(dòng)grub
制作啟動(dòng)盤后可以用軟盤啟動(dòng)引導(dǎo)硬盤上的操作系統(tǒng), 插入制作好的啟動(dòng)軟盤,進(jìn)入BIOS設(shè)定軟盤啟動(dòng)。軟盤啟動(dòng)成功后就會(huì)進(jìn)入grub的命令行模式
grub>
要啟動(dòng)一個(gè)操作系統(tǒng),首先指定引導(dǎo)哪個(gè)分區(qū)上的系統(tǒng),例如要引導(dǎo)指第一個(gè)硬盤上的第一個(gè)分區(qū)的操作系統(tǒng),先鍵入
grub>root (hd0,0)
接著如果要啟動(dòng)的是Windows系統(tǒng),鍵入
grub>chainloader (hd0,0)+1
注意(hd0,0)要隨著硬盤和分區(qū)的不同而改變數(shù)字。
如果要引導(dǎo)Linux或其他系統(tǒng),應(yīng)鍵入
grub>kernel (hd0,0)/boot/vmlinuz root=/dev/hda1
注意hda1參數(shù)也要隨著硬盤和分區(qū)的不同而改變,如從第二個(gè)硬盤的第一個(gè)分區(qū)引導(dǎo)則用hdb1。
最后敲入boot就可以啟動(dòng)系統(tǒng)了。
在任何時(shí)候不能確定命令或者命令的參數(shù)都可以按Tab獲得相關(guān)的幫助。用上下鍵可以獲得命令的歷史記錄。其實(shí)這些命令就是menu.lst的啟動(dòng)描述,您也可以根據(jù)那些描述來(lái)自己鍵入啟動(dòng)命令,最后敲入boot就可以引導(dǎo)系統(tǒng)了。
4 GRUB的交互性
GRUB 最好的優(yōu)點(diǎn)之一就是其強(qiáng)健的設(shè)計(jì) -- 在不斷使用它時(shí)請(qǐng)別忘了這點(diǎn)。如果更新內(nèi)核或更改它在磁盤上的位置,不必重新安裝 GRUB。事實(shí)上,如有必要,只要更新 menu.lst 文件即可,一切將保持正常。
評(píng)論