Arreglar grub2 | Algo de Linux

martes, 1 de junio de 2010

Arreglar grub2

Hasta ahora era muy sencillo reparar grub utilizando un sistema live, puesto que teníamos grub 1 tanto en el sistema live como en el disco instalado. El problema que tenemos ahora es que nuestros discos live tienen grub 1 y los sistemas que se instalan actualmente tienen grub 2.

Tengo un disco recopilatorio de herramientas como System Rescue, entre las que cuento con otras como Backtrack. Habitualmente suelo tirar de System Rescue para casi todo, pero como no he podido hacer un chroot con System Rescue, he tenido que recurrir a Backtrack, que sí me lo permitía.

El sistema en el que tenía que reparar grub 2 disponía de un sistema dual Windows/LinEx 2010. Para arreglarlo, lo primero que hice fue arrancar Backtrack e introducir los datos de administrador: root - toor.

Bien. Pues ya tenía acceso a un terminal. Lo siguiente sería ver la lista de particiones para saber dónde se encontraba instalado grub 2:

# fdisk -l

Al ejecutar fdisk -l, ví la lista de particiones del disco duro y observé que linux se encontraba instalado en /dev/hda2.

Como Backtrack monta automáticamente todas las particiones que encuentra, no tuve más que hacer un mount para ver dóne se encontraba montada hda2:

# mount

La ejecución del comando anterior me mostró que la partición /dev/hda2 se encontraba montada en /mnt/hda2.

Monté /dev en la partición hda2:

# mount --bind /dev /mnt/hda2/dev

Y ejecuté el comando chroot para acceder al sistema instalado en /dev/hda2 (en este caso LinEx 2010):

# chroot /mnt/hda2

Bien, pues una vez hecho el chroot, realicé la instalación de grub:

# grub-install --recheck /dev/hda

Actualicé grub:

# update-grub2 

Y listo. Lo último fue salir del chroot:

# exit

Y reiniciar, sacando el cd live para arrancar desde el disco duro.