LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 681|回复: 3

grub的引导问题!!

[复制链接]
发表于 2006-5-18 09:33:34 | 显示全部楼层 |阅读模式
我的系统是winXP+redhat ,但我想玩一下FC5,然后就进行硬盘安装,使用了原有的redhat进行引导,覆盖了原有的redhat,安装了完FC5后,重新启动机器,grub引导失败,提示error 15.请大家给点解决方法!
 
我自己认为是没有把grub引导写入mbr上,但是有不知道怎么去写入!给我点方法!
我的方法写入失败了:
     grub>root(hd0,5)  注:我的linux分区是/dev/sda6,输入这条命令后提示失                   败.
     grub>setup(hd0) 注:又提示失败

_________________________________________
IBM T43 BH4
1.86/512M/80G
发表于 2006-5-18 09:56:47 | 显示全部楼层
Ù你  gentoo的¹Õ 看看
Grub Error 15

ú°Ç¶:
å错ïïýú°在Grub配置的两个不同的阶µ,
一种可能是出现在Grub的安装配置阶段(也就是在MBR上安装Grub的时候),
屏幕显示如下:
代码:
grub> root (hd0,0)
  Filesystem type is xfs, partition type 0x83

grub> setup (hd0)
  Checking if "/boot/grub/stage1" exists... no
  Checking if "/grub/stage1" exists... no

Error 15: File not found

还有一种情况就是启动电脑后选择启动linux或其他在Grub启动列表中列出的系统时,
屏幕显示如下:
代码:

Booting 'gentoo Linux'

root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792

Error 15: File not found
Press any key to continue...

解决方法 (第一种情况) :
该错误在找不到指定的文件时出现,
但是此时像磁盘或分区信息这样的其他配置都没问题(只是找得到相应的分区或磁盘,
至于对不对它可不管). 一般来说没找到的文件以kernel居多.
首先需要确认一下在你的/boot里的那个kernel,
如果需要存在于你/boot里那个kenel的完整的文件名, 使用livecd,
rescue盘或其他安装在硬盘上的linux系统引导成功后挂载那时在配置Grub时候指定的/分区和/boot(需要的话),
然后使用chroot进入那时的根分区, 使用下面的命令进行查找.
代码:

# cd /boot
# ls

如果发现kernel文件丢失,
进入/usr/src/linux(再此之前确认一下该目录下放置了kernel的source
code)重新compile一个, 命令如下:
代码:

# cd /usr/src/linux/
# make menuconfig
# make

完成之后拷贝进/boot:
# cp /usr/src/linux/arch/i386/boot/bzImage /boot

重命名一下kernel, 和你在grub.conf中指定的一样就可以了.
顺便再检查一下grub.conf中kernel那行引用的分区是否正确.

除了kernel的丢失或损坏,
BIOS无法识别存放Grub的stages和kernel的硬盘分区也会出现相同的Missing
错误.同时存放Grub的stages和kernel的分区不应该是使用software
RAID-5(或者是使用其他优化存储技术的分区, 比如LVM或LVM2)的.

解决方法 (第二种情况) :
第一,
检查grub.conf的root行和setup行配置正确.如果你确认你使用的方法是正确的,
那可能你使用的Grub版本存在bug(比如0.93.20031222这个版本),
使用你所用发行版的软件工具新安装一个或是升级你原来所用的Grub).

Gentoo用户可以使用下面的命令:

(在chroot环境下执行该命令)
# echo "=sys-boot/grub-0.93.20031222" >> /etc/portage/package.mask
# emerge grub -p

然后你也可以使用Grub开发人员建议使用的
grub-install脚本进行Grub的在MBR中的安装:

(--root-directory 在你使用单独的/boot分区时是必选项)
# grub-install --root-directory=/boot /dev/hda

如果上面的方法你都试过, 但是还是没法解决问题的话,
请检查一下你的/boot分区, 可能是你的/boot分区存在问题:

(确认一下你将要进行fsck的分区是处于unmount状态下的,
在给出的例子中使用的是/dev/hda1.)
代码:

# fsck -y /dev/hda1
回复 支持 反对

使用道具 举报

发表于 2006-5-18 10:10:40 | 显示全部楼层
你的linux分区是/dev/sda6
会不会应该是:
grub>root(sd0,5)
grub>setup(sd0)
我是新手,猜的,呵呵!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-18 10:27:37 | 显示全部楼层
好的!!我晚上会再次实验,多谢大家的方法!!说的很详细!!
sd0我昨天已经试过了!!不行!!谢谢!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表