Problema al actualizar Ubuntu Studio

Antes de nada quiero aclarar que esta no es una guía de como actuar en caso algún problema con el sistema, si no un memorando del trasteo que llevé a cabo dadas mis circunstancias. Ante un problema grave al actualizar nuestro sistema es más recomendable hacer una copia de seguridad de nuestros archivos (desde un live CD por ejemplo) y reinstalar todo el sistema, esto te ocupará menos tiempo y seguramente dejes un sistema más limpio y estable, pero quiero dejar constancia de otras posibilidades que he probado.

Como ya indiqué en anteriores publicaciones poseo un portátil con una tarjeta gráfica NVIDIA Corporation: G98M [GeForce 9300M GS] que suele dar problemas.
Actualmente estaba utilizando Ubuntu Studio 14.04 que me funcionaba de maravilla, pero el otro día me dio por actualizarlo. Después de varias horas de actualización me encontré con que al reiniciar no había forma de iniciar sesión, ni en su entorno gráfico ni siquiera aparecía la terminal (pulsando [Ctrl][Alt][F1]). Solo obtenía una pantalla negra, oscura como una noche sin luna…

UbuntuStudio resolución 640x480 con menu desplegado

UbuntuStudio resolución 640×480 con menu desplegado


Pero sabía que el sistema estaba ahí funcionando, por lo que en lugar de reinstalar pensé en otras posibles soluciones.

Cambiar los drivers privados de Nvidia por el de Xorg:

Para esto, al iniciar hay que pulsar [Mayúsculas] para que salga el menú de grub. Seleccionar opciones avanzadas y escoger el kernel anterior que usaba en Ubuntu Studio 14:
Ubuntu, con Linux 3. 16.0-77-lowlatency
El kernel de Ubuntu Studio 18 provoca que no cargue la pantalla pero si se inicia con el kernel de Ubuntu Studio 14 permite arrancar, esto me hizo confirmar mis sospechas de que el culpable era el driver de Nvidia.
Para poder arrancar con el nuevo kernel de Ubuntu Studio 18 hay que cambiar el driver de NVIDIA por el genérico libre, para ello solo hay que acceder a:
Menú -> Administrador de configuración -> Controladores adicionales -> X.Org X server
El driver que no funciona es:
NVIDIA Corporation: G98M [GeForce 9300M GS] (U6V laptop)
Usando NVIDIA binary driver – versión 340.106 desde nvidia-340 (privado, probado)

Tras reiniciar pude comprobar que este cambio hizo que funcionara, pero en una mínima resolución de 640×480 que no permite ser cambiada, por más que lo intente siempre recibía error y no obtenía el más mínimo cambio, por lo que no me pareció una solución aceptable dado que aunque el sistema funcionaba correctamente era tremendamente incómodo tener que desplazar las ventanas todo el rato para poder utilizar los programas dado el reducido tamaño que mostraba la pantalla.

Nueva instalación:

Probé a instalar varias distribuciones (Ubuntu Studio, Ubuntu, Xubuntu… en sus versiones 18 y 16 e incluso en arquitecturas de 64 y 32 bits), Pero ninguna cargaba el DVD instalador (en el portátil, en otros equipos si comprobé que cargaban), por lo que intenté instalar otra vez la versión 14 en una partición junto a la antigua y actualizarla desde cero para ver si de esta forma funcionaba correctamente.
Tardó en instalar Ubuntu Studio 14.04 cerca de una hora, tras esto me dirigí a:
Menú -> Sistema -> Actualización de software
Esto primero actualiza los programas y tras reiniciar y acceder al mismo programa, permite actualiza a 16.04.
Otra hora después, cuando empieza a instalar actualizaciones solicita permiso para actualizar a la versión 18.04, se los concedo, pero al reiniciar seis horas después pude comprobar que había actualizado a su versión 16.04 de modo que volví a actualizar los programas y después la versión a la 18, de esta forma, cuatro horas más tarde ya tenía la versión instalada y volví a reiniciar.

Error tras reiniciar:

