Paso a paso para volver a Grub despues de reinstalar Windows

Este tutorial fue escrito originalmente para Ubuntu Dapper 6.06, pero es apto para cualquier otra distribución (incluyendo Ubuntu Edgy 6.10, Arch Linux, OpenSUSE, Fedora Core, Mandriva y tantas otras), no es necesaria una interfaz gráfica y se realiza utilizando una consola.

Bueno, hace algún tiempo cuando hice el tutorial de LILO había prometido poner como hacerlo con Grub, hace un rato un amigo del laburo justo me dice que reinstalo Windows y perdió Grub. Así que es un buen momento para que lo publique, ahora que lo tengo fresco.

En este caso utilizamos Ubuntu (Dapper 6.06) el cual es un LiveCD (además de un instalador) con lo que no necesitamos entrar en modo “Rescate”, pero tengan en cuenta que si utilizan otra distribución para arrancar el sistema (que no sea un LiveCD), tal como Fedora, Debian, Mandrake o SuSE, van a tener que ingresar en el dicho modo en lugar de bootear normalmente el sistema.

Usuarios avanzados/medios: Este es un paso a paso, y por lo tanto tiene muchos datos que alguien ya experimentado puede saltear, si ya te manejas con Linux, mira al final del post este que hay una versión ‘reducida’.

  • Arrancamos desde el CD de Ubuntu 6.06
  • Como estamos utilizando Ubuntu, para no tener que ingresar sudo cada cinco segundos y que los comandos queden bien para otras distribuciones, vamos a loguearnos directamente como root:
  • sudo -s -H

  • Hacemos un directorio donde montar nuestro sistema:
  • mkdir /mnt/linux

  • Buscamos cual es la partición que tenemos que montar (para discos Serial ATA – SATA):
  • cfdisk /dev/sda

  • Para discos IDE:
  • cfdisk /dev/hda

  • Allí pueden ver las etiquetas (Label) de las particiones, buscamos la que tiene “[/]“:

  • Name | Flags | Part Type | FS Type | [Label] | Size (MB)
    ---------------------------------------------------------------------------
    sda1 | Boot | Primary | Linux ReiserFS | [/] | 501.75

  • De acuerdo a cfdisk nuestra partición / es sda1
  • Montamos la partición root en el directorio:
  • mount /dev/sda1 /mnt/linux

  • Ahora hacemos un chroot dentro de la partición root recién montada:
  • chroot /mnt/linux

  • Luego, entramos a la shell de Grub:
  • grub

  • Dentro de la shell de Grub, hallamos cual es la partición donde tenemos que loguear root para reinstalarlo:
  • find /boot/grub/stage1

  • Esto nos va a devolver algo de la forma (hdX,Y) donde X e Y son números, en nuestro ejemplo que era sda1, seria (hd0,0).
  • Nuevamente, dentro de la shell de Grub, lo utilizamos con el siguiente comando:
  • root (hd0,2)

  • Ahora que ya estamos dentro de la partición correspondiente, hacemos el ultimo paso, reinstalarlo, para el siguiente comando tengan en cuenta el primer numero del comando anterior, que en nuestro ejemplo seria el 0:
  • setup (hd0)

  • Luego de correrlo, verán algo como lo siguiente:

  • Checking if "/boot/grub/stage1" exists... yes
    Checking if "/boot/grub/stage2" exists... yes
    Checking if "/boot/grub/e2fs_stage1_5" exists... yes
    Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
    succeeded
    Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,2)/boot/grub/stage2
    /boot/grub/menu.lst"... succeeded
    Done.

  • Salimos de Grub:
  • quit

  • Salimos de chroot:
  • exit

  • Reiniciamos el sistema:
  • reboot

    Para los usuarios mas avanzados:

      Booteamos con un LiveCD o en modo rescate, luego:
      # mkdir /mnt/linux
      # mount /dev/hdX /mnt/linux
      Donde X es la partición root. Tener en cuenta que si es SATA debería ser de la forma sdX
      # chroot /mnt/linux
      # grub
      grub> find /boot/grub/stage1
      Esto nos devuelve el hd que tenemos que utilizar en el siguiente comando, a modo de ejemplo se utiliza (hd0,1):
      grub> root (hd0,1)
      grub> setup (hd0)
      grub> quit
      # exit
      # umount /mnt/linux
      # reboot

    2 Trackbacks

    You can leave a trackback using this URL: http://www.hombrepac.com.ar/articulos/paso-a-paso-para-volver-a-grub-despues-de-reinstalar-windows/trackback/

    1. Por links for 2007-12-29 « Eurlatam’s Weblog en Sábado, Diciembre 29, 2007 a las 20:54

      [...] Paso a paso para volver a Grub despues de reinstalar Windows — Leonardo Andrés Gallego (tags: grub tutorial Ubuntu Linux) [...]

    2. Por Recuperando el grub de Ubuntu « …cs@rs webblog… en Martes, Agosto 25, 2009 a las 15:32

    6 Comentarios

    1. rexNo Gravatar

      pero me parece que es mucho mas facil con el cd de arch, con dos comandos lo liquidas. Que raro que el hombre pac no lo sepa… Aparte, el live cd del ubuntu 6.06??? nooo, negro, yo tambien tengo una vida.. no puedo estar 20 minutos para bootear un cd..

      Comentado Sábado, Septiembre 2, 2006 a las 13:28 | Permalink
    2. hombrepacNo Gravatar

      Buenas,

      Si es mucho mas facil con el de Arch, pero para algunos :)

      Respecto de los dos comandos… fijate que varios de los comandos son para saber donde hacerlo, montar las cosas bien, desmontarlas y luego salir, cosas q muchos omiten en las guias pero que se tienen que hacer.

      Otra opcion es la de grub-install o install-grub, dependiendo de la distribucion y eso, pero ese comando muchas veces no funciona (errores del tipo “No se encuentra imagen del disco en la BIOS” o algo similar)

      Por ultimo, como ves arriba, lo hice para alguien que tenia Ubuntu, con lo cual, hacerlo en función del CD de Arch no tiene sentido por que no lo van a tener ;)

      pd. Lo de los 20 minutos es la triste realidad.

      Comentado Sábado, Septiembre 2, 2006 a las 17:27 | Permalink
    3. Hernan SilvaNo Gravatar

      Hola estoy probando los pasos para reinstalar grub
      tengo dos discos, el hda esta el windows y en hdb1 esta el linux.

      me tira error el ‘find /boot/grub/stage1′ “File not found”

      y si continuo con

      root (hd1,0) “Selected disk does not exist”

      te aclaro que dichos discos estan, la particion /dev/hdb1 la pude montar sin problemas…

      alguna pista?

      gracias

      Comentado Martes, Noviembre 7, 2006 a las 15:01 | Permalink
    4. hombrepacNo Gravatar

      Que distribución estas usando?

      Proba con ‘find /grub/stage1′

      Y comenta si con eso te anduvo… encontre que en algunas configuraciones (si no me equivoco, cuando hay una particion /boot) se necesita modificar ese path.

      Tambien comenta como es que lo tenes, es todo la misma particion? o distintas?

      Saludos!

      Comentado Miércoles, Noviembre 8, 2006 a las 23:40 | Permalink
    5. PituNo Gravatar

      Te agradezco la guia, excelente. Simple, directa y clara.
      saludos

      Comentado Lunes, Diciembre 4, 2006 a las 19:44 | Permalink
    6. hombrepacNo Gravatar

      Gracias!
      Espero que te halla sido útil.

      Comentado Lunes, Diciembre 4, 2006 a las 20:42 | Permalink

    Escribe un Comentario

    Tu e-mail nunca será compartido. Los campos requeridos están marcados *

    *
    *