红联Linux门户
Linux帮助

Ubuntu修复Grub2笔记

发布时间:2015-04-28 11:41:14来源:linux网站作者:flycat

过程跟网上分享的Ubuntu其它版本方法基本一致,而Ubuntu旧版的方法已经不再适用了。首先用livecd启动,然后在终端下切换到root权限:(你不限麻烦的话可以跳过这一步,在一下的每一步前面加sudo)
sudo -i

接下来找一找你Ubuntu所在分区,用:

fdisk -l


我的部分输出如下:

Device Boot      Start         End      Blocks   Id System
/dev/sda1               1         914     7341673+ 12 Compaq diagnostics
/dev/sda2   *         915        4967    32554359    7 HPFS/NTFS
/dev/sda3            4968        8006    24410767+ 83 Linux
/dev/sda4            8007       19457    91980126+   5 Extended
/dev/sda5            8007       14085    48829536   83 Linux
/dev/sda6           14086       14328     1951866   82 Linux swap / Solaris
/dev/sda7           14329       14344      128488+ 83 Linux
/dev/sda8           18485       19457     7815591    b W95 FAT32
/dev/sda9           14345       18308    31839232   83 Linux
/dev/sda10          18308       18484     1413120   82 Linux swap / Solaris


内容有点多,因为我是3系统- -!,而我Ubuntu根目录所在的分区就是/dev/sda9,如果你不确定的话就找id为83的吧。

下面挂载原系统的根目录:

mount /dev/sda9 /mnt

将/dev/sda9挂载到了/mnt下,当然你也可以选其他地方。这里注意,如果你有单独为/boot分区的话,要单独挂载一次/boot,比如说如果你原来的/boot挂载到/dev/sda12上了,那个你这里要再输入mount /dev/sda12 /mnt/boot。我这里没有把它单独分出来,所以就不需要了。


下面是最后一步了:

grub-install --root-directory=/mnt /dev/sda (注意:/mnt后面有空格键)

这里我刚开始的时候自做主张的写成了grub-install --root-directory=/mnt /dev/sda9,同学们不要学我!

如果看到

Installation finished.No Error Reported.

就表示已经成功啦!重启看看,熟悉的grub引导画面是不是又回来了?


这时重新启动你的电脑,就能看到grub2的引导界面了,但是这时只能用来引导Ubuntu,还暂时无法引导Windows 7,这时选择进入Ubuntu,再找到并启动终端,在终端输入如下命令:

sudo update-grub2

按照提示输入密码,如果顺利的话,会出现如下类似语句,那就表示成功了。

grub.cfg ...

Found Debian background: moreblue-orbit-grub.png

Found linux image: /boot/vmlinuz-2.6.31-15-generic

Found initrd image: /boot/initrd.img-2.6.31-15-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Windows 7 (loader) on /dev/sda1

done

如果没有出现以上类似语句的话,那就在新立得里面搜索grub,可以安装带有Ubuntu标志的那个grub-pc,安装之后,再输入

sudo update-grub2   

更新一下grub2就可以了。