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>


也可以用以上方法解决了。