GNU/Linux >> Tutoriales Linux >  >> Fedora

Cómo hacer cambios persistentes en GRUB2 en Fedora

Si está usando Linux, probablemente también esté usando, casi definitivamente, el cargador de arranque GRUB2. El gestor de arranque le permite controlar la secuencia de inicio del sistema, especialmente si tiene varios sistemas operativos instalados, como Windows y Linux en paralelo, varias distribuciones de Linux, etc. En ocasiones, deberá realizar cambios en la configuración de GRUB2, incluidas anulaciones específicas, como los parámetros de la línea de comandos del kernel.

Si lo anterior no significa nada para usted, no necesita esta guía. Pero si es así, puede consultar mi extenso tutorial GRUB2 sobre cómo usar y administrar el gestor de arranque. Excepto que no es suficiente. Si desea agregar parámetros de arranque al kernel, de forma permanente, entonces no funcionará editar el archivo de configuración predeterminado como lo expliqué en la guía. Eso es parte del deleite de la fragmentación que es Linux. Entonces necesitamos un método diferente, y es por eso que estamos aquí.

Cómo debería (haber sido) hecho

Ojalá todas las distribuciones de Linux siguieran una convención e hicieran todo de una manera. Pero dado que tenemos múltiples formatos de paquetes, múltiples administradores de paquetes, múltiples entornos de escritorio y múltiples distribuciones, entonces tiene sentido ilógico tener múltiples cargadores de arranque, o más bien solo uno pero salpicado de ajustes personalizados. Por lo tanto, Ubuntu y Fedora usan diferentes comandos y notaciones para lograr lo mismo.

En Ubuntu y otros, puede anular la línea de comandos del kernel agregando las cadenas necesarias a la directiva GRUB_CMDLINE_LINUX_DEFAULT en el archivo de configuración /etc/default/grub. Por ejemplo, le mostré cómo hacer esto en mi guía de control de ventilador y brillo de pantalla para mi netbook Asus eeePC. Agregamos algunas entradas al archivo, como sigue:

GRUB_CMDLINE_LINUX_DEFAULT="salpicadura silenciosa acpi_osi=Linux"

Necesitaba un ajuste similar para Fedora 30 cuando lo probé en mi antigua máquina HP Pavilion, que tiene una tarjeta Nvidia, y donde encontré un desagradable error causado por un conflicto entre la rama heredada de los controladores Nvidia (340.xx) y el Parches de Spectre en el kernel. Puede leer la historia completa en la revisión de distribución vinculada arriba. En pocas palabras, necesitaba agregar una cadena, así que lo hice, ya que esperaba que GRUB2 se comportara. Actualicé el archivo de configuración del gestor de arranque (a la manera de Fedora, consulte la sección de actualizaciones del tutorial de GRUB2), pero en el siguiente reinicio, se ignoró la opción. No había ninguna cadena deseada en cat /proc/cmdline. Luego aprendí que Fedora hace las cosas de manera diferente.

Grubby:herramienta para realizar cambios GRUB2 persistentes en Fedora

Sí, necesita una herramienta llamada grubby, que le permite agregar cadenas a sus núcleos. Grubby es una herramienta de línea de comandos y funciona especificando un kernel deseado o todos, y luego agregando los valores que desea. La desventaja de esta herramienta es que es más engorrosa de usar que hacer un cambio en el archivo de configuración, no sabe si y cómo se hacen las copias de seguridad en caso de que falle en algo, y si agrega nuevos núcleos, no tendrán el persistente tweak, y tendrá que ejecutarlo de nuevo. No muy elegante. Así que corrí sucio:

sudo grubby --update-kernel=ALL --args=KERNEL-OPTIONS-GO-HERE

Como ejemplo específico, sería algo así como (observe los dos signos =, no un error tipográfico):

sudo grubby --update-kernel=TODOS --args=slab_common.usercopy_fallback=Y

Elegí actualizar todos los kernels y, como argumento, agregué el ajuste del kernel que debería detener el conflicto entre el controlador de Nvidia y el kernel. Para ver si grubby ha hecho su trabajo, o simplemente verificar la configuración del kernel para una entrada de arranque en particular, puede ejecutar la información de grubby contra la versión deseada del kernel.

sudo sucio --info /boot/vmlinuz-5.0.16-300.fc30.x86_64
index=0
kernel="/boot/vmlinuz-5.0.16-300.fc30.x86_64"
args="ro resume=UUID=a43418bb-1d1b-4d1d-81c3-37e1e5bcd3a6 rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau video=vesa:off slab_common.usercopy_fallback=Y"
root="UUID=cd1c9a6a-6fb5-44c2-8d68-b4a96ff7f0e9"
initrd="/boot/initramfs-5.0.16-300.fc30.x86_64.img"
title="Fedora (5.0.16- 300.fc30.x86_64) 30 (Treinta)"
id="63155c29865a492b8d8b8d53dab23782-5.0.16-300.fc30.x86_64"

En el siguiente arranque, verifiqué la configuración del sistema y el cambio estaba allí:

cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos8)/boot/vmlinuz-5.0.16-300.fc30.x86_64 root=UUID=cd1c9a6a-6fb5-44c2-8d68-b4a96ff7f0e9 ro resume=UUID=a43418bb- 1d1b-4d1d-81c3-37e1e5bcd3a6 rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau video=vesa:off slab_common.usercopy_fallback=Y

Conclusión

Todo lo que puedo decir es que no estoy nada contento con este método. Es engorroso y va en contra de lo que creo que son las convenciones de GRUB. Si hay una configuración predeterminada, entonces debe usarse, además es un lugar único y centralizado donde realiza cambios que afectan su sistema. Realmente no hay ninguna razón por la que deba haber una herramienta separada, además de una que hace ajustes de manera opaca y no es compatible con versiones posteriores:nuevos kernels o una actualización de GRUB, ¿qué sucede entonces?

Dejando de lado la filosofía, tienes lo que viniste a buscar. Si desea realizar cambios en la línea de comandos del kernel en Fedora, por cualquier motivo, grubby es la forma más conveniente de realizar un cambio persistente en todo el sistema. Por supuesto, siempre puede probar opciones específicas y únicas editando entradas individuales en el momento del arranque y, una vez que esté satisfecho con su funcionamiento, hágalas permanentes. De todos modos, vamos a llevar este tutorial a su fin. Cuídate.


Fedora
  1. Cómo hacer dormir o suspender Fedora

  2. Cómo instalar Vagrant en Fedora 34

  3. Cómo instalar OpenOffice 4.1.10 en Fedora 34

  4. Cómo instalar AnyDesk en Fedora 35 / Fedora 34

  5. Cómo instalar Node.js en Fedora 35 / Fedora 34

Fedora 29 - Hacer perfecto después de la instalación

Cómo instalar Liquorix Kernel en Fedora 35

Cómo instalar el kernel XanMod en Fedora 36 Linux

Cómo instalar Liquorix Kernel en Fedora 36 Linux

Cómo instalar Go en Fedora 35

Cómo instalar VirtualBox Guest Additions en Fedora