Solucionar error en Grub al instalar o actualizar a Ubuntu Lucid Lynx

El error que os comento lo he sufrido al instalar Ubuntu 10.04 Lucid Lynx desde cero, sin respetar siquiera el /home, y ocurre en el primer reinicio dejando a GRUB sin posibilidad de ejecutarse y por lo tanto sin poder arrancar Ubuntu.

El mensaje de error que aparece es algo así como: “Fix symbol ‘grub_puts’ not found”.

¿Por qué ocurre?

Si intentas tener instalado GRUB en un disco que no es el primario, puedes tener problemas. Sin embargo, en modelos como el mío un Eee PC 901, es posible modificar el primario/secundario desde la BIOS por lo que hasta ahora no sufría ese problema.

En las versiones de kernel más recientes, GRUB puede reconocer independientemente de la BIOS el orden de los discos y ahí es donde aparece el problema.

Solución

  1. Arrancar una versión Live, ya sea desde USB o CD de cualquier distribución reciente. Si es la misma Ubuntu 10.04 mejor que mejor.
  2. Ejecutar el gparted y detectar dónde tenemos anclado la partición / , en mi caso era sdb1 (en el vuestro puede ser uno distinto, para el resto de la explicación hablaré de sdb1 pero vosotros poned el que os corresponda, sdc1 o el que sea).
  3. Montar el disco: sudo mount /dev/sda1 /mnt
  4. Unir los directorios necesarios y cambiar la raíz de referencia del sistema:
    sudo mount –bind /dev /mnt/dev
    sudo mount –bind /proc /mnt/proc
    sudo mount –bind /sys /mnt/sys
    sudo chroot /mnt
  5. Como tendréis instalado GRUB en el equipo no hay problema, pero si aún así queréis aseguraros: apt-get install grub-pc
  6. Creamos el fichero de configuración: grub-mkconfig -o /boot/grub/grub.cfg
  7. Lo instalamos: grub-install /dev/sdb
  8. Y finalmente actualizamos GRUB: sudo update-grub

En el siguiente reinicio no tendréis problemas y podréis disfrutar de Lucid Lynx. Puesto que ya está abierto el bug en Launchpad, supongo que en breve no tendréis ni que leeros estas líneas, pero para mientras tanto espero que os sirvan.