grub

grub

我先装的xp,后来装的redhat9.2,当天重启后能看到系统选择界面,但是第二天启动的时候就没有图形选择界面了,只有grub>,怎样才能回到原来的系统选择界面?我的硬盘分区是这样的:
分区   类型            状态                主或逻辑
C      NTFS            活动                主
*      扩展            无                  主
D      FAT32           无                  逻辑
E      NTFS            无                  逻辑
F      NTFS            无                  逻辑
boot   linux ext3      无                  逻辑
*      linux ext3      无                  逻辑
swapspace2 linux swap  无                  逻辑
G       ntfs           无                  逻辑      
估计是位于目录/boot/grub下的文件menu.lst受到了破坏!!你可以使用手动启动RH,再进入/boot/grub下修改文件menu.lst的内容。
手动启动:
grub>root (hd0,4)
grub>kernel /boot/vmlinuz-2.4.20-8 root=/dev/hda5 ro
grub>boot
在menu.lst启动菜单中添加:
timeout 10
default 1
title Windows XP
root (hd0,0)
chainloader +1
title RedHat 9.2
root (hd0,4)
kernel /boot/vmlinuz-2.4.20-8 root=/dev/hda5 ro
boot

希望对你有帮助!!      
首先谢谢您的帖子,上面您说的2.4.20-8是怎么回事啊,这些参数是怎么设置的?      
vmlinuz是可引导的、压缩的内核,2.4.20-8是它的版本号 ro表示对vmlinuz只读!具体的其它参数设置,可以查询grub的用法!!如果你不晓得你的Linux的vmlinuz的版本,可以先启动windows xp:
grub>root (hd0,0)
grub>chainloader +1
再在XP里下载[URL=http://uranus.it.swin.edu.au/~jn/explore2fs/explore2fs-1.07.zip]explore2fs[/URL] 安装,运行explore2fs,找到linux的安装盘,进入/boot文件夹,你就可以找到你的正确的vmlinuz和initrd.img的正确的版本号!!      
还有找到正确的版本后,你可以在grub提示符下以命令行方式引导linux,再在linux里的/boot/grub目录下修改menu.lst!!还有一个叫ltools的工具,可以在XP里面直接读写linux分区,你可以用它在XP下直接修改menu.lst!!      
版本号看到了,就是2.4.20-8。好像boot在hda5,是不是上面的命令应该改为root (hd0,5)
grub>kernel /boot/vmlinuz-2.4.20-8 root=/dev/hda6 ro
grub>boot
是不是这样就进入linux了?      
不对,在hda5上,就用改在root(hd0,4),因为grub的硬盘分区识别从0开始,与Linux稍有差别!
你写的命令错了,kernel用来加载linux的启动内核,少了initrd对内核进行配置!!
正确写法如我前面写的!!      
弱弱地问一下该menu.lst是不是用linux地resecue环境下改写grub?