GRUB是一个非常强大且稳定的操作系统引导器,它不仅能引导LINUX系统,而且也能引导WINDOWS系统+LINUX系统的多系统方式。由于GRUB引导器安装的灵活性和引导的高安全性,使得越来越多的用户都在使用GRUB来引导操作系统。可是天有不测风云,由于某种病毒或其它安全威胁的破坏,以及操作者改变了分区表或不小心删除了某个必要的GRUB引导文件,致使操作系统不能正常引导的事故是时有发生的。因此,了解各种恢复GRUB引导器的方法还是非常有必要的。
一、通过传统的方法恢复GRUB操作系统引导装载器
所谓传统方法,也就是用某种Linux发行版本的安装光盘来恢复GRUB。如果你手上刚好有某种Linux发行版本的安装光盘,那么,当GRUB系统引导器不能引导系统启动时,你就可以通过此安装光盘,启动进入系统救援模式,然后重新安装GRUB系统引导器,就可以使GRUB引导菜单起死回生了。
下面以Red Hat Linux系统安装光盘为例,说明如何通过安装光盘恢复GRUB引导器的具体过程:
1、要想从安装光盘恢复引导器,首要条件是第一引导设备必需是光驱,要达到这个要求,就要在系统刚启动时进入COMS中,把光驱设置为第一引导设备。由于各种类型的主板所使用的BIOS软件不相同,因此进入BIOS设置界面的方法也不想同,现在以大家常见的一种进入BIOS设置界面的方法作例子,说明具体的设置步骤。就是在系统启动初,按DEL键,进入BIOS设置,在高级BIOS设置项中,修改第一个启动设备为光驱,然后放入LINUX9.0安装盘的第一张光盘,按F10保存退出。
2、当系统重新引导后,在出现系统安装方式选择界面时,按F5键,并在提示符下输入如下的命令,然后按回车,就开始进行救援模式引导系统:
# boot: linux rescue
由于它的启动过程与正常安装系统时差不多,只要按提示选择输入输出设备,以及选择系统使用那种语言等等就可以了。所以它启动过程的具体操作方式也就不在此作特别说明了。
3、进入救援模式终端后,我们就可以通过输入一系列的命令来进行GRUB的重新安装工作。下面是一个GRUB具体安装过程的例子,各位读者在实际操作过程中,应根据自己系统状况,对其中的某些项,做出相应的改变,不能全部套用。
所有的命令如下所示:
# chroot /mnt/sysimage #改变根目录所在的位置,这在进入救援模式后有提示的。
# cd /boot #进入引导目录。
# grub-install /dev/hda #在系统中的第一块硬盘上安装GRUB。
# grub> root (hd0,6) #指Linux系统根分区所在第一块硬盘中的位置,具体的分区数字根据你的实际情况来决定。
# grub> setup (hd0) #安装GRUB到第一块硬盘的FBR区中。
# grub> cd #退出GRUB安装模式。
# reboot #重新引导系统。
在这里,需要注意的是:在GRUB安装模式下,所有的硬盘类型都用“hd”表式,不论你系统中安装的是串行硬盘,也是如此,并且第一块硬盘是从0开始编号的;还有是在这种模式下,硬盘中的分区号都是从0开始进行编号的,由于每一个硬盘中允许有四个主分区,因此主分区是从0到3,而逻辑分区都是从4开始的。以上要注意的这两点,在下面的其它恢复GRUB的方法中同样适用。
二、通过GRUB引导器本身恢复引导菜单
这种方式恢复GRUB引导菜单,它的首要条件是GRUB引导器并没有丢失,而只是由于系统分区表的改变,所引起的引导信息错误导致系统引导不能正常进行。
出现这种GRUB引导器故障,一般在你增加或减少硬盘中的分区后引起的。当分区表被改变后,如果重新启动系统,系统将自动进入GRUB命令行模式,让你修复GRUB引导器。
其实,具体的方式和通过安装光盘进入救援模式进行恢复方法大体相同,只是更加简单而已,所以,也不能完全说是真正的另一种方法。
当系统启动到出现GRUB>的提示符时,输入以下两个命令就可以恢复GRUB引导器:
grub>root(hd0,6) #指定Linux系统根分区,以你硬盘中LINUX安装在哪个分区来定。
grub>setup(hd0) #指定GRUB安装到第一块硬盘的FBR区中。
进行上面的操作后,GRUB就会自动查找系统中安装的操作系统,并恢复引导菜单。虽然恢复的方法与上述通过安装光盘恢复有相似之处,但引起GRUB故障的原因和严重程度也不相同,因此把它作为一个独立的解决方法列了出来。
三、通过grub for dos软件来恢复GRUB引导器
要使用grub for dos软件来恢复GRUB,必需在系统中安装有Windows XP操作系统。如果安装Windows XP和Linux发行版本的多系统用户,在重装Windows XP系统后,就会出现只能引导XP系统的故障,要恢复GRUB引导器就可以使用这种方式来进行。
这种方法就是借助于Windows XP的引导文件之一的“boot.ini”和一个叫“grub for dos”的软件来实现的。在进行这种方法恢复GRUB前,先得从网上下载grub for dos的压缩包到Windows XP系统中的C盘根目录下。
以下是具体的步骤:
1、解压grub for dos压缩包中的所有文件到C盘根目录下。
2、用记事本打开C盘根目录下的“boot.ini”文件,然后,在它文本内容的末尾加入“c:\grldr="grub for dos"”这样一行后,保存退出。如果此文件设置了只读属性,在打开前应取消它的只读属性,修改保存后再重新设置这种属性。
3、进入C盘根目录中的BOOT目录下的GRUB目录,用记事本打开其中的 “menu.lst” 文件,删除其中所有的内容后加入如下内容:
title setup grub #设置安装GRUB时显示的标题
root(hd0,6) #指定Linux系统所在硬盘中的分区。
setup(hd0) #指定GRUB安装在第一硬盘中的FBR区中。
4、 保存此文件后,重新启动系统,当出现操作系统选择菜单界面时,选择“grub for dos”项后,按回车键,在随即出现的另一个界面中,选择在menu.lst文件中设置的GRUB安装标题“setup grub”后,再按回车键,此时就会按menu.lst文件中设置的内容,开始安装GRUB,当出现提示安装完成后,重新启动系统后就会出现GRUB引导菜单了。
本文转自 雪源梅香 51CTO博客,原文链接:http://blog.51cto.com/liuyuanljy/166064,如需转载请自行联系原作者