红联Linux门户
Linux帮助

grub rescue问题请教

发布时间:2010-08-12 22:58:20来源:红联作者:skyopwalker
嗯,问题是这样的!
我的硬盘里有两个分区不能用,就用光盘在进入PE,用了一个分区管理工具,把那两个分区重新格式一下。(先说一下,我的硬盘里有两个系统,一个XP,一个ubuntu13。)
于是问题就出现了!开机显示 gurb rescue> 无法进入grub的系统选择菜单!
在网上查了一下,找到一种解决方案,方案如下:
代码:
grub rescue>set
grub rescue>prefix=(hd?,?)/grub
grub rescue>root=hd?,?
grub rescue>set root=hd?,?
grub rescue>set prefix=(hd?,?)/boot/grub
grub rescue>set
grub rescue>root=hd?,?
grub rescue>prefix=(hd?,?)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
grub rescue>normal
(hd?,?说明:输入set后,我的电脑显示的prefix和root设置的为hd0,12。我原来增加了两个分区,就把这个数字减去2,我输入的是hd0,10)
问题解决!这样就可以进入grub的选择菜单了!可新问题是,这种设置只是本次有效,下次启动的时候,还得输入这一大堆东西才行!
网上也查到了这种问题的解决方案。如下:
调出 /boot/grub/grub.cfg,修改相应uuid,
改到命令行下
grub>insmod /boot/grub/linux.mod
grub>set root=hd?,?
grub>linux /boot/vmlinuz-*** /root=/dev/sd??
grub>initrd /boot/initrg.img-****
进入系统
hd?,? 是grub文件所在分区 sda? 是/分区。


可是这里有几处我就不明白了!
(1):这里的hd?,?,说是grub文件所在的分区,是不是就是上面设置的(hd0,10)???
(2):sda?,说是/分区。我的linux分区有三个,一个是交换分区(swap)( hd0,9),和内存大小一样,1024M;
一个是好像文件系统分区(hd0,10),有5G多吧!
还有一个(hd0,11)忘了叫什么分区了,是最大的一个分区。
这个文件系统分区(hd0,10)是否就是根分区(/分区)?
如果是的话,不是就hd0,10吗?为什么又会是sd?,????
如果不是的话,那我的/分区应该是什么?
(3)这里的vmlinuz-*** 和initrg.img-****是什么意思?? -****是版本号还是什么?在哪能查得到?
我在安装文件里找到了一个vvmlinuz文件和一个initrd.img文件,这里的initrg.img是不是作者的笔误??


敬请高手指教!!!!!
文章评论

共有 4 条评论

  1. 相思爱文 于 2010-08-13 23:05:46发表:

    (1):(hd?,?)指grub所在分区。
    (2):(hd?,?)是grub的分区表示法,sda?是linux系统的分区表示法。他们是不同的,不通用。
    (3)这里的vmlinuz-*** 和initrg.img-****是什么意思?? 省略部分是版本号。查看/boot目录。也可以手动按tab被全。

    原文真的没看懂,按楼主说的,被格的两个分区,应该就是linux分区。linux分区在windows下是不可识别的。但格式化后,一定不能再进入linux系统。

    建议先学习一下分区知识。

  2. iroot 于 2010-08-13 22:52:46发表:

    可以登录linux后,使用grub-setup 命令。。。。

  3. 王中云 于 2010-08-13 21:59:55发表:

    建议用各自的系统光盘修复引导

  4. 相思爱文 于 2010-08-13 07:58:44发表:

    [i=s] 本帖最后由 相思爱文 于 2010-8-13 08:00 编辑 [/i]

    描述有点乱,请清哪个是你的设置,哪个是引用的(或者给出引用地址)

    是不是看的这篇文章http://os.51cto.com/art/201006/205349.htm

    还要说明你现在的具体如何分区和进行过什么操作