今天同学的电脑出问题了,开机无法引导,出现"grub>",相信不少同学都遇到这样的问题,以前也遇到过,都懒得去上网查解决,都是通过fdisk /mbr 重写主引导记录,最后重装系统解决的。
像这样的问题大多数出现在安装windows 与linux双系统上,一般主引导记录损坏导致
经过上网查阅相关资源,下面总结出了几种解决的方法来给大家分享一下。

    废话不再多说,linux具体启动过程不再多说,想毕遇到此类问题来看这篇文章的读者都对这有一定的了解,下面介绍具体方法:

grub.conf出错导致无法启动同样会出现 "grub>"因为grub无法加载linux内核

如果出现这种情况 当务之急是先启动LINUX或WINDOWS再说

LINUX启动方法:

第一步:
查找/boot/grub/grub.conf分区所在的目录:

grub> find /boot/grub/grub.conf

我这里返回(hd0,7),说明我LINUX在第一磁盘第五分区(这里hd0表示第一块磁盘,7表示第五分
区,为什么???因为在这里表示方法是0 1 2 3 4 5 6 ……而,磁盘最最多有五个主分区,从4
开机是扩展分区,所以嘛……不多说了,傻瓜都懂

第二步:

如果知道linux具体在哪个分区,则可以略过第一步:

首先查看一下自己linux内核信息
cat (hd0,7)/boot/grub/grub.conf
(返回信息不说了)

按照下面命令依次输入

指定/boot分区使用命令:grub>root (hd0,0)

grub>kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回车

grub>initrd /boot/initrd-2.6.18-53.el5.img 回车

grub>boot (hd0,7)   回车(从此分区启动)这里直接输入boot也行

OK,下面就等着LINUX启动吧

下面说一下WINDOWS启动方法:

敲入以下命令:
grub>root (hd0,0) 回车(你WINDOW不会装在其它分区吧?)

grub>rootnoverify(hd0,0)回车

grub>chainloader +1回车

boot (hd0,0)   回车(从此分区启动)这里直接输入boot也行

说了这么多问题还没解决,上面的方法只是应急措施,总不能每次开机都要这样输入吧?下面分别来介绍一下如何修复主引导记录和介绍另外一款引导软件(很简单的哟!!!)

修复主引导记录:

1.用RHEL安装盘启动计算机
2.等安装界面出来后,输入:linux rescue 后 回车进入linux救援模式。
3.救援模式做了什么:只是linux安装的前两步,语言和键盘。然后选择中文还是英文取决于你(建议选英文)。不用选择网卡,跳过网卡配置这一步。往后会出现continue readonly 和 skip三个选项:

continue:搜索硬盘上的linux系统并挂载到/mnt/sysimage 目录下 实际上是自动rescue模式。

readonly:当然是readonly模式

skip:        直接出现单用户的根shell,是手工救援模式,不查找linux系统文件。

4.硬盘上的系统已经被找到并挂载在/mnt/sysimage 下

会提示通过名利chroot /mnt/sysimage 改变根目录
linux rescue中使用的shell是SH shell,常用命令和bash shell一样。
进入 linux rescue后会出现这样的字符
sh#

此时用两种方法:

方法一:

输入命令
sh#grub
会出现这样的字符
grub>
我们可以在此输入
grub>root (hd0,7)

grub>setup (hd0)
OK主引导记录修复成功

方法二:

用linux 启动盘(系统盘也行)进入系统
2.用root登陆执行下面的语句
#/sbin/grub
然后会出现grub>提示符
4.再执行下面命令
grub> root (hd0,7)
grub>setup (hd0)
OK主引导记录修复成功

再介绍一种方法:

第三种方法:

具体:用第一张修复盘启动进入linux rescue出现#
#chroot /mnt/sysimages
#grub -install /dev/hda(第一块硬盘)
等待一会  
#exit
OK主引导记录修复成功

介绍另外一款引导软件(很简单的哟!!!)

用迅雷下载grud4dos,地址在ftp://ftp5.linuxeden.com/system/grub4dos-0.4.3.zip,解开压缩包,把grldr和menu.lst放到C盘根目录,
然后修改boot.ini
操作系统文件(推荐),把前面的勾去掉,就可以了),在boot.ini最后添加一行:

C:\grldr=linux boot

grldr会搜索C盘根目录寻找menu.lst文件。

用记事本打开menu.lst,编辑内容如下:

title Red Flag Linux
root (hd0,7)
kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-53.el5.img
Boot

更新内核以后,需要手动同步Windows的C盘的menu.lst的内容。否则无法用新内核启动。
解决方法很简单,grub很强大,支持一条configfile的命令:
把你的C盘根目录的menu.lst改成
timeout 5
configfile (hd0,7)/grub/menu.lst
这样,grldr就会重新加载(hd0,7)/grub目录下的menu.lst,显示这个menu.lst的启动菜单。
更新了内核也不用修改Windows下面的任何东西了。重装系统也不怕了。仅仅需要两个文件(grldr和menu.lst),修改一个文件(boot.ini),一切就都OK。
不想选择两次才进入linux,可以修改C盘根目录menu.lst的timeout为0

下面是我menu.lst的内容,可以参考一下:

color black/cyan yellow/cyan
timeout 5
default /default

title Red Hat Enterprise Linux Server (2.6.18-53.el5)
root (hd0,7)
kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-53.el5.img
boot