Añadiendo la opción nomodeset de forma permanente en el GRUB de Debian Stretch

By | August 23, 2017

Al actualizar los drivers de Nvidia necesité en su momento añadir la opción de arranque nomodeset para poder acceder a otras terminales virtuales. El procedimiento seguido entonces añadía dicha opción de forma temporal, únicamente vigente en el posterior arranque del sistema. En el siguiente reinicio el cambio se pierde. Vamos a realizar una modificación permanente en la configuración del GRUB del sistema.

En primer lugar tendremos que comprobar qué versión de GRUB tenemos para proceder de una u otra manera. Podemos hacerlo de la siguiente manera:

[root@jotadebian ~]# grub-install --version
grub-install (GRUB) 2.02~beta3-5

Vemos que tenemos GRUB 2. Con esta versión los cambios de configuración jamás se deben realizar directamente en /boot/grub/grub.cfg. Para realizar una modificación tenemos /etc/default/grub (configuración general) o los snippets del directorio /etc/grub.d (configuraciones específicas). Tanto si tenemos que modificar configuración general como específica, tras hacer los cambios de configuración tendremos que ejecutar el comando update-grub.

Para el caso particular que comento en el artículo, seguiríamos los siguientes pasos:

  1. En el fichero /etc/default/grub encontramos las variables GRUB_CMDLINE_LINUX y GRUB_CMDLINE_LINUX_DEFAULT. Las opciones que añadamos a la primera son válidas para modo de arranque normal y de recuperación. Las opciones de la segunda variable se mantienen únicamente en modo de arranque normal. Me interesa ésta última, quedando de la siguiente manera:

  2. Ejecutamos update-grub como root o sudo update-grub con usuario con permisos administrativos.
  3. Al reiniciar, compruebo que la opción nomodeset aparece por defecto en el arranque (cuando aparece la pantalla de presentación del GRUB presionamos “e” para entrar en modo edición)

De esta manera podemos realizar cambios de configuración en el GRUB que sobrevivan a un reinicio, especialmente útil si son opciones que normalmente necesitamos en nuestra operativa. No obstante, si queremos probar nuevas opciones o simplemente realizar cambios que vayan a ser temporales para una determinada operativa, podemos seguir el procedimiento del primer artículo.