Guía de instalación o recuperación de GRUB

Transcripción

Guía de instalación o recuperación de GRUB
Guía de instalación o recuperación de GRUB
Qué es GRUB?
GRUB es un gestor de arranque múltiple que se usa comúnmente para iniciar dos o más sistemas operativos instalados en un mismo ordenador.
Fuente http://es.wikipedia.org/wiki/Grub
Guía
Pasa a veces que luego de instalar Lihuen o alguna otra distribución, deseamos tener instalado por las dudas nuestra copia original de Windows.
Luego de instalarla (asegurándonos de que no hemos instalado el Windows sobre la partición Linux), nos damos cuenta de que GRUB desapareció y
sólo podemos arrancar con Windows. Pasa a veces también, que la instalación (de Windows o Linux) falla con idénticos o incluso más nefastos
resultados (Es posible que no arranque ningún otro sistema operativo.).
La solución para ambos casos (e incluso algunos más raros como que se corrompa el primer sector y se rompa GRUB) es la misma. Debemos instalar
GRUB nuevamente. Como hacer esto si no arranca nada (para el caso, que arranque Windows es lo mismo que nada)?? Para esto usamos un LiveCD
de alguna distribución que nos guste, que ande rápido y sobre todo, que use GRUB para arrancar. Se puede usar Knoppix, GentooLiveCD, Lihuen
LiveCD(comming soon) o cualquiera que tengamos a mano. Ubuntu se puede usar, pero en máquinas con más de 256 Mb de RAM... De todas formas,
solo utilizaremos la consola.
Una vez que booteamos con el LiveCD, ingresamos como root a una consola.
Primero debemos saber cual es nuestro disco. Si es un disco IDE (máquinas anteriores a 2007) el disco se verá como un archivo en /dev/hd*.
Probamos:
#ls /dev/hd*
/dev/hda /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hdb /dev/hdb1
Esta salida significa que tenemos un disco IDE (hda) con 4 particiones. Probablemente hdb sea la lectora de cd que también es IDE. Si el disco es
SATA o SATA2 (generalmente en máquinas más nuevas) los discos se ven como archivos e /dev/sd*. Probamos:
#ls /dev/sd*
/dev/sda /dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
/dev/sda5
Esta salida significa que tenemos un disco SATA o SATA2 (sda) con 5 particiones. Si tuviéramos más de un disco SATA se vería como sdb, sdc y así
siguiendo.
Podemos montar momentáneamente una partición para ver su contenido e identificarla, si no estamos seguros donde estamos. Primero creamos una
carpeta donde montar:
#mkdir /mnt/disco
Luego montamos una partición en la carpeta que creamos así:
#mount /dev/sdb1 /mnt/disco
Miramos el contenido:
#ls /mnt/disco
Y desmontamos con:
#umount /mnt/disco
Si tira algún error no se asuste, seguramente trató de montar la partición swap ;)
Una vez que tenemos identificado el disco por su contenido, debemos montar la partición que tiene nuestra distribución de Linux que queremos
recuperar. Por ejemplo, si al mirar el contenido de hda3 vemos algo como
bin
boot
dev
etc
home
include
initrd
initrd.img
lib
lost+found
media
mnt
opt
proc
root
sbin
srv
sys
tmp
usr
var
vmlinuz
Es la partición que contiene la raíz (/) de nuestro Linux. Entonces montamos la partición en la carpeta que creamos:
#mount /dev/hda3 /mnt/disco
Ahora debemos hacer como que nuestra nueva raíz (/) es ese disco, y eso se hace con el comando chroot (cambiar raiz o change root)
#chroot /mnt/disco
Una vez que tenemos la nueva raiz (/) debemos asegurarnos de que el disco se ve. Probamos:
#ls /dev/hd*
/dev/hda /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hdb /dev/hdb1
Si el disco no se ve, podemos probar de reiniciar y modificar algunos de los parámetros del disco en la BIOS como agregar soporte para discos
grandes, activar LBA, o algo por el estilo. Generalmente si se ven los discos. Si ese es el caso, solo necesitamos reinstalar GRUB en el disco con:
#grub-install /dev/hda
Si todo salió bien, sólo nos queda configurar el archivo /boot/grub/menu.lst para incluir a Windows o a nuestro nuevo Linux.
si encontramos alguna falla probemos lo siguiente:
1)booteamos desde un live-cd que permita que montar las particiones encontradas.
2)asumiendo todas las particiones están montadas, tipeamos
#df
tendríamos que ver algo como
/dev/hda1
/dev/hdc1
38503304
10000428
32251732
5121376
4295660
4879052
89% /mnt/linux
52% /mnt/winntfs1
no muestro la unidades montadas del live sólo me interesan las unidades montadas con algún sistema instalado. Bueno vemos un linux y windows con
ntfs.
3)Ahora que sabemos donde esta nuestro linux tomamos la decisión de entrar a ese sistema de archivos
#mount --bind /proc /mnt/linux/proc
#mount --bind /sys /mnt/linux/sys
#mount --bind /dev /mnt/linux/dev
#chroot /mnt/linux
#ls /dev/ | grep hd
escribimos grub como root
#grub
escribimos find
#find /boot/grub/stage1
si todo sale bien nos dará donde esta alojado grub en formato (hdx,x) ahora seteamos root
#root (hdx,x)
ahora solo resta instalar grub
#setup (hdx)
para salir de grub escribimos
#quit
si tenemos grub 2 cambian los pasos de la siguiente manera
tipeamos search
#search /boot/grub/stage1
si todo sale bien nos dará donde esta alojado grub en formato (hdx,x) ahora seteamos root
#set root=(hdx,x)
ahora solo resta instalar grub
#setup (hdx)
para salir de grub escribimos
#quit
ahora si por desmontamos lo anterior
#umount /mnt/linux/proc
#umount /mnt/linux/dev
#umount /mnt/linux/sys
ahora reiniciamos y listo.
nuevamente, si solo aparece un prompt de grub, entonces algo pasó, no se preocupe hagamos lo siguiente.
grub>
grub>
grub>
grub>
find /boot/grub/stage1
root (hdx,x)
setup (hdx)
quit
o si solo quiere arrancar el sistema para poder ver si lo puede arreglar desde otro entorno entonces
grub>
grub>
grub>
grub>
grub>
find /boot/grub/stage1
root (hdx,x)
kernel /boot/vmlinux-2.6.xx-x-xxx root=/dev/hd?+1*
initrd /boot/initrd.img-2.6.xx-x-xxx
boot
ahora habrá arrancado. en grub 2 sería
grub>
grub>
grub>
grub>
grub>
search /boot/grub/stage1
set root=(hdx,x)
linux /boot/vmlinux-2.6.xx-x-xxx root=/dev/hd?+1*
initrd /boot/initrd.img-2.6.xx-x-xxx
boot
el * es porque generalmente root suele estar en 1 + de donde se aloja grub ejemplo grub está en /dev/hda que sería hd0 y root estaría en /dev/hda1
que sería (hd0,1) lo mismo para discos sata solo cambia sda,sda1, sdx,y.
Espero le sea de ayuda.
Ante cualquier duda o inconveniente no dudes en visitar nuestros foros.
http://lihuen.linti.unlp.edu.ar/foros

Documentos relacionados