1、首先用LiveCD进入ubuntu
2、打开终端,输入:fdisk -l 查看自己linux的分区情况,我的分了4个区,swap,boot,/,home,对应的分别是:
/dev/sda9 swap
/dev/sda10 boot
/dev/sda11 /
/dev/sda12 home
3、开始挂载,这个地方时最容易出现问题的,其实我试了。根目录/和boot目录必须要挂载好,如下:
#mount /dev/sda11 /mnt
#mount /dev/sda10 /mnt/boot
#mount /dev/sda12 /mnt/home
当挂载没出错时,再执行下面的,也是最关键的:
#grub-install --root-directory=/mnt /dev/sda (注意此命令中root前面是两个减号横杠)
执行完后,会提示:Installation finished.No Error Reported.说明成功了
4、重新启动,可以看到系统选择界面了,这是还没完,因为这时只能用来引导Ubuntu 10.04,还暂时无法引导Windows 7
5、再进入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
6、然后再重启,用于恢复如初了!
##########
说明
##########
其实每个人在安装ubuntu时,分区时因人而异的,有的是默认安装那么应该是两个分区,如下:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1388 11149078+ 7 HPFS/NTFS
/dev/sda2 1389 3825 19575202+ 7 HPFS/NTFS
/dev/sda3 3826 9729 47423880 f W95 Ext'd (LBA)
/dev/sda5 3826 5851 16273813+ b W95 FAT32
/dev/sda6 5852 8323 19856308+ b W95 FAT32
/dev/sda7 8324 9598 10241406 83 Linux
/dev/sda8 9599 9729 1052226 82 Linux swap / Solaris
显然,是sda7和sda8,那么这是在挂载时,就方便了,直接:
mount /dev/sda7 /mnt
就ok了,如果你是跟我一样手动分区好几个,那你就逐个挂载,重要的是把根目录和boot目录挂载上,这个是必须的。我刚开始时就只挂载了boot目录,结果重启后不是系统选择界面而是,grub>
于是我用重新挂载,我分了四个区:
/dev/sda9 swap
/dev/sda10 boot
/dev/sda11 /
/dev/sda12 home
于是我把“/”挂载到/mnt目录下:
mount /dev/sda11 /mnt
然后把boot挂载到“/”下的boot目录下:
mount /dev/sda10 /mnt/boot
把home挂载到“/”下的home目录下:
mount /dev/sda12 /mnt/home
swap不用挂载。
然后再执行:
#grub-install --root-directory=/mnt /dev/sda
重启后就好了。
这是我总结的网上的一点方法,可能适应你的 ,也可能不适应。
但是我的至少解决了。
###################################
推论
###################################
当我第一次失败后,开机出现grub>,那是我没挂载对的原因。
所以,当你因为别的原因,开机出现:grub>
也可以用以上方法解决了。