ideal(2001-03-31 20:36)
1. 什么是grub
grub 是一個(gè)多重啟動(dòng)管理器。grub是GRand Unified Bootloader的縮寫(xiě),它可以在多個(gè)操作系統(tǒng)共存時(shí)選擇引導(dǎo)哪個(gè)系統(tǒng)。它可以引導(dǎo)的操作系統(tǒng)包括Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000。它可以載入操作系統(tǒng)的內(nèi)核和初始化操作系統(tǒng)(如Linux,FreeBSD),或者把引導(dǎo)權(quán)交給操作系統(tǒng)(如Windows 98)來(lái)完成引導(dǎo)。
2. grub的特點(diǎn)
grub可以代替lilo來(lái)完成對(duì)Linux的引導(dǎo),特別適用于linux與其它操作系統(tǒng)共存情況,與lilo相比,它有以下特點(diǎn):
支持大硬盤(pán)
現(xiàn)在大多數(shù)Linux發(fā)行版本的lilo都有同樣的一個(gè)問(wèn)題:根分區(qū)(/boot分區(qū))不能分在超過(guò)1024柱面的地方,一般是在8.4G左右的地方,否則lilo不能安裝,或者安裝后不能正確引導(dǎo)系統(tǒng)。而grub就不會(huì)出現(xiàn)這種情況,只要安裝時(shí)你的大硬盤(pán)是在LBA模式下,grub就可以引導(dǎo)根分區(qū)在8G以外的操作系統(tǒng)。
支持開(kāi)機(jī)畫(huà)面
grub支持在引導(dǎo)開(kāi)機(jī)的同時(shí)顯示一個(gè)開(kāi)機(jī)畫(huà)面。對(duì)于玩家來(lái)說(shuō),這樣可以制作自己的個(gè)性化開(kāi)機(jī)畫(huà)面;對(duì)于PC廠商,這樣可以在開(kāi)機(jī)時(shí)顯示電腦的一些信息和廠商的標(biāo)志等。grub支持640x480,800x600,1024x768各種模式的開(kāi)機(jī)畫(huà)面,而且可以自動(dòng)偵測(cè)選擇最佳模式,與Windows那320x400的開(kāi)機(jī)畫(huà)面不可同日而語(yǔ)。
兩種執(zhí)行模式
grub不但可以通過(guò)配置文件進(jìn)行例行的引導(dǎo),還可以在選擇引導(dǎo)前動(dòng)態(tài)改變引導(dǎo)時(shí)的參數(shù),還可以動(dòng)態(tài)加載各種設(shè)備。例如你在Linux下編譯了一個(gè)新的核心,但不能確定它能不能工作,你就可以在引導(dǎo)時(shí)動(dòng)態(tài)改變grub的參數(shù),嘗試裝載這個(gè)新的核心進(jìn)行使用。Grub的命令行有非常強(qiáng)大的功能,而且支持如bash或doskey一樣的歷史功能,你可以用上下鍵來(lái)尋找以前的命令。
菜單式選擇
在lilo下,你需要手工輸入操作系統(tǒng)的名字來(lái)引導(dǎo)不同的操作系統(tǒng)。而grub使用一個(gè)菜單來(lái)選擇不同的系統(tǒng)進(jìn)行引導(dǎo)。你還可以自己配置各種參數(shù),如延遲時(shí)間,默認(rèn)操作系統(tǒng)等。
分區(qū)位置改變后不必重新配置
lilo是通過(guò)讀取硬盤(pán)上的絕對(duì)扇區(qū)來(lái)裝入操作系統(tǒng),因此每次分區(qū)改變都必須重新配置lilo,例如你用PQ magic調(diào)整了分區(qū)的大小,那lilo在你重新配置好之前就不能引導(dǎo)這個(gè)分區(qū)的操作系統(tǒng)了。而grub是通過(guò)文件系統(tǒng)直接把核心讀取到內(nèi)存,因此只要操作系統(tǒng)核心的路徑?jīng)]有改變,grub就可以引導(dǎo)系統(tǒng)。 除此之外,Grub還有許多非常強(qiáng)大的功能。例如支持多種外部設(shè)備,動(dòng)態(tài)裝載操作系統(tǒng)內(nèi)核,甚至可以通過(guò)網(wǎng)絡(luò)裝載操作系統(tǒng)核心。Grub支持多種文件系統(tǒng),支持多種可執(zhí)行文件格式,支持自動(dòng)解壓,可以引導(dǎo)不支持多重引導(dǎo)的操作系統(tǒng)等。
3. grub的使用
安裝grub
如果已經(jīng)安裝了藍(lán)點(diǎn)Linux2.0則grub是默認(rèn)安裝的。要把grub重新安裝到主引導(dǎo)扇區(qū)上,只需要簡(jiǎn)單打入makebootable命令就可以了。
制作grub啟動(dòng)盤(pán)
首先確定grub已經(jīng)安裝,然后進(jìn)入grub的目錄,鍵入:
#cd /boot/grub
放入一張軟盤(pán),然后敲入命令:
#dd if=stage1 of=/dev/fd0 bs=512 count=1
#dd if=/stage2 of=/dev/fd0 bs512 seek=1
這樣就可以做好一張啟動(dòng)盤(pán)了。
開(kāi)機(jī)
安裝了grub開(kāi)機(jī)后會(huì)出現(xiàn)一個(gè)菜單,列出所有的啟動(dòng)選項(xiàng)。如果設(shè)置了啟動(dòng)畫(huà)面則會(huì)顯示啟動(dòng)畫(huà)面,按Esc鍵則可以取消啟動(dòng)畫(huà)面顯示菜單選項(xiàng)。藍(lán)點(diǎn)Linux所帶的grub的命令提示是全中文的,在菜單下面詳細(xì)列出如按e是編輯啟動(dòng)命令,按c是使用命令行等。用上下鍵可以選擇菜單項(xiàng),按回車啟動(dòng)所選項(xiàng)。按e鍵可以編輯所選項(xiàng)的啟動(dòng)命令,你可以用這個(gè)功能臨時(shí)改變你的系統(tǒng)的啟動(dòng)參數(shù),參見(jiàn)配置grub一節(jié)。按c鍵則進(jìn)入命令行模式。
在命令行模式下可以打入命令直接執(zhí)行,例如你可以敲入poweroff關(guān)閉計(jì)算機(jī)。按Tab鍵可以列出所有支持的命令。藍(lán)點(diǎn)Linux已經(jīng)把grub漢化了,其中一部分命令敲入名字后會(huì)給出中文提示,顯示命令的用法和參數(shù)。
4. 配置grub
grub啟動(dòng)時(shí)會(huì)在/boot/grub/中尋找一個(gè)名字為menu.lst的配置文件,如果找不到此文件則不進(jìn)入菜單模式而直接進(jìn)入命令行模式。
menu.lst 是一個(gè)文本文件,你可以用任何一個(gè)文本編輯器來(lái)打開(kāi)它。每一行代表一個(gè)配置命令,如果一行的第一個(gè)字符為井號(hào)"#"則這一行為注釋,你可以簡(jiǎn)單地用增加或減少注釋行來(lái)改變配置。
編輯menu.lst,一般會(huì)有以下各行
timeout second
設(shè)定在second秒之后引導(dǎo)默認(rèn)的操作系統(tǒng)。
藍(lán)點(diǎn)Linux默認(rèn)是timeout 5,就是5秒沒(méi)有其他指令就引導(dǎo)系統(tǒng),如果設(shè)成-1,則grub會(huì)一直等待直到用戶選擇一個(gè)選項(xiàng)為止。
default num
默認(rèn)啟動(dòng)第num+1行選項(xiàng),也就說(shuō)default=0則默認(rèn)啟動(dòng)菜單第一行的操作系統(tǒng),default=1則啟動(dòng)第2行的系統(tǒng),如此類推。
splash pathname/filename
指出開(kāi)機(jī)畫(huà)面的文件所存放的路徑和文件名,如 splash /boot/logo/800x600x8.img 是指用在/boot/logo路徑下的800x600.img文件作為開(kāi)機(jī)畫(huà)面
title OSname title
后面的字符就是你在菜單項(xiàng)上所看見(jiàn)的選項(xiàng),你可以寫(xiě)上操作系統(tǒng)的名字和描述,如用
title BluePoint Linux, Single Mode 代表這一選項(xiàng)是引導(dǎo)藍(lán)點(diǎn)Linux的單用戶模式。
下面結(jié)合兩個(gè)系統(tǒng)引導(dǎo)描述來(lái)解釋幾個(gè)引導(dǎo)選項(xiàng)的意義
title BluePoint Linux, Default Mode
root (hd0,1)
kernel /boot/vmlinuz vga=auto root=/dev/hda2
hd0是指第一個(gè)硬盤(pán)(主硬盤(pán)) (hd0,1)是指第一個(gè)硬盤(pán)的第二個(gè)分區(qū)。 kernel /boot/vmlinuz 是指出Linux核心的路徑在/boot/vmlinuz中。vga=auto 是設(shè)定顯示模式,root=/dev/hda2是指把第一個(gè)硬盤(pán)的第二個(gè)分區(qū)作為根掛載點(diǎn)("/")。
title Microsoft Windows
root (hd1,0)
chainloader (hd1,0)+1
root (hd1,0)這是指第二個(gè)硬盤(pán)(從硬盤(pán))上第一個(gè)分區(qū)
chainloader (hd1,0)+1 裝入一個(gè)扇區(qū)的數(shù)據(jù)然后把引導(dǎo)權(quán)交給它。
5. 從軟盤(pán)啟動(dòng)grub
制作啟動(dòng)盤(pán)后可以用軟盤(pán)啟動(dòng)引導(dǎo)硬盤(pán)上的操作系統(tǒng) 插入制作好的啟動(dòng)軟盤(pán),進(jìn)入BIOS設(shè)定軟盤(pán)啟動(dòng)。軟盤(pán)啟動(dòng)成功后就會(huì)進(jìn)入grub的命令行模式
grub>
要啟動(dòng)一個(gè)操作系統(tǒng),首先指定引導(dǎo)哪個(gè)分區(qū)上的系統(tǒng),例如要引導(dǎo)指第一個(gè)硬盤(pán)上的第一個(gè)分區(qū)的操作系統(tǒng),先鍵入
grub>root (hd0,0)
接著如果要啟動(dòng)的是Windows系統(tǒng),鍵入
grub>chainloader (hd0,0)+1
0 注意(hd0,0)要隨著硬盤(pán)和分區(qū)的不同而改變數(shù)字。 如果要引導(dǎo)Linux或其他系統(tǒng),應(yīng)鍵入
grub>kernel (hd0,0)/boot/vmlinuz root=/dev/hda1
注意hda1參數(shù)也要隨著硬盤(pán)和分區(qū)的不同而改變,如從第二個(gè)硬盤(pán)的第一個(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)了。
來(lái)源:
聯(lián)系客服