装系统,把grub给装没有了:“grub loading…… grub error 15”

willwzq 2005-04-05 02:21:44
我的机子没有软驱,因此不能紧急启动~

我试了好几个linux安装盘的第一张安装盘,尝试想通过光盘直接重新安装grub,可是好像都不行~

现在,该如何是好啊?

非常感谢大家回复!!!
...全文
1047 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fei 2005-08-05
  • 打赏
  • 举报
回复
当屏幕只出现grub>的字样,很多人于是就急得不知所措,于是往往重装linux甚至windows。事实上这个问题很容易解决。首先,为了那些新手能看到这篇文章,请在grub>后面输入以下字符:

grub>root (hd0,0)
grub>rootnoverify (hd0,0)
grub>chainloader +1
grub>boot
这样就可以进入windows系统,如果你的windows系统是放在硬盘的第一个分区的话。
好了,进入系统以后,还有一些事情需要做。因为问题并没有彻底解决,如果你这
时候重启的话,就会发现开机后仍然出现grub>的提示符

为了彻底解决问题,我们需要来了解一些概念。
什么是grub? grub是系统启动装载程序。当我们开机,BIOS开始检测系统参数,如
内存的大小,CPU型号,硬盘类型等。BIOS自检过后,就会把控制权交给硬盘上0柱面
1磁道(MBR)上的程序来引导系统(如果设置成硬盘引导优先)。而这个程序,对
windows NT内核的系统来说,就是ntloader,对linux来说,一般是grub或lilo。如果
这些程序损坏,或找不到配置文件,就会无法引导系统。比如windows 2000的用户有
时会发现开机出现这样的字样:NTLDR is missing…… 这就表示windows的引导程序
被破坏或找不到了,解决方法就是用一张2000的安装盘修复系统。如果linux的引导程
序grub被破坏或找不到配置文件了呢??那就重装grub好咯。事实上出现grub>这样
的情况还算是好事,这只是表明grub找不到配置文件指定的图形文件splash.tar.gz
,所以不出现图形界面的引导方式而已。要想出现图形界面的引导模式,需要进入到
linux系统中修改grub的配置文件,这个文件是/boot/grub/menu.lst。如下:
# 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,7)
# kernel /vmlinuz-version ro root=/dev/hda10
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,7)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
root (hd0,7)
kernel /vmlinuz-2.4.20-8 ro root=/dev/hda8 vga=791
initrd /initrd-2.4.20-8.img
title Windows 2000
rootnoverify (hd0,0)
chainloader +1
title Mandrake 9.2
rootnoverify (hd0,12)
chainloader +1
title Slackware 9.1
rootnoverify (hd0,13)
chainloader +1
title FreeBSD 5.1
rootnoverify (hd1,0)
chainloader +1

注意title Windows的那一项,想起什么没有?对了,刚才我们就是用那下面的命令来
引导进入windows的。同样,我们可以用Red Hat那一项下面的命令来进入linux,从而
可以修改grub的配置文件
grub>root (hd0,*) /*你的root分区所在的分区号,如果分区只分了/,那么就是
/的分区号*/
grub>kernel /vmlinuz-* ro root=/dev/hda* /* vmlinuz是你的系统内核文件,可以
用tab键来自动补齐,root=/dev/hda*是/分区的分区号,注意
hd0,*的方式和hda*的方式稍有不同,hd0,0对应hda1,其余类
推。ro是read only的意思,以只读的方式加载内核 */
grub>initrd /initrd-* /*根目录镜像文件,用于加载不是ext2格式的根分区,如果你的
/是ext3或其他类型,那么最好写上。同样可以用tab补齐*/
/是ext3或其他类型,那么最好写上。同样可以用tab补齐*/
grub>boot

然后就可以进入linux了。如果不能进图形界面的linux(xwindow),那么字符界面下修改
就要用vi编辑器来修改。vi用法我就不多说了。

当然,进入linux也可以用安装系统时的光盘或软盘引导。详细方法可以在版面上查。

我常看到的是用PQ修改了分区所以导致分区号改变,所以menu.lst文件里内容就和实际
情况不相符合了,比如你的/boot是hd0,7的,用了PQ后,就会变成hd0,8或其他分区号。
grub找不到启动时要用的图形文件/boot/grub/splash.xpm.gz,就当然不会出现图形的
引导界面了。确定参数都设置好了以后,如果还没有出现图形的菜单,可以在linux下
用grub-install /dev/hda或hdb 来重装grub到MBR上
gomo544409 2005-04-07
  • 打赏
  • 举报
回复
grub—install应该在/sbin下面。切换到该目录下先,然后运行grub-install
willwzq 2005-04-06
  • 打赏
  • 举报
回复
多谢!
我用光盘引导开机,进入LINUX安装界面后,用rescue模式好像可以进入Linux了,而且可以运行ls等命令,也可以看到etc,dev,等目录,可是当我要运行grub-install时,系统总提示说找不到?

这可该怎么办啊?

gettext 2005-04-06
  • 打赏
  • 举报
回复
可以用"rescue"模式进入命令行方式,然后运行grub-install. 一般Alt+2有命令行。

也可以这样
1,如果你能进linux, 在linux下运行grub-install.
2, 如果你能进windows, 用loadlin root=/dev/hda6 进linux, 然后执行1,loadlin在光盘的dosutils目录下
3,如果linux和windows都进不去,找一个windows安装盘进入dos shell, 执行2
willwzq 2005-04-05
  • 打赏
  • 举报
回复
多谢楼上!
我的硬盘分区情况:我在装LINUX之前,是有win xp的(带C,D盘);LINUX 是装在hd6上;

问题是:在哪里输入命令“loadlin root=/dev/hda6”呢? 我根本无法进入命令行格式啊~
(光盘一启动就直接进入安装界面了,不过好像有“rescue”模式,我记得试过,还是没法用命令行;我现在在其他地方机子上上网)

再谢!
qqkele 2005-04-05
  • 打赏
  • 举报
回复
把你硬盘分区情况说下!
从光盘启动 loadlin root=/dev/hda#
#要看你的分区而定

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