It should work…

Cuando cualquier trasto es útil

It should work… header image 2

[HOW TO] Cómo recuperar GRUB

September 28th, 2008 · 5 Comments · linux

El caso es que no paran de llegar búsquedas de algo que no está explicado en este blog, así que vamos a ello.

Te acabas de cargar grub por la razón que sea: has actualizado a una versión que no arranca, has reinstalado windows, has borrado tu MBR porque te aburrías, querías saber para qué servía dd, … Aquí tienes tu solución.

A día de hoy me parece que los cds de Ubuntu llevan un “restaurador de grubs” y existen cosas molonas como Super Grub Disk pero será que estoy chapado a la antigua así que yo sigo fiel a usar un livecd (o un usb arrancable) y una shell.

Lo primero será hacernos con un livecd. Si el sistema instalado es de 32bits arranca con uno de 32bits y si es de 64bits con uno de 64bits o en uno de los pasos cascará el tema.

Paso 1: Arrancar

Arrancamos: configura la bios para arrancar de donde toca y arranca apretando el botoncito de power on. En cuanto esté el sistema arrancado abre una shell de root.

Paso 2: Montar

Lo primero es montar nuestro sistema dentro del árbol de directorios del sistema live.

Creamos una carpeta que será ‘raíz’

# mkdir /mnt/caca

Seguramente ya conoceremos cuales son nuestras particiones pero si no podemos usar fdisk para verlas

#  fdisk /dev/sda

Suponiendo un caso sencillo y común: sda5 es “/boot”, sda6 es swap, sda7 “/” y sda8 “/home”. Montamos las particiones

# mount /dev/sda7 /mnt/caca

# mount /dev/sda5 /mnt/caca/boot

# mount /dev/sda8 /mnt/caca/home

Swap no hace falta montarla y en realidad /home tampoco pero bueno.

Ahora tenemos que ‘duplicar’ /dev porque es un directorio que se rellena dinámicamente en el arranque gracias a udev y si el sistema a recuperar no ha arrancado… pues puede no haber nada. Cogemos el generado por el livecd.

# mount -o bind /dev /mnt/caca/dev

Y por último montamos /proc que es, de una manera rápida y cerda, donde el sistema tiene información sobre sí mismo.

# mount -t proc none /mnt/caca/proc

Si quieres tener internet y no tienes las DNS configuradas quizá quieras copiar las DNS del livecd.

# cp /etc/resolv.conf /mnt/caca/etc/resolv.conf

Paso 3: Acceder al sistema

Ahora vamos a hacer un chroot y hacer que la nueva raíz del sistema sea /mnt/caca.

# chroot /mnt/caca /bin/bash

Ahora estamos dentro del sistema que queremos recuperar, lo propio sería actualizar lo primero las variables de entorno y esas cosas para asegurarnos que las cosas no fallen. En Gentoo se haría:

# env-update && source /etc/profile

Ahora vamos a modificar el mtab con los montajes del sistema:

# cat /proc/mounts | grep -v rootfs > /etc/mtab

Paso 4: Arreglar

Si hemos puesto una versión de grub que falla, cambiamos a la versión anterior X, en Gentoo:

# emerge =grub-XX

Para el resto de casos simplemente lo reinstalamos en el MBR

# grub-install /dev/sda

Si grub-install te falla, lo puedes hacer a mano ejecutando grub y luego en la shell de grub (siendo root el sitio donde está grub, es decir /boot)

grub> root (hd4,0)

grub> setup (hd0)

grub> quit

Paso 5: Reiniciar

Ya lo tenemos recuperado así que ahora toca salir del chroot con exit, desmontar todas las particiones, reiniciar, quita el livecd y s’acabó!

No hace falta decir que en el caso de que cambiáramos de kernel, fallara y no tuviéramos otro para arrancar podríamos hacer el mismo proceso para acceder al sistema, recompilarlo e instalarlo.


Fuente original en http://vierito.es/wordpress

Similar Posts:

[HOW TO] Cómo recuperar GRUB

Tags: ·······

5 responses so far ↓

  • 1 kuasar Gentoo Linux Mozilla Firefox 3.0 // Sep 28, 2008 at 10:50 pm

    Esto está mu bien tenerlo aquí de tan fácil acceso. Siempre pregunta alguien en los cursos de Linux, y yo nunca he tenido que hacerlo.

  • 2 mageles Ubuntu Linux Mozilla Firefox 2.0.0.16 // Sep 29, 2008 at 10:10 am

    Gracias a Dios no he tenido que hacerlo nunca, pero entre esto y la docu del curso de Linux Básico espero poder salir del paso si me hace falta algún día ;)

  • 3 carrie Windows XP Mozilla Firefox 3.0.3 // Sep 29, 2008 at 5:11 pm

    El 100% de tus lectores que han comentado el post no lo han tenido q hacer nunca.
    Además el 100% de los mismos son mujeres.
    Conclusión: Si tienes tetas no tendrás q reinstalar el grub.
    Gracias por el post vai, parece útil.
    PD: Avisaré a mazcu de q no se le va a joder el grub nunca ;)

  • 4 vierito5 Linux Mozilla Firefox 2.0.0.16 // Sep 29, 2008 at 11:17 pm

    @kuasar: el siguiente post testdisk!!

    Ahora cuando vengan con el problema en los cursos de linux los redireccionáis aquí jeje.

    @carrie: se confirma la regla! yo no tengo tetas, por ahora, y más de una vez me ha tocado para cambiar la versión de grub y un huevo para arreglarle el arranque a la gente. Mazcu puede estar tranquilo.

  • 5 Testdisk | It should work... WordPress abc // Sep 30, 2008 at 2:43 pm

    [...] RSS ← [HOW TO] Cómo recuperar GRUB [...]

Leave a Comment