A partir de RHEL 7, GRUB2 es el cargador de arranque predeterminado. Las configuraciones y ajustes de GRUB2 son muy diferentes a los de GRUB utilizados en RHEL 6 y versiones anteriores. El sucio La utilidad de línea de comandos se puede utilizar para realizar cambios persistentes en /boot/grub.cfg expediente. También puede modificar el archivo /etc/default/grub y usar grub2-mkconfig para modificar los argumentos.
Cómo modificar argumentos de GRUB2 usando grubby
1. Use el comando grubby para enumerar todas las entradas del kernel presentes.
# grubby --info=ALL index=0 kernel=/boot/vmlinuz-3.10.0-229.el7.x86_64 args="ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet LANG=en_US.UTF-8" root=/dev/mapper/vg_os-lv_root initrd=/boot/initramfs-3.10.0-229.el7.x86_64.img title=Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 3.10.0-229.el7.x86_64 index=1 kernel=/boot/vmlinuz-0-rescue-0c4400a0fc934267945bc23cb6c4440d args="ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet" root=/dev/mapper/vg_os-lv_root initrd=/boot/initramfs-0-rescue-0c4400a0fc934267945bc23cb6c4440d.img title=Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 0-rescue-0c4400a0fc934267945bc23cb6c4440d index=2 non linux entry
El –update-kernel La opción se puede usar para actualizar una entrada de menú cuando se usa en combinación con :
1. –argumentos :para agregar nuevos argumentos.
2. –remove-args :para eliminar los argumentos existentes.
Cómo eliminar un argumento
Veamos un ejemplo para eliminar un argumento de una entrada de menú. El siguiente ejemplo muestra cómo eliminar los argumentos "rhgb quiet".
# grubby --remove-args "rhgb quiet" --update-kernel /boot/vmlinuz-3.10.0-229.el7.x86_64
Enumere todas las entradas del kernel y verifique los cambios realizados. Notará que se eliminó el parámetro "rhgb quite" para el kernel /boot/vmlinuz-3.10.0-229.el7.x86_64.
# grubby --info=ALL index=0 kernel=/boot/vmlinuz-3.10.0-229.el7.x86_64 args="ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap LANG=en_US.UTF-8" root=/dev/mapper/vg_os-lv_root initrd=/boot/initramfs-3.10.0-229.el7.x86_64.img title=Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 3.10.0-229.el7.x86_64 index=1 kernel=/boot/vmlinuz-0-rescue-0c4400a0fc934267945bc23cb6c4440d args="ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet" root=/dev/mapper/vg_os-lv_root initrd=/boot/initramfs-0-rescue-0c4400a0fc934267945bc23cb6c4440d.img title=Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 0-rescue-0c4400a0fc934267945bc23cb6c4440d index=2 non linux entry
Cómo agregar un argumento
Veamos un ejemplo de agregar un argumento a la entrada del menú. Volvamos a agregar los argumentos eliminados "rhgb quiet" nuevamente. Use la opción “–args” para agregar argumentos a GRUB2.
# grubby --args "rhgb quiet" --update-kernel /boot/vmlinuz-3.10.0-229.el7.x86_64
Enumere todas las entradas del kernel y verifique los cambios realizados.
# grubby --info=ALL index=0 kernel=/boot/vmlinuz-3.10.0-229.el7.x86_64 args="ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap LANG=en_US.UTF-8 rhgb quiet" root=/dev/mapper/vg_os-lv_root initrd=/boot/initramfs-3.10.0-229.el7.x86_64.img title=Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 3.10.0-229.el7.x86_64 index=1 kernel=/boot/vmlinuz-0-rescue-0c4400a0fc934267945bc23cb6c4440d args="ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet" root=/dev/mapper/vg_os-lv_root initrd=/boot/initramfs-0-rescue-0c4400a0fc934267945bc23cb6c4440d.img title=Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 0-rescue-0c4400a0fc934267945bc23cb6c4440d index=2 non linux entry
Modificar parámetros definidos en /etc/default/grub
Otra entrada común que podemos necesitar modificar es el tiempo de espera del menú de grub, se define en /etc/default/grub. Puede utilizar el método que se describe a continuación para modificar cualquier otro parámetro definido en el archivo /etc/default/grub .
# cat /etc/default/grub GRUB_TIMEOUT=5 #### we have modified this from 5 seconds to 15 seconds GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet" GRUB_DISABLE_RECOVERY="true"
Puede editar /etc/default/grub y modificarlo a "GRUB_TIMEOUT=15", luego reconstruir grub.cfg usando grub2-mkconfig comando.
# grub2-mkconfig -o /boot/grub2/grub.cfg
Conclusión
Los argumentos de GRUB2 se pueden modificar usando 2 métodos:
1. Usar una herramienta sucia.
2. Modificando el archivo /etc/default/grub y usando comando grub2-mkconfig.
También asegúrese de no editar el archivo /boot/grub.cfg directamente. Este archivo se actualiza automáticamente con los cambios usando la herramienta sucia.