IT民工
分类: LINUX
2009-09-03 13:00:28
修复linux下的grub(即启动管理程序)
对于多操作系统来说,如果我们先安装Windows,然后在安装linux则,linux的启动管理程序,boot manager会自动覆盖硬盘上的主引导记录,即硬盘上的第0主面,0磁道,0扇区的512个字节,在这个主引导扇区中,一般存放的硬盘的分区情况,以及 一些跳转指令,用来使计算机跳转到相应操作系统的执行代码上。然而,假如我们重新安装了Windows操作系统,这样我们原先的grub引导管理程序就会 被windows操作系统的引导管理程序覆盖,这样,如果我们想要重新使用grub来引导整个计算机的启动过程,就需要对grub进行修复,即用grub 的代码覆盖MBR扇区。修复Grub一般来说可以按如下过程进行:
a:将linux的第一块光盘插入CDROM,并将计算机的bios设置为从cdrom启动。
b:运行光盘上的程序,等安装界面出来以后,按F4,(或者F5,linux8)
c:在boot下输入命令 linux rescue ,按回车
d:进过一系列键盘等简单的配制以后就会出现提示符 sh#
e:出现这样的提示符之后,工作就简单了,我们这时就可以用grub了,即在提示
符下输入命令grub,如: ch# grub ,然后按回车
f:这样就会出现这样的提示符:grub> ,这时我们就可以在这个提示符候输入以下
命令来修复grub了。
f1:grub>root(hdx,y) 说明:x表示硬盘的盘号,即第几个硬盘,它是从0开始
编号的,对于单硬盘的用户来说,x为0;y 则表示硬盘上linux根分区所在
的分区号,如果不知道可以按 TAB 键来查看当前硬盘的分区情况。设置
好之后按回车
f2:输入命令setup(hd0),即grub>setup(hd0) 将grub安装在计算机系统的
MBR扇区中,如果没出错的话,恭喜你的grub修复成功了
以下部分对于单操作系统,即只有一个linux系统的用户来说可以不用设置
g:安装好了grub之后,我们还想做的工作就是我们可以设置我们的grub需要引导
哪些操作系统,并且设置哪个为默认的操作系统,进入默认操作系统的等待时
间等启动参数设置。要设置这些功能,我们就要修改linux的grub的配置文件
件,一般来说现在新版本的linux用的是menu.lst,而老版本的linux包括redhat
linux用的还是grub.conf,这个文件一般在 "/etc/" 目录下,打开这个文件我们
可以修改相应的参数,例如:
# By default boot the first menu entry.
default 0 #这里设置的是默认的操作系统标号
# Allow 30 seconds before booting the default.
timeout 30 #进入默认操作系统的等待时间
# Use prettier colors.
color green/black light-green/black
title Red Hat #这一段代码是grub中第一项操作系统的内容
root (hd0,2) #linux操作系统的根目录,和grub修复时相同
kernel /boot/kernel-2.4.20 root=/dev/hda3 ro
initrd /boot/initrd-2.4.20
# 以上文件可能不同,看看 /boot/ 下的kernel名字是什么
另外,如果你同时还要启动 Windows,下面的菜单项可以做到:
title Windows #grub上显示的操作系统的提示
rootnoverify (hd0,0)
chainloader +1
# +1 就是第一硬盘的第二扇区,也就第一硬盘的第一分区
# 根据windows的实际位置调整,比如 rootnoverify (hd1,1)
#end menu.lst
设置完以后,保存退出,重新启动系统即可。
注意:如果找不到文件menu.lst 或grub.conf在哪个目录下,可以用寻找指令
locate 文件名,即locate grub.conf 或locate menu.lst来查找即可
对于用lilo引导管理程序的系统来说,他的引导配置文家为lilo.conf,一般也在/etc/目录下