sábado, 23 de mayo de 2009

Reparar el arranque del disco duro: lilo, grub, windows,...

Imagen de la interfaz de Super Grub Disk en funcionamiento


Introducción

La situación es la siguiente: Un día se te ocurrió tener un computador con arranque dual. Entonces particionas el disco duro y te dispones a instalar alguna distribución (Ubuntu, OpenSuSE, Mandriva, etc) para luego instalar o reinstalar Microsoft Windows. Tras reiniciar el equipo te das cuenta de que Windows se inició automáticamente y de Linux, nada, desapareció. O en el peor de los casos simplemente da un error porque el MBR está corrupto y no puedes arrancarlo.

También es posible que tras algunos meses de uso de tu arranque dual y de ambos sistemas un buen día "amanezcas" con un mensaje avisándote de que el mbr está corrupto, lilo o grub no funcionan o ¨Windows no encuentra su sector de inicio.

Bueno estimado(a), ese es un error muy frecuente a la hora de hacer un “dual boot” en nuestra máquina.

En el primer caso, probablemente el error estuvo precisamente en la elección del orden de instalación de los sistemas operativos. Cuando quieran instalar dos o más sistemas operativos en un disco duro siempre dejen a Linux por último. Eso debe ser así porque Windows sobreescribre el MBR (Master Boot Record) en el momento de la instalación y borra cualquier gestor de arranque anteriormente instalado. Como a Microsoft Windows sólo le gusta compartir espacio con sus primogénitos, el orden de instalación ideal sería:

1. Windows 3.1
2. Windows 95
3. Windows 98
4. Windows NT
5. Windows ME
6. Windows 2000
7. Windows XP
8. Windows Vista
9. Linux, BSD, Solaris, etc

En el segundo caso, probablemente se deba a un error de escritura, corte de suministro o similar en algún momento de nuestro trabajo con el equipo.

Para cualquiera de los dos casos hay dos soluciones bastante sencillas, en la primera vamos a hacer uso de un software específico para recuperar los arranques de nuestros discos, en la segunda emplearemos un live-cd de arranque de cualquier distribución linux.

Ambas soluciones son "cortesía" de las páginas web que podéis ver, como siempre al final de la entrada. ( Esta vez toda mi tarea se ha limitado a un copy/paste y a modificar un enlace ).

----------------------------- PARA SEGUIR LEYENDO PULSA EN EL ENLACE LEER MAS



Reparar el arranque con Super Grub Disk (SGD)

Hay varias soluciones para reparar el arranque, pero hay una opción bastante completa y fácil de usar tal y cómo podéis ver en la imagen que encabeza esta entrada: Super Grub Disk (SGD)

Super Grub Disk es un Live CD que tiene una gran cantidad de funciones a la hora de arreglar el arranque roto, a las que se puede acceder de una manera fácil. Podemos reparar el arranque de Linux (Grub y Lilo), el de Windows y otros sistemas.

¿Cómo usarlo? Fácil: se debe descargar la imagen de SGD, grabarla (existen versiones para Floppy, USB y, por supuesto para grabar en un CD con cualquier programa de grabación ) y arrancar la computadora con el SGD en la unidad lectora. Con un par de teclas elegir la opciones deseadas y ¡Listo!, el arranque vuelve a andar.


Recuperar el Arranque con un Live-CD de Linux

Para solucionar el problema sólo necesitarás de un Live-CD Linux, como Knoppix por ejemplo (también sirve Ubuntu). Esta no es la forma más fácil de todas, pero sirve para cualquier distribución que hayas instalado en tu disco duro.

Cuando arranques el computador con el Live-CD deberás ubicarte en una terminal de comandos.

En el caso de Knoppix las particiones existentes en el disco duro son montadas como sólo-lectura, por lo tanto será necesario desmontar la partición que corresponde al sistema Linux que habías instalado en tu disco duro para luego volver a montarla como lectura-escritura.

Eso lo hacemos con:

umount /dev/hda2

En este ejemplo Linux se encuentra instalado en la 2º partición del disco maestro en el IDE primario, cámbienlo al que les corresponde si es necesario.

Luego crearemos una carpeta temporal para seguir trabajando desde ahí.

mkdir linuxdir

Y la montamos:

mount -w /dev/hda2 /linuxdir

Ahora ejecutaremos el comando chroot que nos permitirá configurar el directorio linuxdir (el que creamos recientemente) como si fuera el directorio raíz del sistema Linux instalado en el disco duro.
Entonces:

chroot linuxdir

Desde ahora todo lo que hagas en el terminal influirá en el sistema Linux que habías instalado en el disco duro. Es como si hubieras arrancado con él.

Ahora solo debes recuperar el gestor de arranque, sobreescribiendo el de Windows.

Si habías instalado GRUB con tu sistema Linux, entonces ejecutaremos:

grub-install /dev/hda (recuerden que en estos ejemplos el disco duro es el maestro del IDE 1, cámbienlo al que les corresponde si es necesario)

Si habías instalado LILO, entonces ejecutas:
lilo -v (el parámetro -v es opcional y sirve para mostrar en pantalla lo que el comando ha hecho)

Con esto ya deberías tener nuevamente un gestor de arranque en el MBR para ejecutar tu sistema Linux.

Ahora ejecutas:

exit (para salir del entorno chroot)
umount /linuxdir (para desmontar la partición de Linux anteriormente montada por ti)
reboot (para reiniciar la máquina, y recuerda quitar el Live-CD)


Enlaces:
Super Grub Disk (SGD): http://www.supergrubdisk.org/
ArchivoGeek: http://www.archivogeek.com/linux/general/como-recuperar-lilo-o-grub-en-el-mbr/
PcTux: http://www.pctux.com.ar/2007/09/reparar-el-arranque-con-super-grub-disk.html
La choza del tio tux: http://lachozadeltiotux.blogspot.com/2007/08/como-recuperar-tu-grub-despues-de.html

4 comentarios:

LoiS dijo...

Donde se encuentra el enlace, de la imagen .ISO,dentro de la pagina http://www.supergrubdisk.org/
para descargármela.
lo siento pero hay varias y me lia un poco.
concreta el enlace de la .ISO

Gracias*

Juan dijo...

a la derecha tienes unos enlaces que ponen Download2, dónde puedes escoger desde que dispositivo lo vas a arrancar -si lo vas a grabar en un usb, en un cd,...- por ejemplo para grabar la imagen en un cd:
http://www.supergrubdisk.org/index.php?pid=5

Juan dijo...

si están las isos o img accesibles:
http://developer.berlios.de/project/showfiles.php?group_id=10921

si sigues teniendo problemas dímelo mañana y te comento

DirectorioInformatica dijo...

Una cosa que puede ser práctica es borrar el MBR (donde esta instalado grub)
En windows: Inicio -> ejecutar -> cmd -> fdisk /mbr
En linux:
dd if=/dev/zero of=/dev/sdaX bs=512 count=1