Si has tenido que reinstalar Windows el gestor de arranque de Linux,GRUB, será reemplazado por el boot.ini de Windows XP o anterior, o por el bcd.log de Windows Vista. Si una vez reinstalado Windows quieres volver a tener GRUB debes hacer lo siguiente:

  1. Insertar el CD de la distribución Linux (en este caso Ubuntu).
  2. Abrir el Terminal y ejecutar estos comandos:
$ sudo grub               --> ejecutamos el interprete de comando de grub
> find /boot/grub/stage1  --> busca donde esta la partición de ubuntu
> root (hdX,Y)            --> poner el valor devuelto anterior
> setup (hd0)             --> instala grub en nuestro primer disco duro(hd0), 
                               que es con el que inicia la computadora
> quit                    --> salimos del intérprete de comando de grub
  • hd0: es el primero disco duro completo, al igual que hda o sda.
  • hd0,0: es la primera partición del primer disco duro, al igual que hda1 o sda1.
  • hd0,1: es la segunda partición del primer disco duro, al igual que hda2 o sda2.
  • hd1,2: es la tercera partición del segundo disco duro, al igual que hdb3 o sdb3.
$ sudo mkdir /media/ubuntu
$ sudo mount /dev/hda1 /media/ubuntu
$ sudo mount --bind /dev /media/ubuntu/dev
$ sudo chroot /media/ubuntu/
# grub-install /dev/hda

Ahora ya debería de cargar el GRUB con todos los SO que haya en el ordenador. Puede que el boot.ini siga estando presente como por ejemplo en el mensaje anterior con el Windows Vista y XP, si introducimos Linux es posible que GRUB detecte uno de los dos y te lleve al boot.ini para seleccionar entre uno de los dos.

Fuente y más información en: http://www.guia-ubuntu.org/index.php?title=Recuperar_GRUB