Cómo recuperar mi GRUB

18 11 2007

Hoy he tenido un mal día. Madrugué para cambiar las particiones de mi disco y de paso, hacer instalación nueva.

Por fin a las 18:00h (aunque parezca mentira) parece ya he terminado. ¿Y qué me ha llevado a hacer este catastrófico derroche de tiempo?

  • Norton Partition Magic 8.0
  • GRUB

Ahora pasaré a explicar los problemas que he tenido, sobre todo con el GRUB:

Arranque el CD de WindowsXP y antes de instalarlo eliminé las particiones que tenía, y cree una sola de 30Gb, dejando 200Gb de espacio sin asignar en mi disco.

Después de instalar Windows con NTFS. Me instalé el Partition Magic 8.0 para hacer una partición extendida que me permitiera hacer ilimitadas particiones lógicas. Pues bien, después de hacer un unas cuentas operaciones el disco me quedó tal que así:

HDD 230Gb (aprox)

  • 30Gb NTFS
  • 200Gb Extended
    • 1Gb SWAP
    • 40Gb ReiserFS
    • 160Gb NTFS

Posteriormente, instalé Kubuntu 7.04 en la partición de 40Gb, reinicié y PUM! ¡Me había quedado sin GRUB!

Lo primero que se me vino a la cabeza era que me iba a pasar unas cuántas horas más volviendo a instalar todo y lo que ello conllevaba (instalación de drivers de Windows, configuración…), así que como no tenía nada que perder me puse a investigar, ya que mi desconocimiento sobre el funcionamiento de GRUB era total, vamos que era un inculto en lo que a arranques de SO se refería.

El primer error que me dió fue un ERROR 17 al intentar cargar GRUB. No estaba leyendo ninguna entrada del registro. Así que pensé que tocando algo se podría solucionar, y no estaba equivacado. Buscando un poco por Google encontré una página donde explicaban cómo reinstalar GRUB así que me lo planteé y seguí los pasos.


NOTA: Cuando tengáis un problema parecido, y queréis buscar cómo solucionarlo en Google os recomiendo que no pongáis el nombre del problema como hice al principio, por ejemplo:

  • Error 17 GRUB
  • Error GRUB
  • GRUB 17

Porque así sólo me aparecían centenares de hilos en foros donde gente con el problema que yo tenía preguntaban y en la mayoría de los casos con pocas respuestas. Así que refiné mi búsqueda :

  • solución error 17 grub

Y como primera entrada me salió la que buscaba. Obviamente si en una página aparece la palabra ’solución’ es que la habrán encontrado no? :)


Primero debemos averiguar la partición donde está instalado GRUB, osease, linux. Como no tenéis acceso a vuestro s.o tendréis que arrancar desde un LiveCD, en mi caso usé el mismo DVD de Kubuntu que también hace función de LiveDVD. Una vez cargado el escritorio, arrancamos qtparted (si usáis Ubuntu supongo que traerá gparted):

$sudo qtparted &

Si todo funciona bien, deberíamos ver nuestro disco/s. En mi caso aparecía como sda, que pulsando en él, me aparecieron las particiones en las que se dividía con sus puntos de montaje, tipo de formato, espacio libre…
En mi caso, linux estaba enlazado en /dev/sda6 así que monté mi partición:

$sudo mount /dev/sda6 /mnt
$sudo mount -o bind /dev /mnt/dev
$sudo mount -o bind /proc /mnt/proc
$sudo chroot /mnt

Y reinstalé GRUB:

$grub-install /dev/sda

Inmediatamente me apareció un mensaje que decía:

‘The file /boot/grub/stage1 not read correctly’

Así que seguí los siguientes pasos:

1.- Entrar a Grub: #grub
2.- Buscar nuestro stage1: grub> find /boot/grub/stage1
A mi me salio (hd0,5)
3.- Indicar el Root con el valor que salio en el find: grub> root (hd0,5)
4.- Ahora setupear todo!: grub> setup (hd0)
5.- Y salir del Grub: grub> quit

Y listo!, al reiniciar tenía mi GRUB reestablecido.

Pero los problemas no habían terminado; aunque Windows arrancaba bien, al arrancar Kubuntu me dió el siguiente error:

Error 17 : Cannot mount selected partition

Así que me tuve que volver a buscar la vida para poder arrancar mi linux :(

Volví a cargar el LiveDVD y montar la partición donde tenía instalado Kubuntu.

$sudo mount /dev/sda6 /mnt
$sudo mount -o bind /dev /mnt/dev
$sudo mount -o bind /proc /mnt/proc
$sudo chroot /mnt

Me dirigí al fichero de registros del GRUB para echarle una ojeada:

$sudo less /boot/grub/menu.lst

Y vi que el sector de arranque de Kubuntu no se correspondía con la partición donde estaba instalado, así que edite el fichero para corregirlo. En la entrada donde aparecía Kubuntu, estaba arrancando:

root (hd0,6)

Y en realidad era la quinta partición la que debía arrancar, así que lo corregí:

root (hd0,5)

Guardé y reinicié. ¡Todo listo!

Enlaces interesantes que me sirvieron para arreglar mis problemas:

Hasta pronto!


Acciones

Información

9 respuestas

16 05 2008
maribel

Hola
disculpa, pero tengo ese error en mi portátil y cuando le meti el disco de ubuntu y le di iniciar me saca una cosa como si fuera el simbolo de sistema, algo que dice initramfs… ahi no se como meterme al grub, ni a ningun lado, podrias ayudarme?

16 05 2008
maribel

ah, mi ubuntu es el ubuntu hardy 8.04

2 06 2008
Juan Puig

Hola Maribel:

Lo primero, siento la tardanza en contestar, he estado liado.

Podrías explicarte un poco mejor? Intentaré ayudarte sin problemas, puesto que ya me he acostumbrado a arreglar el GRUB unas cuantas veces :-)

Salu2

30 07 2008
th3r0rn

Perfecto amigo, me a funcionado a la perfeccion, muchas Gracias!!!!

30 07 2008
Juan Puig

Denada, me alegro de haberte servido de ayuda :D

4 10 2008
Julio

Gracias por el aporte, recuperar el grub se vuelve complicado cuando aparate de reinstalar Windows, creas otra partición, por eso me sirvió mucho tu último truco..Gracias de nuevo.

18 09 2009
esceptoco

Estube siguiendo los pasos y todo perfecto hasta que al hacer:
grub> find /boot/grub/stage1

No me tira nada me dice:
Error 15: File not found

¿Alguna recomendación? estoy a punto de romper mis discos, nose q mas hacer !

18 09 2009
esceptoco

por si hacia falta esto me tira el fdisk -l:

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 3824 30716248+ 7 HPFS/NTFS
/dev/sda2 3825 38912 281844360 f W95 Ext’d (LBA)
/dev/sda5 3825 7648 30716248+ 7 HPFS/NTFS
/dev/sda6 7649 38912 251128048+ 7 HPFS/NTFS

Disco /dev/sdb: 500.1 GB, 500107862016 bytes
255 cabezas, 63 sectores/pista, 60801 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0×000a984f

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 60045 482311431 82 Linux swap / Solaris
/dev/sdb2 60046 60801 6072570 5 Extendida
/dev/sdb5 60046 60801 6072538+ 82 Linux swap / Solaris
ubuntu@ubuntu:~$

Estube haciendo los pasos con sdb1

18 09 2009
esceptico

segun leí sdb1 es lo mismo que (hd1,0) , asi que intenté con eso y me tiro:
Error 17: Cannot mount selected partition
voy a seguir buscando a ver que hago =(

Deja un comentario