Saltar al contenido

¿Dónde está instalado grub y necesito uno nuevo para una instalación separada de Linux?

Solución:

Convenio de denominación:

  • GRUB (parte de él) permanece en el MBR.

  • GRUB (el resto) son varios archivos que se cargan, desde /boot/grub (por ejemplo: esa bonita imagen que aparece como fondo en GRUB no se almacena en el MBR)

Notas:

  • La respuesta es considerar una configuración de MBR, GRUB se puede utilizar en otras configuraciones.

  • En una configuración de EFI, las cosas se complican, se puede usar GRUB, pero también puede serlo el kernel como su propio stub de EFI.


GRUB (parte de él) está instalado en el MBR. Los MBR son los primeros 512 bytes de un disco. El MBR también es utilizado por la tabla de particiones del disco, por lo tanto, GRUB en sí tiene algo menos de espacio que los 512 bytes.

El GRUB (parte de él) dentro del MBR carga un GRUB más completo (el resto) de otra parte del disco, que se define durante la instalación de GRUB en el MBR (grub-install). Dado que el MBR GRUB necesita encontrar su contraparte en el disco, que normalmente reside en /boot, la partición donde reside el GRUB principal no puede estar demasiado lejos de la tabla de particiones (a menudo 512MB pero puede variar).

Es muy útil tener /boot como su propia partición, desde entonces GRUB para todo el disco se puede administrar desde allí.

Qué significa:

  • GRUB en MBR solo puede cargar un GRUB (el resto) desde el disco.

  • Ese GRUB específico (el resto) en el disco debe configurarse para encontrar todos los sistemas operativos en la máquina.


El comando grub-mkconfig -o /boot/grub/grub.cfg carreras os-prober (si puede encontrarlo) que escanea todas las particiones y produce un grub.cfg apuntando a todos los sistemas operativos.

Por lo tanto, si tiene varias particiones con /boot (o los equivalentes de MS Windows, no los conozco pero os-prober sabe) el os-prober los encontrará y creará grub.cfg respectivamente. Corriendo grub-install instalar un GRUB (parte de él) en el MBR que apunte al GRUB del sistema operativo actual con el actual grub.cfg.

Qué significa esto:

  • Solo necesita un único GRUB para todo el sistema.

  • Puede tener diferentes GRUB en diferentes discos (ya que tienen distintos MBR) pero eso solo tiene sentido si planea quitar el disco.

  • Puede administrar el arranque de todos los sistemas operativos desde una sola instalación de GRUB.

  • En un solo disco siempre correrás grub-install desde un solo sistema operativo! Eso es importante, de lo contrario, seguirá sobrescribiendo su configuración.

Solo para aclarar: estás usando grub2, ¿correcto?

En caso de que Grub2 esté instalado en su propia partición de arranque, no necesita cambiar nada. Cuando no lo es (lo que sería realmente extraño), entonces técnicamente podría retener el grub.cfg, y si tu distribución lo tiene, también /etc/grub.d.

/boot Sin embargo, debería ser su propia partición. Si tu corres mount y ver algo como esto:

/dev/sda1 on /boot type ext4 (rw,relatime,seclabel,stripe=4,data=ordered)

Tiene Grub2 instalado en su propia partición, como debería ser. Normalmente, al instalar una nueva distribución, el asistente generalmente lo guiará a través del proceso de instalación e incluso averiguará qué particiones contienen qué sistemas operativos, si corresponde. El proceso en Arch es un poco más tedioso pero está muy bien documentado.

En caso de que ocurra algo horrible

Descargue GParted, colóquelo en una memoria USB, arranque desde él y monte el /boot dividir.

Luego, simplemente ejecute como root (o con sudo):

grub-mkconfig -o /boot/grub/grub.cfg

Grub2 debería poder detectar automáticamente sus particiones y actuar en consecuencia.

(En este punto, no estoy seguro de si las particiones deben estar todas montadas para que Grub2 detecte los sistemas operativos en ellas)

Si intentó instalar Windows mientras tanto, es posible que Windows haya sobrescrito el cargador de arranque. Para solucionarlo, simplemente ejecute como root (o con sudo):

grub-install /dev/sdX

dónde /dev/sdX es la unidad donde reside su partición de arranque.


Un poco de explicación:

Grub2 es un cargador de arranque Stage-2. Lo que significa que no es exactamente un sistema operativo, pero es mucho más complejo que un simple cargador en cadena, que cabría en los primeros 446 bytes de su partición primaria (el resto del primer sector es la tabla de particiones, banderas, etc.).

El MBR contiene solo el código para ejecutar el código Grub2 que reside en su /boot dividir. Grub2 luego se carga en cadena en otra partición (para arrancar Windows, por ejemplo, ya que instala su propio cargador de arranque), pero también puede ejecutar código (cosas como memtest), o acceder y ejecutar una imagen de módulo y kernel (vmlinuz).

Lo que es importante tener en cuenta es que, en ambos casos, Grub2 se descarga de la memoria una vez que un kernel comienza a ejecutarse o se ha cargado otra partición en cadena.

Grub no está vinculado a un sistema operativo en particular. Puede residir en su partición privada, aunque normalmente se instala junto con el sistema de archivos principal. Pero para que pueda arrancar su (s) sistema (s), necesita conocerlos. Por lo tanto, debe actualizar Grub después de cualquier cambio importante en los sistemas presentes en su máquina, como un nuevo sistema operativo instalado o una actualización del kernel. Si elimina el único Grub que existe, no iniciará su (s) sistema (s). Puede haber muchos Grubs en una máquina, pero solo uno es principal o activo. Aparte de Grub, hay otros cargadores de arranque que se pueden usar (en lugar de Grub). Windows tiene su propio cargador de arranque, que se puede configurar como el principal para toda la máquina.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *