重装Win7后会导致原grub引导被覆盖,要修复grub需要一张Ubuntu的LiveCD(安装光盘),用LiveCD启动电脑,进入Try Ubuntu(试用Ubuntu),进入之后打开终端,做如下几步:
1、sudo -i
2、fdisk -l 将列出系统分区情况。比如如下:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x70f7ab9c
Device Boot Start End Blocks Id System
/dev/sda1 1 1627 13060096 27 Unknown
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 1627 1639102400 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3 1639 8166 52429859 7 HPFS/NTFS
/dev/sda4 8167 38913 246975277+ 5 Extended
/dev/sda5 8167 32385 194539082+ 7 HPFS/NTFS
/dev/sda6 32386 38788 51432066 83 Linux
/dev/sda7 38789 38913 1004031 82 Linux swap / Solaris
要凭自己的记忆或综合包括以上这些信息在内的资料,知道原grub引导列表的主盘,即排在原列表第一行的那个,有事实上的/boot/grub/文件夹存在的。比如是sda6,则
3、mount /dev/sda6 /mnt
/mnt 也可以是随便取的一个名字
4、grub-install --root-directory=/mnt /dev/sda
表示安装grub2(此软件名称是grub-pc)到硬盘的主引导记录【MBR】里面,确定硬盘sda的主引导区在sda6。如果当前牌不是原主盘,将提示“找不到grub.cfg,是否新建”的信息,这时就需要确认是否主盘(若同意新建,但又确实不是主盘,找不到对应引导记录,reboot后将进入grub模式,此时也可以通过ls (hd0,1)、ls (hd0,1)/boot这样的命令查看文件夹结构以及内容,进一步确认主盘;参考http://news.2ky.cn/Linux/Grub_Rescue.htm)。
等待一会儿,若出现Installationfinished,No Error Reported则表示成功了。
5、reboot
重启后可以看到原来熟悉的ubuntu引导界面了。此后还有最后一步,进入ubuntu系统,输入命令
sudo update-grub
通过原来的grub.cfg存储的信息,界面将给出发现和确认的引导记录。大功告成。