分享
 
 
 

GRUB基本使用說明

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

GRUB是一個多重開機管理工具,它可用來啟動Linux、BSD、OS/2、BeOS與Windows95/98/NT等眾多作業系統,GRUB是一個獨立於作業系統之外的開機程式,並不像LILO是依靠Linux才能進行設定與維護,也提供了類似Bash的命令列模式,讓使用者更方便地設定GRUB。

取得與安裝GRUB:

GRUB的原始碼壓縮檔可至GNU的ftp站台( ftp://alpha.gnu.org/gnu/GRUB/ )下載最新版本 ,下載回來後可存放在/usr/local/src/目錄下並將其解壓縮:

cp grub.tar.gz /usr/local/src/

tar zxvf grub.tar.gz

在GRUB的目錄下執行configure檔、make與make install,如下:

./configure

make

make install

當make install完成後GRUB也已順利安裝完畢,並有三個指令檔也被安裝至系統中:grub、grub-install與mbchk。而GRUB的相關檔案通常被安裝到/usr/local/share/grub的目錄下。

接下來先假設硬碟分割如下:

hda1:Windows98 (hd0,0)

hda2:Slackware Linux (hd0,1)

hdb1:Mandrake Linux (hd1,0)

注意的是GRUB認硬碟的方式跟Linux是不一樣的,在Linux中第一顆IDE硬碟是hda(SCSI:sda)以此類推,而GRUB則將第一顆IDE硬碟視為hd0(SCSI:sd0)以此類推;在Linux中第一顆IDE硬碟的第一個分割區是hda1(SCSI:sda1)以此類推,而GRUB將第一顆IDE硬碟的第一個分割區表示為hd0,0(SCSI:sd0,0)以此類推。

製作GRUB啟動磁片:

製作GRUB啟動磁片其實不難,首先需要兩個必備檔案,分別是stage1與stage2,可以在GRUB的安裝目錄下的i386-pc目錄中找到這兩個檔案,以及一片已格式化的乾淨磁片,然後依照下面的製作步驟就可製作出GRUB的啟動磁片:

cd /usr/local/share/grub/i386-pc/

dd if=stage1 of=/dev/fd0 bs=512 count=1

dd if=stage2 of=/dev/fd0 bs=512 seek=1

製作好了GRUB的開機磁片之後,就可以試著使用GRUB來進行多重作業系統的開機啟動。

利用GRUB開機磁片啟動系統:

接著重新啟動系統並設定BIOS由磁片開機,然後就可以看到grub>的命令列正等待指令,這就是GRUB的命令列環境,表示GRUB已順利地從啟動磁片載入並正常運作當中了。現在假設要啟動上述的Slackware Linux的話,在GRUB提示符號下鍵入如下的指令,如此就會進入Slackware Linux系統:

grub> root (hd0,1)

grub> kernel /boot/vmlinuz root=/dev/hda2 ro

grub> boot

root指令會mount後面參數的硬碟分割區位置。當mount完成後kernel指令會載入其參數的系統核心,Linux的核心通常是在/boot目錄下名為vmlinuz的檔案。最後的兩個參數都是要傳給剛載入的核心,root=/dev/hda2是告訴核心根目錄的位置是在/dev/hda2,並要求掛載成唯讀(ro)。

最後執行boot指令以進行Slackware系統的開機啟動。同理,位在hdb1上的Mandrake Linux也可以用類似的方式啟動:

grub> root (hd1,0)

grub> kernel /boot/vmlinuz root=/dev/hdb1 ro

grub> boot

現在root指令改mount (hd1,0)的分割區,此分割區就是Mandrake Linux的根目錄位置。然後kernel指令載入Mandrake的核心檔,告訴核心Mandrake系統的根目錄是在/dev/hdb1,並要求掛載成唯讀。最後以boot指令進行系統的啟動。

以上的方式都可以順利地啟動Linux系統,但是對Windows系統可是不管用的,要啟動在hda1上的Windows98的話,則要換些指令才行得通,請在GRUB命令列中依序鍵入下列指令就可以進入Windows98:

grub> rootnoverify (hd0,0)

grub> chainloader +1

grub> makeactive

grub> boot

以rootnoverity指令讓GRUB不要mount (hd0,0)的分割區,只要知道待會是要啟動此分割區上的作業系統。chainloader +1的意思是指定此分割區上的第一個磁區來做啟動。makeactive指令是要在此分割區上設定active的旗標,只要是Windows的作業系統都是要這麼做的。最後以boor指令進行開機。

使用硬碟上的GRUB開機啟動:

GRUB的開機磁片固然方便好用,但製作GRUB開機磁片的目的只在於系統救援之用,要能確實享用GRUB的強大功能,最好是可以用硬碟上的GRUB來進行開機,就像LILO一樣安裝到硬碟的MBR上。

首先要在系統上建立GRUB專用的開機目錄/boot/grub,如同製作GRUB的開機磁片一樣須要stage1檔和stage2檔,所以請把GRUB安裝目錄下的i386-pc目錄中的stage1檔和stage2檔copy到剛剛建立的/boot/grub目錄底下:

mkdir /boot/grub

cp /usr/local/share/grub/i386-pc/stage* /boot/grub

完成之後鍵入指令GRUB指令進入GRUB命令列環境,在GRUB命令列環境裡鍵入如下的指令:

grub> root (hd0,2)

grub> setup (hd0)

grub> quit

如此即可完成GRUB在/boot/grub中的開機設定,先用root指令mount目錄/boot/grub所在的位置,其中的(hd0,2)就是指上面假設的Slackware系統,也就是說/boot/grub目錄是在Slackware系統中所建立的。所若是要改成由Windows98來放置GRUB的stage檔的話,就要在Windows98的系統上建立/boot/grub的目錄,並將stage1檔和stage2檔存放在Windows98上的\boot\grub目錄裡,而root指令的參數也要改為Windows98所在的分割區,也就是上面假設的(hd0,0)。第二個指令setup是指要將GRUB安裝在哪個位置來開機啟動,如果是要安裝到硬碟的MBR上的話只須加上硬碟的位置如(hd0),若是要安裝到硬碟第一個分割區上的第一個磁區的話就要加上分割區的位置如(hd0,0)。

除非是有特殊的情況,不然最好是裝在硬碟的分割區上較安全。最後使用quit指令離開GRUB命令列環境。

使用選項清單:

現在雖然可以用GRUB來做多重開機的管理,但每次都要輸入繁雜的指令也不方便,因此GRUB也提供了選項清單的方式,讓每次開機時只須按上下鍵選擇要開機的系統再按下Enter鍵即可進行開機而不必再輸入任何的指令。GRUB在開機時會先尋找/boot/grub目錄下的menu.lst檔,找到的話GRUB就會依照menu.lst檔的內容顯示一個選項清單的圖形介面,讓使用者選擇要開機的作業系統。

首先在/boot/grub目錄下建立一個新檔名為menu.lst,底下是menu.lst檔的設定範例:

#/boot/grub/menu.lst

timeout 30

default 0 #Default Slackware Linux

fallback 1 #Windows98

fallback 2 #Mandrake Linux

color light-green/brown blink-red/blue

# For booting Slackware Linux

title Slackware

root (hd0,1)

kernel /boot/vmlinuz root=/dev/hda2 ro

#For booting Windows

title Windows98

rootnoverify (hd0,0)

chainloader +1

makeactive

#For booting Mandrake Linux

title Mandrake

root (hd1,1)

kernel /boot/vmlinuz root=/dev/hdb1 ro

上面menu.lst檔的範例是針對之前所假設的硬碟分割區上配置的作業系統而設定的。menu.lst是以#符號當作注解的開頭,GRUB會忽略所有以#符號啟始的注解行。timeout指令是指GRUB啟動之後的等待時間,以秒為單位,所以上面的範例就是等待30秒的意思。default指令就是當GRUB啟動之後等待的時間超過指令timeout所設定的時間的話,就會指令default後面參數所指定的系統,參數0代表menu.lst檔中第一個被設定的作業系統,以上面的範例而言就是指Slackware Linux,因為它是最先被設定的,如果參數改為1的話就是啟動Windows98,以此類推。fallback指令是指當GRUB啟動指令default所指定的作業系統失敗的話,便會啟動指令fallback所指定的作業系統,以上面的範例而言,當Slackware啟動失敗的話GRUB就會啟動fallback所指定的便是Windows98。指令color可以設定GRUB選項清單的前景/背景的顏色,有關GRUB可以指定的顏色可以查看GRUB的info文件。接下來的指令就是設定作業系統,指令title可以設定該作業系統的標題,而其下的設定的指令?銋窵N是原本在GRUB命令列中所鍵入的指令是一樣的,差別是不用再加上boot指令。

設定好menu.lst檔後,將此設定檔存在/boot/grub目錄底下即可,然後重新開機便會看到GRUB漂亮的選項清單,?{在就可以試著啟動不同的作業系統了。

以上是GRUB的基本使用說明,當硬碟上有許多的作業系統時,使用GRUB是理所當然的,並且是正確的選擇,就算硬碟上只有一兩種作業系統也可以使用GRUB。當然GRUB的功能是很強大的,已足以取代傳統的LILO,可以多閱讀GRUB的info文件裡面的說明。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有