Pero aquí no se acabaron mis problemas, pues al arrancar me apareció el siguiente error:
error: ninguna tabla de símbolos.
Presione cualquier tecla para continuar…

Al presionar enter solo aparecían puntos de colores y por más que esperara no arrancaba.
De modo que de nuevo seleccioné en el grub el kernel anterior que en este caso era:
Ubuntu, con Linux 4.4.0-133-lowlatency
De esta forma arrancó correctamente a la primera y mostrando una correcta resolución de pantalla (1440×900 la máxima que acepta mi portatil).
Además pude comprobar que ya se había actualizado a su versión 18.04 con el siguiente comando:
$ lsb_release -a
El problema ahora era que cada vez que arrancara tendría que estar cambiando el kernel desde el grub, pero para evitar esto opté por desinstalar los kernels que no funcionan con los siguientes comandos:
$ sudo apt-get purge linux-image-4.15.0-32-lowlatency
$ sudo apt-get purge linux-image-4.15.0-32-generic
$ sudo update-grub

Aqu ya tenía un sistema Ubuntu Studio 18.04 totalmente operativo, pero no me apetecía volver a pegarme otras once horas para instalar de nuevo el sistema operativo en todo el disco, de modo que decidí aprovechar la carpeta del usuario del sistema antiguo para el nuevo sistema.

Aprovechar la carpeta del usuario del sistema antiguo:

Para esto primero montaré la partición antigua en el nuevo sistema cada vez que arranque, esto lo conseguí mediante FSTAB.

Antes de modificar el archivo fstab necesitamos saber el UUID de la partición que quiero montar, conseguí esto a través del comando:
$ sudo blkid
De este modo descubrí que la información de la partición era la siguiente:
/dev/sda1: UUID="483a4ce6-770d-4c02-9efe-6e475311b8be" TYPE="ext4" PARTUUID="0000b775-01"

Teniendo esta información ya pude modificar el archivo con el siguiente comando:
$ sudo gedit /etc/fstab
Aquí agregue al final del archivo una línea para montar la partición antigua desde el sistema nuevo:
UUID="483a4ce6-770d-4c02-9efe-6e475311b8be" /old ext4 defaults 0 2
Esto monta toda la partición en el directorio old, pero hay que crear el directorio, para ello simplemente hay que ejecutar:
$ sudo mkdir /old
Y ya para probar que se monta usé:
$ sudo mount -a

De acuerdo, ya tenemos la partición antigua montada en el sistema nuevo, pero lo que quería es tener el mismo directorio de usuario en los dos sistemas.
Para ello primero moví el directorio de usuario para poder recuperarlo si ocurría algún problema:
$ sudo mv /home/ricardo /home/ricardonew
Luego hay que crear un enlace simbólico al directorio antiguo:
$ sudo ln -s /old/home/ricardo /home/ricardo
Me aseguro de que el propietario del enlace es el que debe ser (porque entré con otro usuario):
$ sudo chown -h ricardo:ricardo /home/ricardo

Con esto ya tenemos el mismo directorio de usuario con los mismos archivos que podremos utilizar desde los dos sistemas, cosa que además de permitirme usar un sistema funcional, también me permite continuar explorando cuál es el problema que originó el fallo del sistema antiguo.

Es algo engorroso tener que hacer todo esto para tener un sistema actualizado, pero gracias a estos fallos podemos conocer mejor nuestro sistema.
Lo importante es no desesperar ante los problemas, pues si conservamos la cabeza fría, nos permiten aprender y mejorar.

Fuentes:

http://aikipanda.ocanyaweb.es/programacion/tras-instalar-debian-7-wheezy
https://www.google.es/amp/s/blog.desdelinux.net/como-instalar-los-ultimos-controladores-de-nvidia-en-ubuntu/amp/
https://www.garron.me/es/gnu-linux/ubuntu-borrar-kernels-antiguos.html
https://www.google.es/amp/s/lavidaestux.wordpress.com/2015/03/28/mover-el-home-a-otra-particion-o-disco/amp/

Share
Esta entrada fue publicada en Programación. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Blue Captcha Image Refrescar

*