Como recuperar Grub 2

Es posible tener Windows y Linux instaldos en el mismo disco duro y seleccionar GRUB como gestor de arranque. Cuando la PC inicie GRUB presentara un menu el cual nos permite seleccionar entre Linux o Windows.

Pero un dia reinstalan Windows reescribiendo el MBR y menu desaparece, ahora ya solo inicia Windows.

Restaurando el arranque de Grub

Insertamos el diskette de arranque de Grub en el drive, reiniciamos el sistema y desde linux corremos el comando:

mkdiablo:~# grub
Nota: Recuerden que para el grub (hd0,1) significa hda (maestro controlador primario), segunda particion.

Ahora debemos indicarle al grub donde estan sus archivos:
Si estan seguros donde estan, pueden teclear:

grub> root (hd0,1)

De lo contrario, los buscamos:

mkdiablo:~# find /boot/grub/stage1

Y luego el comando root con los parametros correctos:

grub> setup (hd0)

Esto lo instala en el hd0, el cual es el MBR del primer disco duro. Tecleamos

grub> quit

y reiniciamos. Para entonces ya deberia volver a aparecer el menu, si queremos hacer cambios al menu de arranque, es necesario editar el archivo /boot/grub/menu.lst

archivo: /boot/grub/menu.lst
 
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default         0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout         5

# Pretty colours
color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title         Windows 95/98/NT/2000
# root          (hd0,0)
# makeactive
# chainloader   +1
#
# title         Linux
# root          (hd0,1)
# kernel        /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/hdc1 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(single-user) single
# altoptions=(single-user mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## ## End Default Options ##

title           Debian GNU/Linux, kernel 2.6.18-4-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/hdc1 ro
initrd          /boot/initrd.img-2.6.18-4-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-4-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/hdc1 ro single
initrd          /boot/initrd.img-2.6.18-4-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-3-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-3-686 root=/dev/hdc1 ro
initrd          /boot/initrd.img-2.6.18-3-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-3-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-3-686 root=/dev/hdc1 ro single
initrd          /boot/initrd.img-2.6.18-3-686
savedefault

### END DEBIAN AUTOMAGIC KERNELS LIST

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.

Los pasos que hay que seguir son los siguientes:

  • Arrancar una distribución LiveCD
  • Montar la partición donde se encuentra instalado Ubuntu
  • Instalar el GRUB en esa partición

A continuación veremos como hacer el rescate del grub en unos sencillos pasos:

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

Opcion 1

Utilizando el intí©rprete de comandos GRUB 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 rí­gido, y 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

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

Ahora procedemos a cambiar el origen de la carpeta raí­z/root 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í­.

Creamos un directorio y montar allí­ la partición de Ubuntu:
$ sudo mkdir /media/ubuntu
$ sudo mount /dev/hda1 /media/ubuntu

Ahora enlazamos el directorio dev del livecd con el de la partición Ubuntu:
$ sudo mount --bind /dev /media/ubuntu/dev
Tecleamos el siguiente comando para cambiar el origen del directorio raiz:
$ sudo chroot /media/ubuntu/
Instalamos el GRUB en el MBR del primer disco duro, que normalmente estará configurado como Primary Master (hda):
# grub-install /dev/hda

Terminos de busqueda

  • recuperar grub fedora 12
  • recuperar grub centos
  • recuperar grub fedora 13
  • reparar grub fedora
  • reparar grub centos
  • grub root hd0 0
  • recuperar grub fedora 11
  • recuperar grub debian
  • recuperar grub debian lenny
  • reinstalar grub fedora 12
  • 2 thoughts on “Como recuperar Grub

    1. Reply DAve Jan 12,2009 16:40

      sigo todos los pasos hasta que llego al final y me dice:

      ubuntu@ubuntu:~$ sudo mkdir /media/ubuntu
      mkdir: cannot create directory `/media/ubuntu’: File exists
      ubuntu@ubuntu:~$ sudo mount /dev/sda5 /media/ubuntu
      mount: /dev/sda5 already mounted or /media/ubuntu busy
      mount: according to mtab, /dev/sda5 is already mounted on /media/ubuntu
      ubuntu@ubuntu:~$ sudo mount –bind /dev /media/ubuntu/dev
      ubuntu@ubuntu:~$ sudo chroot /media/ubuntu/
      root@ubuntu:/# grub-install /dev/hda
      /dev/hda: Not found or not a block device.
      root@ubuntu:/# grub-install /dev/sda
      Searching for GRUB installation directory … found: /boot/grub
      The file /boot/grub/stage1 not read correctly.
      root@ubuntu:/#
      ayuda!!!!!!!!!!!!!!!!!!!!

    2. Reply Jorge May 11,2010 14:24

      Un artículo extraordinario, bien documentado y en un lenguaje muy cercano.
      Gracias.
      Jorge.

    Comentario, Preguntas o agradecimientos?

    %d bloggers like this: