开机无法引导,出现"grub>",相信不少网友都遇到这样的问题,像这样的问题大多数出自学习Linux者的电脑上,为了学习Linux,安装了Windows与Linux双系统,另外还有一原因,你并没有装过Linux,那是因为你安装了某种备份软件。解决的方法,用安装盘重装系统,或者在纯dos下:fdisk/mbr(修复主引导记录)
下面就Windows与Linux双系统遇到这个问题详细说明一下
grub.conf出错导致无法启动同样会出现 "grub>"因为grub无法加载linux内核,如果出现这种情况,当务之急是先启动LINUX或WINDOWS再说.
一:LINUX启动方法:
第一步:(如果知道linux具体在哪个分区,则可以略过第一步)查找/boot/grub/grub.conf分区所在的目录:输入以下命令:
grub> find /boot/grub/grub.conf
会返回你Linux内核所在分区,我这里返回(hd0,7),说明我LINUX在第一磁盘第五分区(这里hd0表示第一块磁盘,7表示第五分区,为什么?因为在这里表示方法是0 1 2 3 4 5 6 ……而,磁盘最最多有五个主分区,从4开机是扩展分区,所以嘛……不多说了,傻瓜都懂.
第二步:查看一下自己linux内核信息,输入以下命令:
cat (hd0,7)/boot/grub/grub.conf (返回信息不说了) 关于内核信息的,看一下就明白了。按照下面命令依次输入指定/boot分区使用命令:grub>root (hd0,0)
--------------------------------------------------------------------------------------------------------------------------------------------
下面两行是内核信息,你输入cat ()hd0,7)/boot/grub/grub.conf会返回给你的,你按照返回的信息输入,可以借助tab键自动添加
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启动吧.如果你的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系统文件。我们选择continue.
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 启动盘(系统盘也行)进入系统
1.用root登陆执行下面的语句#/sbin/grub,然后会出现grub>提示符
2.再执行下面命令
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