Ubuntu se queda bloqueado en arranque: "cryptsetup: set up successfully"

Author
Por Darío Rivera
Publicado el en Ubuntu

El error solucionaremos hoy es bastante común en sistemas con discos cifrados y consiste básicamente en una pantalla que muestra el siguiente mensaje justo después de ingresar tu clave correcta de cifrado del disco.

cryptsetup: set up successfully

Lo que el usuario percibe como un bloqueo en el "arranque" aunque técnicamente si obtuviste el mensaje "cryptsetup: set up successfully" tu sitema ya arrancó e incluso cargo y decifró de manera correcta el disco (usualmente cifrado con LUKS). En este artículo, exploraremos algunas de las soluciones comunes para solucionar este error en Ubuntu Linux.

Prerrequisitos

Como el arranque de tu sistema no funciona, deberás configurar una USB con alguna versión de Linux (preferiblemente la misma de tu S.O.) y seguir los pasos que te vamos a describir a continuación. En esencia, deberás seguir estos pasos:

- Preparar una USB live de Linux (este paso sale del scope de este post)
- Entrar como chroot al sistema (este paso sale del scope de este post)
- Ejecutar los comandos que se verán en el apartado de Soluciones, según sea tu caso.

Nota: Todos los comandos mostrados en este artículo deberán ser ejecutados con el usuario root. Ya que debes ingresar a tu sistema con chroot, hemos omitido el uso de sudo en todas las soluciones.

Solución

El error "cryptsetup: set up successfully" puede ser causado por varios motivos incluyendo desde problemas con el driver de video hasta problemas con el kernel de Linux. La solución a este error depende de cual haya sido ese motivo específico por el cual obtuviste el error. A continuación veremos diferentes soluciones para algunas de las causas más comunes.

Disclaimer: Los procedimientos mencionados en este post pueden implicar ciertos riesgos para el correcto funcionamiento de tu sistema operativo. Por lo tanto, se recomienda que sigas los pasos con precaución y bajo tu propia responsabilidad. Asegúrate de tener una copia de seguridad actualizada de todos los datos importantes antes de continuar.

Driver de video no configurado

Una de las razones mas comunes por la cual sucede el error de la pantalla infinita de "cryptsetup: set up successfully" es una mala configuracion del driver de video. Esto puede ser que no tienes instalado el driver, tienes un driver no compatible con tu version del kernel, entre otras cosas. Asegúrate de tener la version correcta instalada y configurada, puedes seguir el siguiente artículo el cual tiene toda la informacion disponible si tu driver es Nvidia.

- Instalar drivers de Nvidia en Ubuntu

Ya que existen varias formas de instalar el driver de Nvidia deberás saltar de este artículo al indicado por el enlace anterior y volver en caso de ser necesario.

Driver Nvidia no soportado

Suena cosa de hace algunos años pero la realidad es que si tienes un kernel muy reciente puede que el driver de Nvidia no esté disponible para tu sistema operativo. Generalmente Nvidia soporta las versiones LTS de Ubuntu, así que si tienes una versión intermedia o te instalaste el último kernel en tu versión actual puede que aún no tengas soporte.

En este caso no intentes ir contra la corriente, deberás optar por otro driver de video. Si tienes un procesador Intel podrás utilizar el video driver de intel. En primer lugar, utiliza el comando lspci para verificar que tarjetas de video tienes en tu máquina.

root@ubuntu:/# lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
	DeviceName: Intel(R) UHD Graphics 630
	Subsystem: Hewlett-Packard Company CoffeeLake-H GT2 [UHD Graphics 630]
	Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 3 GB Max-Q]
	DeviceName: NVIDIA GeForce GTX 1050
	Subsystem: Hewlett-Packard Company GP107M [GeForce GTX 1050 3 GB Max-Q]
	Kernel driver in use: nouveau

Una vez confirmado que tienes otra tarjeta diferente como la de Intel, deberás desinstalar los controladores de Nvidia instalados con anterioridad. Solo para verificar, puedes ver la lista de controladores instalados con el siguiente coamndo:

