El detalle es que su gestor de arranque principal es chameleon y no estoy muy seguro de como interactua este gestor de arranque con grub, pero si no me equivoco chameleon debería estar ocupando el MBR y grub debería estar instalado en la partición en la que se instaló ubuntu, así que para recuperarlo habría que trabajar con esa partición y no con el MBR.
Primero vamos a intentarlo desde el prompt de rescate que te aparece. Los comandos que te voy a pedir que ejecutes no hacen cambios permanentes y no son un riesgo así que pueds ejecutarlos con confianza:
1* Ejecuta
ls en
grub recovery>, esto te debería mostrar las particiones que reconoce grub.
2* Si no sabes en cual fue que instalaste Ubuntu entonces es hora del ensayo y error, y teniendo en cuenta que grub está instalado en la partición de ubuntu entonces no deberían aparecerte muchas particiones (cuando mucho 3, depende de como particionaste):
- Anota la partición en la que creas que está instalado el Grub, por ejemplo
(hd0,1), sería la partición 1 del disco princpal (supongo que tienes un solo disco duro y por eso pongo hd0), y ejecuta el comando
Código:
grub recovery>set prefix=(hd0,1)/boot/grub
si te da un error como de no encontrado o algo parecido entonces prueba con otra partición.
3* Si se ejecutó bien el comando anterior, ejecuta ahora
Código:
grub recovery>set root=(hd0,1)
4* Para confirmar que hasta ahora todo va bien ejecuta el comando
set (set sólo, sin nada más) y revisa que donde dice prefix esté todo igual a lo hecho en el paso 2, osea, prefix=(hd0,1)/boot/grub en mi ejemplo.
5* Confirmado lo anterior ejecuta ahora
para que se liste el contenido de la carpeta boot, si vamos bien deberías ver la carpeta
grub, uno o varos archivos que empiecen con
initrd seguido de la versión del kernel, uno o varos archivos que empiecen con
vmlinuz y la versión del kernel (la cantidad dependerá de cuantos kernels tengas instalados).
6* Si confirmaste lo anterior entonces ahora toca cargar el módulo necesario para arrancar el sistema así que ejecuta el comando
Código:
grub recovery>insmod /boot/grub/linux.mod
7* Si no te manda error ahora hay que cargar el kernel y la imagen ejecutando los comando
Código:
grub recovery>linux /vmlinuz root=/dev/sda1 ro
sda1 es igual a la partición (hd0,1). Al ejecutar el comando debería (aunque puede que no) de aparecer un mensaje avisando de que se cargó un kernel. Luego ejecuta
Código:
grub recovery>initrd /initrd.img
Por último ejecuta el comando
boot y si todo sale bien Ubuntu debería iniciar y una vez que arranque abre un terminal y ejecuta
y fijate que en la información que aparezca se reconozcan todas las particiones de ubuntu (no creo que deba mostrar ni la de mac ni la de windows) y luego reinicia y ve si se arregló, sino, entonces es probable que como paso adicional tengas que reinstalar el grub ejecutando un
sudo grub-install /dev/sda1 (siendo que en mi ejemplo la partición en la que se instaló ubuntu es sda1) antes del
update-grub
Se que parece complicado pero creeme que no lo es tanto, es sólo cuestión de anotar la secuencia de comandos y ejecutarlos con paciencia y leyendo bien los mensajes que aparezcan. Otra manera de recuperar el grub es, como ya te mencionaron, con un liveCD pero el proceso sería similar aunque quizás un poco más cómodo.
saludos.