jueves, 25 de septiembre de 2008

Reinstalar GRUB despues de instalar una distro Windows

Para ciertos usuarios (como yo) que aun no pueden deshacerse de una distro windows, dado por que tu papá o algun miembro de tu familia tb ocupa el PC, es necesario el uso de un gestor de arranque que te permita iniciar con A o B Sistema Operativo. Normalmente las distribuciones GNU/Linux se encargan automaticamente de instalar el GRUB, que es el programa que selecciona los distintos S.O. que tengamos y los hace correr segun uno elija. Pero nuestros "amigos" monopolicos no piensan en esa instancia, salvo de que la otra distro tb sea de MSoft ¬_¬', entonces.. ¿que hacemos?, ¿que pasa en el caso de que mi instalacion Windows se corrompa y debo reinstalarla? Cosa que es frecuente en los S.O. Windows xD...
Pues bien, acá va la manera por la cual se arregla este entuerto, comprobado por mi esta receta...

Método

Usando una distribución Live

Consiste en usar una distribución en modo LiveCD para instalar nuevamente el GRUB. Usaremos el LiveCD de Ubuntu (debe ser la versión Live o Desktop), aunque puede ser cualquier otra distribución que use GRUB como gestor de arranque y no LILO.

En modo de resumen, los pasos que hay que seguir son los siguientes:

1. Arrancar una distribución LiveCD
2. Montar la partición donde se encuentra instalado Ubuntu
3. Instalar el GRUB en esa partición

A continuación se explica, en unos sencillos pasos, cómo hacerlo:

1. Iniciamos el ordenador y arrancamos desde el CD
2. Arrancamos Ubuntu (o la distribución escogida) en modo LiveCD
3. Abrimos una terminal o consola (no es necesario si tenemos una interfaz de línea de comandos, es decir, en modo texto)
4. Creamos una carpeta donde montar la partición de Ubuntu (la podemos crear en /media, por ejemplo: /media/ubuntu/)
5. Montamos la partición donde se encuentra instalado Ubuntu, usando el comando mount.
6. Aquí hay dos soluciones posibles:

Mediante el intérprete de comandos GRUB

Opción 1

1. Ejecutamos los siguientes comandos:

$ sudo grub --> ejecutamos el intérprete de comandos del GRUB
> root (hdX,Y) --> indicamos dónde está ubicada la partición de Ubuntu
> setup (hdX) --> instalamos el GRUB en ese disco
> quit --> salimos del intérprete de comandos del GRUB

Donde X es el número de disco duro e Y es el número de partición. Este sistema difiere un poco del usado para montar las particiones en GNU/Linux; ambos son un único número decimal y comienzan en 0; por ejemplo:

* hd0: es el primero disco duro completo, al igual que hda o sda
* hd0,0: es la primera partición del primer disco duro, al igual que hda1 o sda1
* hd0,1: es la segunda partición del primer disco duro, al igual que hda2 o sda2
* hd1,2: es la tercera partición del segundo disco duro, al igual que hdb3 o sdb3

El primer disco duro del GRUB es el primer disco duro maestro, el segundo es el primer disco duro esclavo, el tercero es el segundo disco duro maestro, y así sucesivamente.

Opción 2

1. Desde una consola ejecutamos los siguientes comandos:

$ sudo grub --> ejecutamos el interprete de comando de grub
$ find /boot/grub/stage1 --> busca donde esta la partición de ubuntu
$ root (hdX,Y) --> poner el valor devuelto anterior
$ setup (hd0) --> instala grub en nuestro primer disco duro (hd0), que es con el que inicia la computadora
$ quit --> salimos del interprete de comando de grub

Cambiando el origen de la carpeta raíz

Cambiamos el origen de la carpeta raíz de nuestro sistema de archivos al directorio en el que hemos montado la partición de Ubuntu, para que al instalar GRUB interprete que la raíz del sistema está ahí.

1. Antes que nada, crear un directorio y montar allí la partición de Ubuntu:

$ sudo mkdir /media/ubuntu
$ sudo mount /dev/hda1 /media/ubuntu

2. Luego conectar el directorio dev del livecd con el de la partición Ubuntu:

$ sudo mount --bind /dev /media/ubuntu/dev

3. El comando necesario para cambiar el origen del directorio raiz es:

$ sudo chroot /media/ubuntu/

4. Ahora instalamos el GRUB en el MBR del primer disco duro, que normalmente estará configurado como Primary Master (hda):

# grub-install /dev/hda

y listo, hemos arreglado el problema del GRUB y volvemos a disfrutar de nuestra distro LINUX...

0 comentarios: