您的位置:首页 > 其它

grub的修复和配置

2009-05-30 21:01 211 查看
(一)双系统的grub的修复

1先确定linux安装到哪个盘。

一般来说装到以前c盘的识别为hd1,D盘为hd5 e盘为hd6依次类推

2,确定完/bootl目录linux系统安装的盘符后,运行以下命令进入linux

root (hd0,7)

kernel /vmlinuz-xxx ro root=LABEL=/

initrd /initrd-xxxx.img,(xxx为版本号,可用tab键补全)

boot

root(hdx,y)用来指定你的boot分区位置,如果你没有分boot分区,那就指向根分区就行了,hdx是linux

所在硬盘,hd0是第一块硬盘,hd1是第二块,依此类推。

运行以下命令进入windows

root(hd0,0)

chainloader +1

boot

3,进入linux后在修改/boot/grup/grup.conf为正确的硬盘标号启动项

(二)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来引导.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: