当时的情况是,在原有XP的主机上再安装了ubuntu9.04后一切正常,进入ubuntu9.04进行升级,升级到10.04的版本的过程中升级提问是否升级grub2选择了升级,但在选择引导盘时没有选择XP系统下的C盘,升级完成后再次重启引导grub时直接接报错
error: the symbol 'grub_puts_' not found
grub rescue>
连XP都进不入去,于是用深度XP V8.1的盘从光驱启动,进入DOS输入更新MBR的命令
fdisk /MBR
重启后,GRUB不见了,直接进了XP,又在XP下用ubuntu10.4安装了LIVE CD 进入LIVE环境,然后中LIVE中进行修复
sudo fdisk -l  找到分区
sudo -i   切换到root
mkdir /media/tempdir  建一个目录
mount /dev/sda5  /media/tempdir  把根分区挂载到刚建的目录,我没有/boot分区,直接是根分区
grub-install --root-directory=/media/tempdir /dev/sda  安装GRUB

输入以后如果出现“Installation finished.No Error Reported.”字符的时候,就表示操作成功了。但是现在只成功的一半,还有以下操作才能够完全成功。
重启GRUB出来了,顺利进入Ubuntu 10,04
sudo update-grub2
如果顺利的话,会出现如下类似语句,那就表示成功了。

grub.cfg ...

Found Debian background: moreblue-orbit-grub.png

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

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

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