La situación inicial es: Windows XP + Ubuntu 9.04, utilizando el gestor de arranque GRUB de Linux.

Instalo Windows 7 sobre la partición donde se encuntra XP, lo que elimina GRUB del arranque y me deja únicamente con Windows.

Pruebo instalando EasyBCD en Windows 7 y la opción NeoGrub (copiando el menu.lst del antiguo grub de Ubuntu) pero no arranca Ubuntu.

Por suerte encuentro este hilo en el foro de Ubuntu y lo soluciono de la siguiente manera:

  1. Inicio el equipo con el live CD de Ubuntu.

  2. Abro un terminal y ejecuto lo siguiente:

sudo grub
grub> find /boot/grub/stage1

Esto devuelve la partición donde se encuentra Ubuntu instalado, que utilizaré en el primero de los siguientes comandos:

grub> root (hd0,4)
grub> setup (hd0)
grub> quit
  1. Con esto ya tengo de nuevo GRUB en el MBR y, en mi caso, no he necesitado modificar los parámetros del menu.lst, ya que la entrada anterior para Windows XP me sirve perfectamente para Windows 7.

En todo caso, según la guía del foro, la entrada a agregar sería esta:

title		windows 7
root		(hd0,1)
savedefault
makeactive
chainloader	+1