Restaurar grub gestor de arranque linux con chroot

img-grub-fail

Interesante tutorial sobre como reparar grub desde live usb Linux, útil para cuando se estropea el gestor de arranque y no puedes arreglarlo de otra manera. Empezaba yo en el mundo de Linux y luego de instalar Linux decidí instalar Windows pero al reiniciar la compu me encuentro que ya no puedo iniciar con Linux!..

Para restaurar el grub que es el cargador de arranque de Linux por defecto es necesario hacer lo que se conoce como chroot en el sistema de archivos de nuestro disco duro para hacer esto siga estos pasos:

Se asume que Linux esta en /dev/sdX? pero no es accesible.

Objetivo: reinstalar grub en el mbr de /dev/sdX.

  1. Arranque la distribución favorita de Linux desde una live usb y en una ventana de terminal ejecute los siguientes commands:
  2. sudo su
    TARGET=/media/sdX?
    mkdir -p $TARGET
    mount /dev/sdX? $TARGET
    mount --bind /dev $TARGET/dev
    mount --bind /dev/pts $TARGET/dev/pts
    mount --bind /proc $TARGET/proc
    mount --bind /sys $TARGET/sys
    cp /etc/resolv.conf $TARGET/etc/
    chroot $TARGET /bin/bash

    Alternativamente TARGET=/media/sdX? puede ser simplemente "TARGET=/mnt", en cuyo caso se omite la instrucción que sigue mkdir -p $TARGET.
    Donde se reemplaza el signo (?) por el número de la partición y la X por la letra del disco duro.

  3. Ahora coloca al usuario en un root terminal dentro de su sistema y puede hacer cualquier cosa que usted quiera hacer allí, por ejemplo re-instalar grub:
  4. grub-install /dev/sdX?
    update-grub
  5. Para salir del chroot:
  6. control-D
  7. Esto le llevará de nuevo a su live session donde habías empezado y por último desmonta todo esto:
  8. umount -l $TARGET/dev/pts
    umount -l $TARGET/dev
    umount -l $TARGET/proc
    umount -l $TARGET/sys
  9. Eso es todo reboot su sistema y ahora podrá arrancar Linux o Windows nuevamente desde el menú contextual grub gestor de arranque

be excellent to each other #!(ser excelente el uno al otro)



Update (otro método)

Ha salido una forma alternativa que consiste en montar la partición donde se halla el sistema Linux, desde algún live iso, con el comando:

sudo mount /dev/sdX? /mnt

Donde se reemplaza el signo (?) por el número de la partición y la X por la letra del disco duro.

Luego se instala primero el grub con un solo comando, desde un live por ejemplo con el siguiente comando:

sudo grub-install --root-directory=/mnt/ /dev/sdX?

Donde se reemplaza el signo (?) por el número de la partición y la x por la letra del disco duro.

Y luego si es necesario después de arrancar el sistema Linux, desde la misma distribución del sistema, ejecutar en la terminal el comando:

sudo update-grub

Para regenerar la lista de sistemas operativos instalados.

Importante! Para identificar las particiones, los discos duros y la partición con Linux se hace con el siguiente comando:

sudo fdisk -l

Alternativamente se pueden identificar los discos con la utilidad de discos como gparted, etc...

0 comentarios: