CÓMO "ACTUALIZAR GRUB" DESDE CHROOT

CÓMO "ACTUALIZAR GRUB" DESDE CHROOT

Estoy arrancando dualmente Windows 10 y Ubuntu 18.04. Recientemente actualicé Windows 10 y desde entonces no puedo iniciar Linux. Ocasionalmente, la actualización ha alterado el arranque de la partición de Linux, pero siempre he podido solucionarlo a través de la línea de comando de grub. Este parece ser un problema completamente diferente.

Pido disculpas si esto es un duplicado: en todas las preguntas relacionadas que he visto, el autor de la pregunta generalmente puede acceder al menú de recuperación o puede iniciar normalmente pero no en modo de recuperación.

Puedo iniciar con éxito el proceso de arranque desde grub, pero después de ese punto, no puedo acceder a la pantalla de inicio de sesión de Ubuntu. Después de ingresar a grub (2.02), navego hasta "Ubuntu" o "Opciones avanzadas para Ubuntu" y allí tengo cuatro opciones:

Ubuntu, with Linux  4.18.0-21-generic
Ubuntu, with Linux  4.18.0-21-generic (recovery mode)
Ubuntu, with Linux  4.18.0-20-generic
Ubuntu, with Linux  4.18.0-20-generic (recovery mode)

Al iniciar cualquiera de los cuatro con éxito, se sale de grub y se inicia una cascada de salida de pantalla. Sin embargo, nunca llego a una ventana gráfica de inicio de sesión, a un mensaje de inicio de sesión ni a nada interactivo. Escribiré aquí las que suelen ser las últimas cinco líneas:

[   OK   ] Reached target Local Encrypted Volumes.
[   OK   ] Reached target Local File Systems (Pre).
[   OK   ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch
[   OK   ] Reached target Sound Card.
[   OK   ] Found device WDC_WDBNCE5000PNC SSD.

Y luego no pasa nada. Tengo que mantener presionado el botón de encendido durante seis segundos para volver a iniciar la computadora. A falta de una instalación nueva, ¿alguien tiene alguna idea?

Si alguien quiere saber líneas anteriores, estaré encantado de transcribirlas aquí. Agradezco cualquier ayuda que pueda obtener.

EDITAR: Esto es lo que sucedió cuando seguí el consejo de @K9spud. fsckvolvió limpio, así que es un alivio. Solía chroot​​​​usar la instalación de Linux como directorio raíz y descubrí que /var/boot.log progresó mucho más de lo que se indicaba originalmente. Un elemento que noté fue que el dispositivo al final del registro cuando lo publiqué no se podía montar, probablemente porque lo configuré /etc/fstabmal. El último mensaje en el registro es

[  OK   ] Started Show Plymouth Boot Screen

Después de eliminar la línea ofensiva de /etc/fstab, el sistema arranca normalmente.

TL;DR: Tener una configuración incorrecta /etc/fstabimpide que se muestre la pantalla de inicio de sesión.

Respuesta1

Ésta podría ser una pregunta difícil de responder. La respuesta más simple es realizar una instalación nueva, pero eso apesta si ya tiene muchos datos/personalización invertidos en su instalación anterior.

Si fuera mi máquina, iniciaría Ubuntu en modo en vivo desde mi memoria USB de instalación de Ubuntu y comenzaría a hurgar en el disco duro para tratar de descubrir qué salió mal e intentar repararlo.

Lo primero que puede hacer es crear una imagen de respaldo de todo, ya que podría terminar empeorando las cosas la primera vez que intente arreglar las cosas.

A continuación, ejecutaría fsck en la partición de Linux para asegurarme de que nada haya dañado la partición. Si fsck vuelve limpio, genial, todos sus datos siguen ahí y se pueden recuperar de una forma u otra si es necesario. Si fsck regresa con un montón de errores, diría que la instalación está fallida, la partición está dañada y no vale la pena salvarla más allá de cualquier dato personalizado que pueda recuperar antes de realizar una instalación nueva.

Después de que pase fsck, probablemente montaría la partición de Linux y usaría "chroot" para comenzar a trabajar desde la instalación de Linux como si me hubieran iniciado desde la instalación de Linux. Tendrás que juguetear con el montaje de dev, sys, proc, etc. dentro del entorno chroot, luego podrás ejecutar "update-grub" para intentar reinstalar grub. La ejecución de "update-grub" puede revelar algunos errores que podrían explicar por qué no puedes iniciar.

Si "update-grub" funciona sin revelar nada importante, tal vez intente husmear en /var/log para ver si alguno de los archivos de registro muestra algún error que pueda indicar por qué el sistema no pudo iniciarse.

Más allá de eso, no estoy seguro de qué más sugerir sin ver yo mismo todos los mensajes de error y tratar de evaluar qué está roto y qué no.

Es muy frustrante que Windows tenga tan poca consideración por las instalaciones de Linux que a veces impide que Linux arranque; me hace querer evitar tener un sistema de arranque dual con Windows. Con suerte, Microsoft mejorará y comenzará a ser más cuidadoso a la hora de estropear las instalaciones de Linux en el futuro.

Respuesta2

CÓMO "ACTUALIZAR GRUB" DESDE CHROOT

  1. Arranque desde su unidad USB Thumb de Ubuntu en modo Linux Live. Asegúrese de que su BIOS inicie la unidad USB en el modo correcto (UEFI versus Legacy/MBR) para su sistema; de lo contrario, tendrá problemas importantes para que funcione update-grub.

  2. Una vez iniciado en Linux en vivo, abra una Terminal y comience a trabajar con estos comandos:

mkdir linux

sudo mount /dev/sdXX linux

(reemplace "/dev/sdXX" con cualquier número de dispositivo/partición que sea correcto para la partición de Linux en su disco duro. Es posible que necesite ejecutar "gparted" para echar un vistazo a sus tablas de particiones y descubrir qué es qué)

sudo chroot linux /bin/bash

mount -t devtmpfs udev /dev

mount -t proc proc /proc

mount -t sysfs sysfs /sys

update-grub

(algunos sistemas pueden necesitar algunos comandos de "montaje" adicionales para /boot y/o /boot/efi; consulte el archivo /etc/fstab de su sistema para obtener ayuda sobre cómo montarlos si es necesario)

Si todo funciona correctamente, "update-grub" debería decir algo como:

Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-48-generic
Found initrd image: /boot/initrd.img-4.15.0-48-generic
Adding boot menu entry for EFI firmware configuration
done

Para mí, update-grub era todo lo que necesitaba para que mis sistemas se iniciaran nuevamente, pero para algunas personas, si grub ha sido eliminado por completo del MBR o cualquier uso de UEFI, es posible que también deban usar "grub-install".

Una vez que todo esto esté hecho sin errores, debe desmontar todas las cosas que montamos previamente desde el entorno chroot antes de salir. De lo contrario, Ubuntu tendrá dificultades para desmontar limpiamente la partición de Linux cuando la apague.

umount /sys

umount /proc

umount /dev

exit

sudo umount linux

sync

información relacionada