martes, 5 de julio de 2016

Eliminar Kernel del Grub2 ó Arrancar desde un kernel anterior



Eliminar Kernel del Grub2 ó Arrancar desde un kernel anterior


Nos podemos encontrar que tras una actualización, el equipo se quede congelado, parado, con pantalla morada estática después del Grub, suele pasar que el nuevo Kernel por la razón que sea, no es compatible con nuestro “hardware”




Monitor de sistema





1.- Eliminar Kernel del Grub2


Para solucionar esta situación tan incomoda, ponemos el equipo en marcha y cuando salga el Grub nos vamos a Opciones avanzadas para Ubuntu, nos aparecen varios kernels instalados, arrancamos desde un Kernel anterior al primero que nos aparece en la lista, puesto que el primero en aparecer en está lista es la versión mas nueva (la que nos crea el problema)



Opciones avanzadas para Ubuntu




Una vez que tenemos el sistema operativo en marcha, nos vamos a Terminal, para ver los Kernel que tenemos instalados en nuestro sistema, ponemos los siguientes comandos:

dpkg --get-selections | grep linux-image


dpkg --get-selections | grep linux-image




Nos sale la lista de los kernel instalados en el sistema:

pedro@Trasuntu16:~$ dpkg --get-selections | grep linux-image
linux-image-4.4.0-22-generic   install
linux-image-4.4.0-28-generic   install
linux-image-extra-4.4.0-22-generic  install
linux-image-extra-4.4.0-28-generic  install
linux-image-generic    install
pedro@Trasuntu16:~$


Como podemos ver el Kernel mas nuevo es el 4.4.0-28




Para eliminar el Kernel mas nuevo (el que nos crea el problema) lo haremos con el comando: sudo apt-get remove --purge, seguido del paquete a eliminar

Ponemos en Terminal los siguientes comandos:

sudo apt-get remove --purge linux-image-4.4.0-28-generic linux-image-extra-4.4.0-28-generic


sudo apt-get remove --purge linux-image-4.4.0-28-generic linux-image-extra-4.4.0-28-generic



Ahora vamos a ver los headers de los kernel que hemos eliminado, para ello, ponemos en Terminal los siguientes comandos:

dpkg --get-selections | grep linux-headers


dpkg --get-selections | grep linux-headers



Nos sale la lista de los headers de los kernel instalados en el sistema:

pedro@Trasuntu16:~$ dpkg --get-selections | grep linux-headers
linux-headers-4.4.0-22    install
linux-headers-4.4.0-22-generic   install
linux-headers-4.4.0-28    install
linux-headers-4.4.0-28-generic   install
linux-headers-generic    install
pedro@Trasuntu16:~$ 


Como podemos ver los headers del Kernel mas nuevo es el 4.4.0-28





Para eliminar los headers del Kernel que hemos eliminado, lo haremos con el comando: sudo apt-get remove --purge, seguido del paquete a eliminar

Ponemos en Terminal los siguientes comandos:

sudo apt-get remove --purge linux-headers-4.4.0-28 linux-headers-4.4.0-28-generic


sudo apt-get remove --purge linux-headers-4.4.0-28 linux-headers-4.4.0-28-generic




Una vez que hemos eliminado el Kernel que nos creaba el problema y su correspondiente headers actualizamos el Grub para no llevarnos sorpresas
Para actualizar el Grub ponemos en Terminal los siguientes comandos:

sudo update-grub2


Salimos de Terminal con:

exit




Si queremos instalar los nuevos Kernel cuando salgan, instalaríamos linux-image-generic con los siguientes comandos:

sudo apt-get install linux-image-generic





 

2.- Arrancar desde un kernel anterior


Si no queremos eliminar el nuevo Kernel (el que nos crea el problema del arranque), podemos arrancar desde un kernel anterior, para ello, tenemos que editar el Grub

Grub es un gestor de arranque, es el primer programa de “software” que se ejecuta cuando arranca el equipo, dándonos la opción de seleccionar con que sistema operativo queremos arrancar

Para modificar el Grub, tenemos que editar el archivo de configuración /etc/default/grub

Para editar /etc/default/grub ponemos en Terminal los siguientes comandos:

sudo gedit /etc/default/grub


sudo gedit /etc/default/grub




Se abre el archivo /etc/default/grub como un documento de texto


archivo /etc/default/grub




En el archivo /etc/default/grub tenemos que cambiar la línea:

GRUB_DEFAULT=0

Por la línea:

GRUB_DEFAULT=saved


Al final del archivo /etc/default/grub añadimos la siguiente línea:

GRUB_SAVEDEFAULT=true


Guardamos el archivo y lo cerramos

Después de realizar cualquier modificación en el archivo /etc/default/grub, tenemos que actualizar el Grub para que surta efecto, para ello, ponemos en Terminal los siguientes comandos:

sudo update-grub2


Salimos de Terminal con:

exit


A partir de ahora, cada vez que iniciemos el equipo arrancará desde el último sistema operativo utilizado

______________________________