jueves, 1 de octubre de 2020

GRUB EN DEBIAN Y WINDOWS


Usualmente cuando tengo que reinstalar el Grub (actualmente Grub 2) es porque este ha sido sustituido por el de otra distribución que tengo también en la computadora. Recientemente instalé Windows 7 en otra unidad de disco local -por cierto, toda una odisea no exenta de peligros que ya expondré- y como cabía esperar perdí el menú de Grub; al arrancar la computadora se iniciaba directamente Windows.

Así que me ha parecido oportuno exponer estas dos circunstancias por si a alguien que pase por aquí le es útil. No hay que alarmarse es realmente sencillo; hasta yo soy capaz de hacerlo.

Situaciones distintas

recuperar el Grub (actualmente Grub 2):

Grub ha sido sustituido por el menú de Grub de otra distribución Linux. En realidad el Grub instalado por una distribución ha sido sustituido por la instalación del Grub de otra distribución. Y queremos instalar el Grub inicial con su menú -por las razones que sean-.

El Grub que teníamos se ha sustituido al instalar otra distribución, o durante una actualización de otra distribución que afecta al Grub, este se ha actualizado e se instala su menú sustituyendo al que había (que es el que queremos recuperar).

Hemos perdido completamente el Grub con su menú, al encender la computadora o no pasa nada, o arranca directamente Windows y no podemos entrar a ninguna distribución Linux. Por lo general, esto sucede cuando instalamos Windows, o cuando hemos recuperado su arranque por algún incidente.

También podría ocurrir por otros motivos (al trastear las particiones con Gparted, por ejemplo), y con independencia de que tengamos o no tengamos Windows en la computadora; no es usual pero es posible.

Supuestos para desarrollar el tema con un ejemplo

-En ambos casos la distribución de la que queremos recupera el Grub es Debian, o una distribución derivada; creo que los procedimientos que aquí se muestran son válidos también.

-El Grub lo reinstalamos en el MBR del disco local principal que suele ser sda.

Nota: MBR (Master Boot Record) es el sector de arranque principal, también conocido como registro de arranque maestro, y es el primer sector, sector cero, de un dispositivo de almacenamiento de datos como es un disco duro. Su finalidad puede ser el arranque del sistema operativo (boot), o también contener la tabla de particiones, o sólo, y simplemente, para identificar un dispositivo. En los sistemas Debian por lo general el Grub se instala por defecto en el MBR. Podría instalarse también en una partición boot específica o en la partición /root de Debian.

-El esquema de las particiones del disco local es el que se muestra en la tabla siguiente. La distribución de particiones, obviamente, puede ser cualquier otra, por eso es importante que cada uno identifique el disco de arranque (sda), y la partición donde se encuentra /root de Debian.


sda *
MBR
sda1
Primaria
Windows
sda2
Primaria
Windows
sda3
Primaria
Swap
sda4
Extendida
sda5 *
Lógica
/root
Debian
sda6
Lógica
/home
Debian
sda7
Lógica
/root
Otra distribución Linux
sda8
Lógica
/home
Otra distribución Linux

Grub de Debian ha sido cambiado por el de otra distribución, y queremos reinstalar.

Arrancamos la computadora, a través del menú de Grub (que ahora es el de otra distribución) entramos en Debian, abrimos una terminal y como root (su y contraseña) o como usuario con privilegios de root (sudo), reinstalamos el Grub en el MBR del disco local sda:

# grub-install --recheck /dev/sda
Seguidamente actualizamos la configuración del Grub para que nos detecte todos los SO que tengamos en nuestra computadora, los que están en el disco local sda, pero también en otros si tenemos algún otro. Por ejemplo, yo tengo Windows 7 en sdd2

# update-grub
# grub-install –recheck /dev/sda

 Hemos perdido el menú de Grub y no podemos entrar a ninguna distribución Linux

Puede ser que tengamos Windows y al arrancar la computadoras se inicie directamente este SO. Pero también podría ser que no tengamos Windows, y el procedimiento sería igual.

Encendemos el ordenador con un LiveCD de una distribución que utilice grub-2 y de la misma arquitectura (32 o 64 bits); yo utilicé Kubuntu 14.04 (64 bits).

Una vez se haya cargado el sistema abrimos la terminal y nos identificamos como root. En el caso de que el LiveCD sea de Ubuntu o distribuciones derivadas, ejecutamos el siguiente comando:

# sudo su

Si el LiveCD es de Debian tengo entendido, no lo he utilizado nunca, que se obtienen los privilegios de root mediante:

# user
# contraseña: live

Podemos listar los discos locales y particiones para localizar donde tenemos la partición /root de Debian, pero lo más efectivo es saberlo de antemano.

# fdisk -l

Montamos la partición /root de Debian, que en el presente ejemplo la tenemos en sda5

# mount /dev/sda5 /mnt

Reinstalamos el Grub en el MBR del disco sda

# grub-install --root-directory=/mnt/ /dev/sda
Reiniciamos el equipo, pero sin el LiveCD

Al arrancar la computadora de nuevo ya tendremos el menú de Grub. Entramos en Debian, abrimos la consola y actualizamos Grub para que detecte todo los sistemas operativos (puede que alguno no nos haya aparecido en el menú al arrancar la computadora):
           

# update-grub


No hay comentarios:

Publicar un comentario

SIGESP PRIMEROS PASOS

Como Crear una Cuenta de Usuario  Entrar en el Modulo Herramientas del Sistemas  --- Seguridad       ---  Definiciones             --- U...