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来引导.
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来引导.
相关文章推荐
- Linux 学习笔记_5_Linux引导流程解析_3_GRUB配置及Linux系统修复
- Linux MBR损坏以及grub配置文件损坏如何修复
- 当grub配置文件被损坏时的修复方法
- grub应用配置及修复
- grub配置文件丢失的情况下修复
- Redhat GRUB配置错误修复
- 程序电脑VS2008 应用程序配置不正确,未能启动该应用程序。重新安装程序可以修复此问题。解决方法
- windows和linux双系统,重新分区后修复grub
- 修复Ubuntu分区挂载错误,Grub引导错误,ubuntu升级后不能显示桌面等问题
- Linux下grub配置文件以及加密和解密
- 通过 grub 引导修复 Fedora
- /boot/grub/menu.lst 配置档
- CentOS 修复grub
- 安装Ubuntu 开机出现 grub rescue> 终端模式修复方法
- Ubuntu的启动配置文件grub.cfg(menu.lst)设置指南
- 修改GRUB的配置文件
- 配置GRUB 2:调整Ubuntu Server 9.10中的启动程序_/etc/default/GRUB分析
- Ubuntu双系统Grub启动菜单修复
- webstrom 配置eslint 自动修复错误
- 修复Debian grub