dpkg -l | grep -i nvidia

Para desinstalarlos puedes utilizar el siguiente comando:

apt-get purge nvidia-*

Una vez hecho esto podrás instalar los de Intel.

apt install xserver-xorg-video-intel

Finalmente deberás actualizar el ramdisk inicial.

update-initramfs -u -k all

Y actualizar el GRUB.

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

Modulos extra del Kernel no cargados

Si realizaste una instalacion reciente del sistema, cambiaste un disco fisico, o hiciste un cambio reciente sin darte cuenta que el gestor de paquetes apt borró un montón de paquetes útiles, tal vez sea buena idea asegurarnos que el kernel de Linux tiene los módulos cargados correctamente.

Suponiendo que estas utilizando la version del kernel por default de Ubuntu, sea cual sea tu versión, puedes ejecutar los siguientes comandos.

apt install linux-headers-$(uname -r)
apt-get install linux-modules-extra-$(uname -r)

Este comando instalara los headers de Linux y los modulos extra si no los tienes aún. Si todo ha salido bien, después deberás actualizar el ramdisk de inicio con el siguiente comando.

update-initramfs -u -k $(uname -r)

Finalmente los siguientes comandos actualizarán el GRUB y cargarán los módulos extra instalados.

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

Version antigua del kernel linkeada

Si realizaste un upgrade recientemente puede presentarse el caso que tu sistema esté utilizando una versión antigua del kernel que ya no está disponible en los repositorios oficiales de tu nueva versión. Para verificar esto primero debes actualizar la lista de paquetes de tu Ubuntu.

apt get update

Seguidamente podrás ejecutar el siguiente comando para verificar la lista de kernels disponibles en tu versión de Ubuntu. En mi caso, solo tengo una disponible.

root@ubuntu:/# apt-cache search linux-image | grep "linux-image-[0-9]" | grep "generic"
linux-image-6.2.0-20-generic - Signed kernel image generic

Ahora bien, para ver la lista de kernels instalados deberás este otro somando muy similar al anterior. De hecho, solo se cambio apt-cache por apt.

root@ubuntu:/# apt search linux-image | grep "linux-image-[0-9]" | grep "generic"
linux-image-5.15.0-60-generic/now 5.15.0-60.66 amd64 [residual-config]
linux-image-5.19.0-40-generic/now 5.19.0-40.41 amd64 [residual-config]
linux-image-6.2.0-20-generic/lunar,now 6.2.0-20.20 amd64 [installed,automatic]

Para contrastar, vamos a verificar cuales kernels están actualmente instalados en el sistema.

root@ubuntu:/# dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep ii
ii  linux-image-5.19.0-40-generic  5.19.0-40.41  amd64   Signed kernel image generic
ii  linux-image-6.2.0-20-generic   6.2.0-20.20   amd64   Signed kernel image generic

Como puedes notar los kernels 5.19.0 y 6.2.0 están instalados actualmente. Por otro lado, el kernel 5.15.0 pareciera estar instalado también y no hace parte de los repositorios de la versión actual. Esto NO es necesariamente un error, de hecho, tu puedes descargar e instalar kernels a tu disposición. Sin embargo, cuando ves el tag [residual-config] puede que algo este cargado de manera incorrecta. En este caso (actúa con precaución) deberás eliminar los kernels mal configurados y generar nuevamente el ramdisk inicial.

Puedes utilizar el siguiente comando para desinstalar un kernel reemplazando la versión que quieres desinstalar.

update-initramfs -d -k 5.15.0-60-generic

Aún así puedes intentar ejecutar dpkg para eliminar cualquier rastro del kernel si lo hubiere.

dpkg --purge 5.15.0-60-generic

También deberás elimiar el archivo de imagen en /boot.

rm /boot/vmlinuz-5.15.0-60-generic

Deberás generar el ramdisk para todas las imagenes que quedaron instaladas.

update-initramfs -u -k all

Y actualizar el GRUB.

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

Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.