Es un problema al que todos nos enfrentamos en algún momento. Tu PC arranca lento y no sabes la razón pero resulta muy molesto, sobretodo si lleva más de 4 minuto en arrancar cuando estás usando un disco SSD de ultima generación. ¿Qué está pasando? ¿Cómo detectar el problema y cómo darle solución?
En Ubuntu y otras distribuciones derivadas es posible hacer un rápido análisis para detectar las posibles causas. En mi caso el tiempo para llegar al escritorio pasó de unos 30 segundos a unos horrendos 3 minutos, lo que hizo que el arrancar mi portátil fuera una experiencia cualquier cosa menos divertida. Así que me di cuenta de que tenía que depurar esto. Ya no podía esperar más.
Problema con más detalle
Lo que sucede es lo siguiente: el sistema tarda mucho en arrancar. Esa es la parte fácil. Esta lentitud viene en dos partes. La pantalla de bienvenida (con el logo de Lubuntu) permanece allí durante mucho tiempo, y parece que el escritorio podría estar atascado. Y luego, también lleva un tiempo cargar el entorno LXDE. Una vez el sistema parece que está listo, también hay algo de retraso inicial en los primeros segundos del uso.
Manos a la obra
Necesitamos analizar el proceso de arranque del sistema. En mi caso podemos usar systemd para perfilar su proceso de arranque, obtener una lectura precisa del tiempo de arranque total y del tiempo individual para cada servicio, incluyendo dependencias y la parte crítica en la cadena de arranque (lo que significa que nada más se ejecutará hasta que se cargue cierto servicio).
Para obtener el tiempo de arranque, solo debemos ejecutar la instrucción: systemd-analyze
Lo que hace el comando es indicarnos el tiempo que necesita el sistema para cargar el firmware, el gestor de arranque, el kernel y, finalmente, la parte del espacio del usuario, que incluye todos los diferentes servicios (ocultos detrás del logotipo de la distribución). La secuencia de arranque es silenciosa y no se ve la salida detallada. A veces, esto puede ser útil, pero realmente no necesitamos eso.
Para conseguir más detalle el siguiente comando a ejecutar será: systemd-analyze critical-chain
Y aquí se ve más claramente. Por alguna razón, el sistema está esperando que algo suceda. El resultado de ejecutar este comando nos da más información sobre qué buscar luego en Internet para resolver esto, entre otras cosas.
Nota: Si prefieres verlo de un modo más gráfico siempre puedes usar el comando systemd-analyze –system plot > systemd-analyze.svg para exportar el resultado en una gráfica SVG.
En mi caso salta a la vista que nmbd.service se está tomando un tiempo extra además de NetworkManager-wait-online.service por lo que ya tenemos algo con qué comenzar a buscar nuestra solución.
Podemos incluso indagar un poco más echandole un vistazo a otro system log, /var/log/boot.log
Parece que algo más ocurre con AppArmor.
Otro comando para verificar que podemos usar es: systemd-analyze blame
En mi caso el servicio nmbd.service está relacionado con Samba y la conexión con dispositivos Windows. Como no uso nada de eso en casa, pues he decidido desactivar el servicio por no desinstalar Samba. Esto lo logré ejecutando: systemctl disable nmbd.service
Lo mismo para el servicio NetworkManager-wait-online.service. Al trabajar en un entorno standalone en realidad no necesito este servicio. Así que desde terminal lo desactivé usando systemctl disable NetworkManager-wait-online.service
Sobre el problema con Apport, estoy investigando un poco sobre las posibles causas. Por lo pronto me he decidido por desactivarlo usando las recomendaciones de este hilo. Pero me gustaría indagar más.
Ya por último queda limpiar los registros del sistema más antiguos para ahorrar algo de espacio: sudo journalctl –vacuum-time=5d
Resultado
Tras aplicar mis cambios he reiniciado el sistema y ahora todo ha vuelto a unos aceptables 40 segundos. Claro está que podría seguir afinando un poco más para bajar esta marca. Aún así estoy contento del resultado.
Conclusión
Seguro que me he dejado muchas cosas en el tintero pero espero que hayas encontrado útil este artículo. Comenzamos con un sistema Ubuntu que de repente arranca lentamente después de una actualización, y los registros del sistema están llenos de errores, advertencias y pistas para seguir. Siguiendo estas pistas podemos aislar el problema, buscar información en Internet y asegurarnos de aplicar una solución para que nuestro sistema vuelva a estar en forma.