linux安装grub界面,系统安装: GRUB安装,配置及使用汇总
(一)安裝linux時安裝grub.
安裝redhat?linux時會提示安裝引導程序,如果選擇grub為引導程序,建議把grub安裝到硬盤的引導扇區MBR.grub
還可以引導其它操作系統,如?FreeBSD、NetBSD、OpenBSD、GNU?HURD?和?DOS,以及?Windows
95、98、NT、2000、XP。
grub的配置
一旦選擇了grub為引導程序,下面我們來了解一下它的配置.
/boot/grub/grub.conf是grub產生一個引導選擇菜單以及設置一些選項.下面是我的grub.conf:
#==========例子開始==========
#?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,6)
#?kernel?/vmlinuz-version?ro?root=/dev/hda10
#?initrd?/initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,6)/grub/splash.xpm.gz
#?-->?Redhat?Linux?8.0?
title?Red?Hat?Linux?(2.4.18-14)
root?(hd0,6)
kernel?/vmlinuz-2.4.18-14?ro?root=LABEL=/
initrd?/initrd-2.4.18-14.img
#?-->?Microsoft?Windows?XP?
title?Microsoft?Windows?XP
rootnoverify?(hd0,0)
chainloader?+1
#===========例子結束==========
配置選項解釋:
以"#"開頭的是注釋行.
我這里有兩個操作系統,分別是Red?Hat?Linux和Microsoft?Windows?XP.
其中?timeout標識默認等待時間,我這設置為10秒,超過10秒用戶還沒作出選擇的話,將自動選擇默認的操作系統(我這里默認的是Redhat
linux?8.0)
默認的操作系統是由default一項來控制的,default后的數字表明第幾個是默認的,這里0表示第一個,1表示第二個.所以如果你想修改默認的操作系統,就修改default后的數字.
title一項是設置操作系統的名稱,grub不支持中文(有點遺憾).
splashimage一項指定grub界面的背景圖片,有興趣的朋友可以修改grub的背景哦!
root?(hd0,6)標識從第一個硬盤,第7個分區來啟動搜索引導內核.注意這兒的root與linux的root分區不同,此root非彼root也!grub的硬盤標識方法與linux的有點不同.在linux中第一個主分區為hda1,第二個主分區為hda1,第一個邏輯分區為hda5,而在grub中是以(hdx,y)來標識的,如第一個主分區為(hd0,0)第一個邏輯分區為(hd0,1)依此類推.所以這兒root后面的是你的/boot所在分區標識.
知道了內核在哪兒,還要具體指出哪個文件是內核文件,這就是kernel的工作。
kernel?/vmlinuz-2.2.18-14?ro?root=LABEL=/.說明/boot/vmlinuz-2.2.18-14
就是要載入的內核。后面的都是傳遞給內核的參數。ro是以readonly的意思。注意我這里內核前面的路徑是"/",因為我的boot單獨分了一個區,如果你沒有為boot單獨分區,那么內核前面的路徑就是"/boot".
initrd用來初始的linux?image,并設置相應的參數
再來看一看windows的定義段吧。
這里,我添加了一項來引導?WindowsXP。要完成此操作,GRUB?使用了"鏈式裝入器"(chainloader)。鏈式裝入器從分區
(hd0,0)?的引導記錄中裝入?winXP?自己的引導裝入器,然后引導它。這就是這種技術叫做鏈式裝入的原因?--
它創建了一個從引導裝入器到另一個的鏈。這種鏈式裝入技術可以用于引導任何版本的?DOS?或
Windows。如果你在計算機中裝有win98,winme,win2k,winxp的話,chainloader會把引導權交與win的NTLoader來引導.
(三)Grub啟動盤的制作
要制作引導盤,需執行一些簡單的步驟。首先,在新的軟盤上創建?ext2?文件系統。然后,將其安裝,并將一些?GRUB
文件復制到該文件系統,最后運行?"grub"?程序,它將負責設置軟盤的引導扇區。
將一張空盤插入?1.44MB?軟驅,輸入:
#?mke2fs?/dev/fd0
創建了?ext2?文件系統后,需要安裝該文件系統:
#?mount?/dev/fd0?/mnt/floppy
現在,需要創建一些目錄,并將一些關鍵文件(原先安裝?GRUB?時已安裝了這些文件)復制到軟盤:
#?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
再有一個步驟,就能得到可用的引導盤。
在linux?bash中,從?root?用戶運行"grub",該程序非常有趣并值得注意,因為它實際上是?GRUB
引導裝入器的半功能性版本。盡管?Linux?已經啟動并正在運行,您仍可以運行?GRUB?并執行某些任務,而且其界面與使用?GRUB
引導盤或將?GRUB?安裝到硬盤?MBR?時看到的界面(即GRUB控制臺)完全相同。
在?grub>?提示符處,輸入:
grub>?root?(fd0)
grub>?setup?(fd0)
grub>?quit
現在,引導盤完成了。
(四).恢復被windows破壞的grub.
如果你用grub來引導linux和windows,當windows出毛病重新安裝后,會破壞MBR中的grub,這時需要恢復grub.
1.把linux安裝光盤的第一張放到光驅,然后重新啟動機器,在BOIS中把系統用光驅來引導。
2.等安裝界面出來后,按[F4]鍵,也就是linux?rescue模式。
3.一系列鍵盤以及幾項簡單的配制,過后就[繼續]了。。。這個過程,我不說了,比較簡單。
4.然后會出現這樣的提示符:
sh#
5.我們就可以操作GRUB了.輸入grub:
sh#grub
會出現這樣的提示符:
grub>
我們就可以在這樣的字符后面,輸入:
grub>root?(hdX,Y)
grub>setup?(hd0)
如果成功會有一個successful......
這里的X,如果是一個盤,就是0,如果你所安裝的linux的根分區在第二個硬盤上,那X就是1了;Y,就是裝有linux系統所在的根分區。
setup?(hd0)就是把GRUB寫到硬盤的MBR上。
(五).用NTLoader來引導linux.
如果你在安裝linux時沒有選擇安裝grub,不必著急,現在我們來看看如何在安裝linux后安裝grub.并用windows的NTLoader來引導linux.
1.?安裝grub
我用的grub是Redhat8.0帶的grub安裝包:?grub-0.92-7.rpm
安裝:?rpm?-ivh?grub-0.92-7.rpm
其他安裝方式也一樣,只要你安裝上grub就行了.RH8缺省用的grub,?1,2步驟可以省了.
2.?建立grub的環境
cp?/usr/share/grub/i386-pc/*?/boot/grub
3.?生成grub的配置文件/boot/grub/menu.conf
按照上面所講的grub.conf來生成一個配置文件.
注意了,?這里我的linux在/dev/hda4,所以menu.conf那些分區位置為(hd0,3),
你的可能不一樣了,不能完全照著"畫瓢"噢!?下面第3步install的中的分區位置也應該和你的系統一致.
3.?安裝grub至Linux分區boot
將grub的stage1安裝到/dev/hda4的boot扇區(hd0,3).?過程如下:
/sbin/grub?(運行grub)
grub>?install?(hd0,3)/boot/grub/stage1?d?(hd0,3)
(hd0,3)/boot/grub/stage2?p?(hd0,3)/boot/grub/menu.conf
(注意,上面"grub>"為grub的提示符,其后內容寫在一行上.)
4.?取得grub的boot信息
過程如下:
dd?if=/dev/hda4?of=/grub.lnx?bs=512?count=1
這樣得到grub的引導信息,只要用NT?Loader來加載它就行了.
5.?將上面得到的grub.lnx弄到Windows的C盤根目錄下
可以先把grub.lnx弄得軟盤上,然后啟動windows,拷貝到C:;?情況允許也可以直接在Linux下拷貝到C:了.
我的C盤(即設備/dev/hda1)為FAT32,?可以直接從Linux下弄過去了.?如下:
mount?-t?vfat?/dev/hda1?/mnt/c
cp?/grub.lnx?/mnt/c
umount?/mnt/c
6.?修改NT?Loader的boot.ini
在其中加入一行:?C:grub.lnx="Redhat?Linux?-?GRUB"
加入后boot.ini的內容如下:
[boot?loader]
timeout=15
default=C: oot.lnx
[operating?systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft?Windows?XP
Professional"?/fastdetect
[VGA?mode]"?/basevideo?/sos
C:grub.lnx="Redhat?Linux?-?GRUB"
OK.?可以用NT?Loader加載Linux了,?其實上面過程基本上和用NT?Loader加載LILO一樣.其基本思想就是用NT
Loader來加載LILO或grub的引導區(grub.lnx),?其中的關鍵就是LILO或grub的引導區的獲取.
(六)活用grub的交互功能
grub具有強大的交互功能.學會了將會使你受益非淺!
1.grub沒有顯示菜單怎么辦?
當開機后進入grub界面但沒了菜單,只剩下一個grub>提示符,怎么啟動呢?別急,看下面:
grub>cat?(hd0,6)/boot/grub/grub.conf?(為了看參數)
grub>root?(hd0,6)
grub>kernel?(hd0,6)/vmlinuz-2.4.18-14?ro?root=LABEL=/
grub>initrd?(hd0,6)/initrd-2.4.18-14.img
grub>boot
OK!啟動了吧!以上有些數字要根據你的實際情況更改.
以上這個方法也可以用于測試新編譯的內核.
2.進入單用戶模式.
有時不小心把root用戶密碼忘了,只能進入單用戶模式來重新設置root密碼.方法如下:
開機進入grub界面,按C進入命令行模式,然后按照上面的方法進行,只是在第三步要在后面加入single參數
總結
以上是生活随笔為你收集整理的linux安装grub界面,系统安装: GRUB安装,配置及使用汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 声卡权限,archlinux
- 下一篇: linux 其他常用命令