红联Linux门户
Linux帮助

使用live-cd修复grub报错

发布时间:2011-09-24 16:53:49来源:红联作者:t8c
[i=s] 本帖最后由 t8c 于 2011-9-24 16:59 编辑 [/i]

详细提示
chroot: cannot run command `update-grub': No such file or directory
文章评论

共有 5 条评论

  1. t8c 于 2011-09-26 18:02:34发表:

    [i=s] 本帖最后由 t8c 于 2011-9-26 18:35 编辑 [/i]

    5# taste0721
    根据你的描述,应该是MBR出错,在光盘版或优盘版WinPE下用Diskgenius修复MBR,进XP后试试下面的办法
    使用 g2ldr 通过 windows 启动菜单引导 Ubuntu 9.10:
    附件:
    c_g2ldr.zip [450.35 KiB]
    被下载 1823 次
    下载附件,将 grub2 、g2ldr 和 g2ldr.mbr 解压到C盘根目录;再在 boot.ini 里添加一行
    代码:
    c:\g2ldr.mbr="g2ldr.mbr"
    即可。(最好在 window 里操作,因为 window 要求的换行符和 linux 不太一样。)

    如果C盘没有 boot.ini 文件,就手动创建一个,内容如下:
    代码:
    [boot loader]
    timeout=9
    default=C:\g2ldr.mbr
    [operating systems]
    C:\g2ldr.mbr="g2ldr.mbr"

    我的Ubuntu 10.04用上面的方法就可以启动了

    如果感兴趣可以看看下面的内容,由于你用的是fedora,所以可能需要做适当修改
    2.g2ldr 制作方法(需在 ubuntu 9.10 中):

    在终端中运行以下命令:
    代码:
    grub-mkimage -d /boot/grub -p /grub2 -o ~/core.img part_msdos biosdisk fat ntfs ext2 reiserfs
    cat /boot/grub/lnxboot.img ~/core.img > ~/g2ldr

    就能看到 g2ldr 乖乖地躺在你的主目录里 :D
    其中, part_msdos 是识别 MS-DOS 分区表模块, biosdisk 使用INT 13访问硬盘的模块, fat ntfs ext2 reiserfs 是文件系统模块,可根据需要自行调整。还有其他模块,也可根据需求添加。
    参数 “-p /grub2” 指定 g2ldr 默认从 /grub2 读取 *.mod 和 grub.cfg。这样区别于 grub 默认目录 (/boot/grub) ,就可以通过搜索 /boot/grub/core.img 来确定 ubuntu 分区。


    如何使用:
    1. 把 g2ldr 和 g2ldr.mbr(见附件)拷贝到 C 盘根目录
    附件:
    g2ldr.mbr.zip [8.11 KiB]
    被下载 539 次

    2. 把 /boot 中的 grub 文件夹拷贝到 C 盘根目录,并改名为 grub2
    3. 在 boot.ini 里添加一行(最好在 window 里操作,因为 window 要求的换行符和 linux 不太一样):
    代码:
    c:\g2ldr.mbr="g2ldr.mbr"
    即可。如果C盘没有 boot.ini 文件,就手动创建一个,内容如下:
    代码:
    [boot loader]
    timeout=9
    default=C:\g2ldr.mbr
    [operating systems]
    C:\g2ldr.mbr="g2ldr.mbr"

    搜索已安装的 ubuntu 9.10 并启动之:
    向C盘 /grub2/grub.cfg 中添加以下启动项
    代码:
    menuentry "Search and boot ubuntu 9.10 (/boot/grub/core.img)" {
    insmod ext2
    insmod reiserfs
    insmod xfs
    insmod jfs
    search --set -f /boot/grub/core.img
    multiboot /boot/grub/core.img
    }

    menuentry "Search and boot ubuntu 9.10 (/grub/core.img)" {
    insmod ext2
    insmod reiserfs
    insmod xfs
    insmod jfs
    search --set -f /grub/core.img
    multiboot /grub/core.img
    }

    可用来搜索、启动硬盘中的 ubuntu 9.10
    [attach]35956[/attach]




    [attach]35957[/attach]

  2. taste0721 于 2011-09-25 22:00:47发表:

    解决了吗?我的grub项也被自己改乱了,导致现在fedora跟xp都进不了,想学一下

  3. 相思爱文 于 2011-09-25 19:50:56发表:

    3# t8c


    grub2是通用的,与系统无关。

    就算没有操作系统,grub2也能工作。

  4. t8c 于 2011-09-25 09:41:57发表:

    2# 相思爱文
    从网上找了Ubuntu9.10的grub2,启动成功,可是这样会不会有兼容性方面的问题?

  5. 相思爱文 于 2011-09-24 20:21:50发表:

    请详细说明,所用系统,软件版本,操作方法等。
    还要列出参考教程。
    如果手上没有教程,先用google搜索。

    方法:liveCD启动,挂载,chroot,然后重装grub。