El sistema ya no arranca, dejó de esperar el dispositivo raíz, (initramfs), / dev / mapper / gnome-root no existe

10

Después de instalar una actualización, mi sistema ya no arranca. Tengo el cifrado de disco completo (el que el instalador configura para usted) habilitado, por lo que generalmente solicita la clave solo unos segundos después de iniciar GRUB. Ahora, omite pedir la clave, intenta cargar Gnome y luego va a la pantalla que se muestra a continuación. El sistema es una caja System76 de 64 bits que ejecuta Ubuntu Gnome 13.04. Sin embargo, esto me ha sucedido una vez en el pasado, en un Dell XPS 8300 de 64 bits con Ubuntu Gnome Remix 12.10. En ese caso reinstalé el sistema operativo. Sin embargo, quiero solucionar el problema esta vez, así que sé cómo manejarlo en el futuro. Además, es extremadamente inconveniente volver a instalar desde cero.

Mi sospecha es que algo se estropeó en un archivo de configuración en / boot de tal manera que no se da cuenta de que el disco está encriptado, pero no vi nada al hurgar allí. ¿Tiene alguna idea de cómo solucionarlo (además de reinstalar el sistema operativo)?

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)
Freedom_Ben
fuente

Respuestas:

9

Lo tengo arreglado !!! Para las generaciones futuras para que no tenga que pasar por los días agonizantes y las horas interminables que hice:

En primer lugar, pude hacer que el sistema se iniciara desde el (initramfs)indicador escribiendo lo siguiente (utilicé esta página del foro como una muleta):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

Esto hizo que mi sistema se iniciara correctamente. Una vez arrancado, modifiqué /etc/crypttabpara señalar un UUID diferente que antes. Elegí el UUID de mi /etc/fstab. Guarde el valor original de UUID. Lo necesitará en unos pocos pasos. Luego corrí (desde una terminal):

update-initramfs -k all -c

Si recibe una advertencia similar a esta o algo similar:

WARNING: invalid line in /etc/crypttab

luego regrese al principio y en lugar de sda5_cryptusar lo que está en su crypttab.

Luego reinicié. ¡Esta vez recibí el mensaje para la frase de contraseña! Pero no te emociones demasiado, porque no funcionó. Ingresé la contraseña correcta aproximadamente 7 veces y las rechazó todas. Luego volvió a la (initramfs)solicitud después de unos 90 segundos.

Repetí el primer paso y lo volví a arrancar. Luego restauré el valor original de UUID crypttaby volví a ejecutar el paso dos. Luego reinicié y ¡ÉXITO!

Freedom_Ben
fuente
5

Con el cifrado de disco completo como una opción en Ubuntu 14.04, solo quería señalar cómo resolví este problema, ya que mi terminal initramfs no me permitía usar cryptsetup:

  1. Arranque desde un DVD / USB en vivo (el USB será mucho más rápido).

  2. Abra una Terminal y escriba lo siguiente:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
  3. Reiniciar y espero que funcione.

k0ryfi
fuente
Esta solución me gustó más, porque no tuve que descubrir cómo obtener un indicador de initramfs o hacer más de un reinicio. En mi caso, había actualizado Ubuntu 15.04 a 15.10 y ya no podía desbloquear mi disco durante el arranque. Una adición es que descubrí que el nombre de mapeo proporcionado en la línea 2 (por ejemplo, sda5_crypt) debe coincidir con su archivo crypttab.
Der Wolf
1
Lo anterior solo funciona si tiene una entrada /etc/crypttab. Después de ingresar el chroot según los pasos anteriores, pero antes de ejecutar update-initramfs, ejecute nano /etc/crypttaby asegúrese de que haya una línea allí con el nombre del asignador y el UUID de la unidad. Si el archivo no existe o está vacío, ¡ update-initramfsno solucionará el problema! Agregue la línea crypttab mientras está en el entorno chroot. Esta respuesta debe editarse para reflejar esto. Además, creo que cryptsetupsolo existe en el indicador initramfs si /etc/crypttabexiste y tiene entradas cuando initramfs se actualiza.
Nick
0

Arregle su grub mediante el arranque a través de live-cd / live-usb. Consulte esta página para obtener detalles del proceso. Consulte la sección "a través del terminal LiveCD" en la página.

La reparación de grub debería corregir cualquier archivo con formato incorrecto que pueda tener en la configuración de grub.

Bhavin Doshi
fuente
Gracias por el consejo. Intenté todo lo que sugeriste pero fue en vano. Sin embargo, lo entendí. Es bastante loco ...
Freedom_Ben
0

Compruebe si ha cryptsetupinstalado en su sistema, podría haberse eliminado al ejecutarlo apt-get autoremove. Más información .

Arsenio
fuente