ubuntu windows用grub启动问题

如果你是ubuntu和windows多系统,当你重新安装windows后,就会使MBR中只存在windows的起动选项,没有了ubuntu的grub,导致你无法进入ubuntu系统,但你可以用如下方法解决:
用ubuntu的LIVECD(即安装光盘)启动,进入livecd系统,打开终端

输入sudo grub        回车
然后输入:
grub> find /boot/grub/stage1   注:这里是数字1,不是英文小写的L,前面的“grub〉”为提示符,不需要输入 ,下同
输出如下:
(hd0,1)
注:在ubuntu7.04以后的版本会出现find不到结果的现象,可能是因为这种版本用/dev/sda来表示分区的原因,而grub是用hd0来表示造成不兼容。所以需要你自己查找/boot所在的分区号。另开一个终端,使用命令:
sudo fdisk -l
列出你所有的分区号。
    1、如果/boot没有单独分区:那么只需要知道/分区的分区号。比如/分区号为/dev/hda5,那么我们所需要的结果就是(hd0,4)。
    2、如果/boot单独分区:那么需要知道/boot分区的分区号。比如/boot分区号为/dev/hda8,那么我们所需要的结果就是(hd0,7)。

然后输入:
grub>root (hd0,1)    注:这里的括号中的内容就是刚才输出的内容或者你自己查找到的/boot所在分区的分区号,其中还是数字0和1。
grub>setup (hd0)     注:这里的括号中的内容为刚才输出的内容中,逗号前面的内容。

如果结果类似下面的结果,那就是成功把grub安装到了MBR。(分区号可能与你的不一致,没问题。)

 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+17 p (hd0,8)/grub/stage2 /grub/menu
.lst"... succeeded
Done.

输入quit退出grub模式。

最后取出光盘重新启动即可看到熟悉的grub引导界面,然后就可以进入自己的ubuntu系统了。

转载于:https://my.oschina.net/dake/blog/196818

猜你喜欢

转载自blog.csdn.net/weixin_34326558/article/details/91508339