Saltar al contenido

Reinstalación de grub en el sector de arranque del disco duro

Las distribuciones de Linux se utilizan para iniciar el cargador de arranque comida. Esto está instalado en el sector de arranque disco duro, y es llamado por el firmware de la computadora (el BIOS, o laUEFI en computadoras recientes) cuando quiere arrancar desde el disco duro. Excepcionalmente, puede ocurrir que el sector de arranque esté dañado. Puede haber varios tipos de razones para esto, como una anomalía física en el disco (donde desafortunadamente tendrá que ser reemplazado) o un error de manejo con una herramienta de configuración del dispositivo de almacenamiento. Algunos virus antiguos también atacaron esta área.
En otros casos, y particularmente cuando se usa un arranque dual de Windows / Linux, puede suceder que el software de instalación de Windows sobrescriba el sector de arranque (durante un reinicio de Windows, por ejemplo, o durante un una actualización importante del sistema operativo de Microsoft) eliminando así grub. En este caso, ya no podemos arrancar desde la distribución de Linux, sino solo desde Windows. Aquí solucionaremos dicho problema, viendo cómo reinstalar grub en el sector de arranque del disco duro. Tenga cuidado, las operaciones que se describen a continuación no son triviales y pueden dañar un sistema saludable si se utilizan fuera de contexto o sin prestar atención a lo que está haciendo. En cualquier caso, el autor, o astuces-aide-informatique.info no se hace responsable si el daño fue infligido en el sistema por el uso inadecuado de las operaciones descritas.

Arranque de la computadora desde medios de instalación de distribución de Linux

El ejemplo se tomará aquí con el medio de instalación deUbuntu 20.04. No vamos a ejecutar el programa de instalación en sí, sino que usaremos la clave en modo “USB en vivo”. Para obtener más información sobre qué es un USB en vivo y cómo usarlo, recomiendo leer el artículo que describe cómo probar Ubuntu sin modificar su computadora.

Montaje de los diversos recursos necesarios y chroot

Detrás de este título un tanto oscuro se esconden algunos comandos que son necesarios para preparar el entorno de instalación de grub. De hecho, este necesita tener conocimiento del entorno (s) para el que tendrá la carga de inicio, pero también del material (aquí el disco duro) en el que se instalará.
Este es el famoso chroot (cambiar root = cambiar la raíz del sistema) lo que permitirá salir del contexto “live USB” y colocarnos en el contexto del sistema Linux existente para arrancar y así instalar grub. Pero antes de salir del contexto USB en vivo, necesitamos realizar operaciones preparatorias, que son necesarias para el contexto ” chrooted »Tiene acceso directo al hardware de la computadora.
Todas las operaciones serán comandos ejecutados en un emulador de terminal.

lanzar terminal gnome

Creación de la carpeta en la que hacer chroot y montaje de la partición que contiene el sistema Linux para el que queremos ver cómo reinstalar grub

Debe crear un directorio en blanco en el árbol de archivos del sistema en vivo, por ejemplo, en / media: sudo mkdir / media / ubuntu

mkdir / media / ubuntu

Ahora necesitamos determinar cuál es el dividir del disco duro que contiene el sistema Linux para el que queremos reparar boot. Para eso primero usamos el comando lsblk que enumera los dispositivos de tipo “bloque” (es decir, dispositivos de almacenamiento). lsblk

lsblk

/ dev / vda y sus particiones (vda1, vda2, vda3, vda5) recopiladas por el comando lsblk. Buscamos en el resultado todos los periféricos de tipo “disco”. En nuestro ejemplo, solo hay uno, es vda: / dev / vda ser más preciso. Los dispositivos de tipo disco duro también se encuentran a menudo con el nombre / dev / sda, / dev / sdb… en los sistemas modernos. Aquí sabemos que habíamos instalado Ubuntu en una partición de 20GB, por lo que no hay ambigüedad, nuestro sistema está instalado en la partición numerada 5, es decir / dev / vda5.
Es importante encontrar la partición correcta, de lo contrario no tendremos éxito en nuestro chroot. En caso de duda, podemos tener una confirmación adicional con el pedido. fdisk ejecutar en el dispositivo de disco que se cree que es el correcto: sudo fdisk -l / dev / vda

fdisk -l

El comando fdisk nos muestra que / dev / vda5 es una partición de Linux. Tenemos la confirmación aquí de que / dev / vda5 es una partición que contiene un sistema de archivos similar a Linux, en el único disco duro de nuestro sistema. Podremos montar este sistema de archivos en el directorio / media / ubuntu que creamos de antemano, con el comando montar. sudo mount / dev / vda5 / media / ubuntu

mount / media / ubuntu

Montaje de / dev, / proc y / sys

Estos son tres directorios de la estructura de árbol de Linux que, de manera muy esquemática, contienen archivos que representan, entre otras cosas, los componentes de hardware de la computadora como el procesador, la memoria, los discos duros … Estos tres directorios pertenecen al contexto “USB en vivo” del sistema , porque el kernel de Linux se cargó al iniciar el sistema desde la memoria USB. Sin embargo, necesitamos que estos directorios, y por lo tanto los componentes de hardware detrás de ellos, sean accesibles a nuestro contexto “chroot”. Para hacer esto, los montaremos dentro de la carpeta / media / ubuntu, con los siguientes 3 comandos: sudo mount –bind / dev / media / ubuntu / dev

montaje dev

sudo mount -t proc / proc / media / ubuntu / proc

proceso de montaje

sudo mount -t sysfs / sys / media / ubuntu / sys

montaje del sistema

El chroot

Ahora se cumplen todas las condiciones para realizar el chroot, a través del cual el instalador de grub no solo tendrá acceso al contexto de nuestro sistema a reparar, sino que también tendrá acceso directo al hardware, como el disco. cuyo sector de arranque necesita ser reparado.
Esto se hace de manera bastante simple con el siguiente comando: sudo chroot / media / ubuntu

chroot

grub-install: cómo reinstalar grub en el sector de arranque del disco duro

Ahora bien, la reinstalación de grub es muy rápida, invocando el comando grub-install en el disco duro en el que queremos realizar la instalación (aquí / dev / vda). grub-install / dev / vda

instalar grub

El comando grub-install, para reinstalar grub en nuestro disco duro / dev / vda, fue sin problemas. La operación está completa. Sin embargo, podemos estar tranquilos pidiendo a grub que vuelva a leer y aplique la configuración en la que la habíamos dejado antes de la falla / mal manejo, etc … con el siguiente comando (opcional): update-grub

actualizar grub

El comando update-grub vuelve a leer y aplica la configuración de grub. Aquí vemos, entre otras cosas, que se han detectado varios kernels de Linux, así como un sistema Windows 10. Finalmente, queda salir del chroot con el comando exit …

salida

… y reinicie la computadora, que luego debería mostrar nuevamente el menú de inicio de grub perdido, con la última configuración que estábamos usando.