Recuperar grub
Recuperar grub, algo que a más de uno nos ha hecho falta después de reinstalar Windows ya que Windows en la instalación sobreescribe el MBR, esta es una miniguía que en simples pasos completará este objetivo.
Empecemos…
1ro – Debemos iniciar la máquina con el livecd de linux con el que haremos la operación.
2do – Después de habernos logueado en el livecd y haber habiento un terminal, ejecutamos “fdisk -l” para ver el estado de las particiones y “mount” para ver si las montó automáticamente, sino procederemos a montarla en una carpeta que creamos en /mnt/ mediante el comando “mkdir”, procedimiento completo “mkdir /mnt/recover/” y con “mount /dev/XdaY /mnt/recover/” la montamos finalmente.¿Qué son X e Y en este contexto? Pues fácil, X significa el tipo de disco duro que tenemos instalado en la máquina, comúnmente los HDD que usamos en nuestras computadoras son IDE o SCSI, entonces, los IDE se les denomina “hda” y los SCSI “sda”. La Y nos da el número de partición donde está instalado nuestro sistema, pero ¿Cómo sabemos en que partición está instalado nuestro sistema? La respuesta a esta pregunta se la dará el comando “fdisk -l” y “mount” como mencioné anteriormente. A partir de ahora asumimos que nuestro disco duro es “hda”.
3ro – Luego de montar la partición en /mnt/recover/ debemos ejecutar lo siguiente “mount –bind /dev/ /mnt/recover/dev/”, “mount –bind /proc/ /mnt/recover/proc/”, “mount –bind /sys/ /mnt/recover/sys/”, dejando el sistema listo para hacernos dueños de nuestro sistema que está en /mnt/recover/. Nos enjaulamos;) con “chroot”, pero, ¿Qué cosa es chroot? Chroot en un sistema operativo Unix es una operación que cambia el directorio raíz, afectando solamente al proceso actual y a sus procesos hijos. Así nos apoderamos del sistema que queremos recuperar. Después solo nos queda “chroot /mnt/recover/”, lo que nos dará una terminal como root.
4to – Ahora debemos ejecutar el “grub”, comando que nos interesa en este contexto. Grub nos devuelve un miniterminal el cual con la tecla TAB podemos ver los comandos que con los que interactúa. Ejecutamos “find /boot/grub/stage1″ donde nos daria algo asi: (hd0,0), el primer cero significa que es el primer disco duro de nuestra PC, el segundo puede variar depende el número de particiones que tengamos, por ejemplo (hd0,5) es la sexta partición del primer disco duro que tengamos. Sempre hay que sumarle 1 al último número y sabemos la partición exacta donde está nuestro sistema.
5to – Ejecutamos el comando “root (hd0,0)” modificando el segundo cero en dependencia de la respuesta al comando del paso anterior. Ya el “grub” sabe lo que necesitamos.
6to – Por último instalamos con “setup (hd0)”.
Con “setup hd0″ nos debe devolver algo así:
/******************************************/
Checking if “/boot/grub/stage1″ exists… yes
Checking if “/boot/grub/stage2″ exists… yes
Checking if “/boot/grub/e2fs_stage1_5″ exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 15 sectors are embedded.
succeeded
Running “install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,2)/boot/grub/stage2
/boot/grub/menu.lst”… succeeded
Done.
/******************************************/
Problema resuelto, sólo nos queda salir de grub con el comando “quit”, salir del sistema chrooteado con exit, y reiniciar nuestro ordenar con “reboot”, “shutdown -r” o con “init 6″, y sacamos el livecd.
7mo – Listo, al reiniciar, veremos al flamante grub trabajando optimamente.

Hay personas que recomiendan otra forma:
Después de los 3 primeros pasos, ejecutan “grun-install –root-directory=/mnt/recover/ /dev/hda”.
A mí me parece bien, ya que lo he hecho de las 2 formas y funciona igual, ahora el usuario deberia ser el que elija cual es la forma más eficaz, sencilla y rápida.
Salu2 y happy recovering…
