Home » ubuntu » 2008 » 12 » 教你使用Ubuntu LiveCD安装及修复GRUB

教你使用Ubuntu LiveCD安装及修复GRUB

1 Star2 Stars3 Stars4 Stars5 Stars (欢迎您为本文打分)
Loading ... Loading ...

本文将分两部分讲解使用Ubuntu LiveCD安装及修复GRUB,一部分为主引导分区,另一部分为非主引导分区。

一、安装到mbr(mbr=Master Boot Records,主引导记录区)
    因为安装windows,或者不小心删除/改变了mbr,都有可能导致启动时看不到grub的引导菜单或者提示出错,下面是恢复的办法
    (写于Ubuntu下,但应该可适用于其它系统)
    使用Ubuntu livdCD启动,出现桌面后,打开一个终端,输入:
    sudo grub
    然后在grub>下输入
    grub>find /boot/grub/stage1
    查找到grub的文件所处的位置,如果安装了多个linux系统,会全部显示出来,看好Ubuntu的/boot/grub/所在的位置,然后
    grub>root (hd?,?)
    (hd?,?)中的问号用Ubuntu下的/boot/grub/位置取代,比如上面的find命令查找结果是hd(0,1),那这儿就是root(hd0,1)
    使用下面的命令把grub安装到mbr上:
    grub>setup (hd0)
    退出
    grub>quit
    解释一下:
    sudo grub得到grub命令解释器
    find /boot/grub/stage1用来查找stage1文件的位置,它告诉我们grub的文件在哪儿。只有一小部分grub放在mbr上,其它部分位于你的boot文件夹。grub需要这些文件来安装。
    最后setup(hd0)把grub安装到hd0。当使用hd0参数而没有提供具体分区时,grub安装到mbr。grub认为hd0是第一个硬盘的mbr区标志。

二、安装到其它分区
    thanks to 5-HT
    如果想把grub安装到一个分区而不是mbr上,把setup (hd0)改成setup (hdx,y)。X表示是第几块硬盘,Y是这块硬盘上的第几个分区。grub的计数方法是从0开始(如hd0,1表示第一块硬盘上的第2个分区)

三、如果grub找不到stage1文件或认不出硬盘
    thanks to TOSK
    1.使用livdCD加载/root分区
    sudo mkdir /mnt/root
    sudo mount -t ext3 /dev/sda6 /mnt/root
    2.在/mnt/root下加载proc与udev
    sudo mount -t proc none /mnt/root/proc
    sudo mount -o bind /dev /mnt/root/dev
    这样grub能认出你的驱动器乐。下一步:
    sudo chroot /mnt/root /bin/bash
    关于chroot,参见:
    什么是chroot   

    chroot linux中所有的服务
    然后如果想安装grub到mbr上,见一,想安装到一个分区,见二
    俺做过的事:
    (一)安装到mbr上,这台机器上有3个os,都能良好运行。
    (二)安装到一个分区,这台机器上也有3个os,俺安装到hd(2,0)上,结果刚开始时grub菜单没出现,因为电脑是默认从hd0上找启动器的,后来改成从hd2启动,就解决问题了。
    grub手册
    GNU GRUB Manual 0.97
    祝您好运!


原创文章转载请注明:锐博_资源资讯共享网
欢迎收藏本文:


1 条评论 »

名称 (必填 - 游客随意填写)*
电子邮件 (必填 - 不会对外公布)*
博客(网站)
将留言内容发送到我的邮箱
您的评论 (小尺寸 | 大尺寸)     :lol: :oops: 8) ;) 8O :| :cry: :x :roll: :P :( :o :?: :? :D :)

回复中可使用的代码: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback responses to this post