Reinstalando Windows... se llevó el grub? Como recuperarlo...

A quien no le ha pasado que después de un tiempo el SO windows se pone lento y le entra uno que otro bicho y tiene que ser formateado y reinstalado?

Tengo en mi PC dos sistemas operativos Debian Etch 4.0 y Windows XP.

Pasa que volviendo a instalar el Windows por sus "n" motivos de fallo, terminada la reinstalación sin ninguna consideración este SO se llevó de encuentro el Grub, por ende no tenía acceso a mi Debian linux.

Para recuperar el Grub se debe usar un Livecd (tengo varios, y usé uno de Ubuntu).

Mi grub lo instalé en una partición aparte:

hda1 - Windows
hda2 - Debian Etch
hda3 - Boot Grub
hda4 - Archivos
hda5 - Swap

Para ver sus particiones:

$ sudo fdisk -l

(ubuntu al hacer el fdisk -l arroja las particiones sda1, sda2, etc es lo mismo que hda1, hda2, no preocuparse por el cambio)

Crear carpeta y montar la partición donde esta el grub:

$ sudo mkdir /media/grub (pueden ponerle el nombre que quieran a la carpeta)
$ sudo mount /dev/hda3 /media/grub

ya esta montada la partición

luego volveremos a instalar el grub en el sector de arranque:

$ grub

>> root (hd2,0)
>> setup (hd0)
>> quit

Ya esta listo. Si en caso no saben en que partición o donde instalaron el grub hacer un

>> find /boot/grub/stage1

esto les bota donde supuestamente debería estar el grub, en mi caso saldría hd2.

Ahora a verificar como esta nuestro grub y ver si las rutas estan correctas, para eso ya tenemos montado la partición donde esta:

$ sudo nano /grub/menu.lst (pueden usar su editor de texto favorito, algunos prefieren el gedit, a mi me gusta el simple nano)

Esto les abre el archivo donde estan las entradas donde estan los SO, en mi caso:

title Debian GNU/Linux, kernel 2.6.27.8-generic
root (hd1,0)
kernel /boot/vmlinuz-
2.6.27.8-generic root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-
2.6.27.8-generic
quiet
savedefault
boot

title Debian GNU/Linux, kernel 2.6.27.8-generic (recovery mode)
root (hd1,0)
kernel /boot/vmlinuz-
2.6.27.8-generic root=/dev/hda2 ro single
initrd /boot/initrd.img-
2.6.27.8-generic
boot

title Debian GNU/Linux, memtest86+
root (hd1,0)
kernel /boot/memtest86+.bin
quiet
boot

title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1


Verificar que las rutas esten correctas y guardar.

Si se dan cuenta en el grub se pone un valor menos de lo que indica el fdisk -l, ejemplo mi Debian esta en la partición hda2, pero en el grub se pone hd1, etc.


Esto ya les debería haber solucionado el problema y tener al grub funcionando, en mi caso, como tengo el grub en una partición diferente siempre tengo que copiar los archivos del grub vmlinuz e initrd.img al Debian para que bootee, si les pasa eso, pues lo hacen con un simple:

$ sudo mkdir /media/debian
$ sudo mount /dev/hda2 /media/debian
$ sudo cp /media/grub/grub/vmlinuz-
2.6.27.8-generic /media/debian
$ sudo cp /media/grub/grub/initrd.img-
2.6.27.8-generic /media/debian

Y ya esta, asunto arreglado.

Suerte

0 comentarios: