Ab RHEL 7 ist GRUB2 der Standard-Bootloader. Die Konfigurationen und Einstellungen von GRUB2 unterscheiden sich stark von GRUB, das in RHEL 6 und früheren Versionen verwendet wird. Der schmuddelige Befehlszeilenprogramm kann verwendet werden, um dauerhafte Änderungen an /boot/grub.cfg vorzunehmen Datei. Sie können auch die Datei /etc/default/grub ändern und grub2-mkconfig verwenden, um die Argumente zu ändern.
HINWEIS: Ändern von /boot/grub.cfg manuell durch vi wird nicht empfohlenWie man GRUB2-Argumente mit grubby ändert
1. Verwenden Sie den Befehl grubby, um alle vorhandenen Kernel-Einträge aufzulisten.
# 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
Der –update-kernel Option kann verwendet werden, um einen Menüeintrag zu aktualisieren, wenn sie in Kombination mit verwendet wird:
1. –args :um neue Argumente hinzuzufügen.
2. –remove-args :um vorhandene Argumente zu entfernen.
Wie man ein Argument entfernt
Sehen wir uns ein Beispiel an, um ein Argument aus einem Menüeintrag zu entfernen. Das folgende Beispiel zeigt, wie die „rhgb quiet“-Argumente entfernt werden.
# grubby --remove-args "rhgb quiet" --update-kernel /boot/vmlinuz-3.10.0-229.el7.x86_64
Listen Sie alle Kernel-Einträge auf und überprüfen Sie die vorgenommenen Änderungen. Beachten Sie, dass der Parameter „rhgb quiet“ für den Kernel /boot/vmlinuz-3.10.0-229.el7.x86_64 entfernt wurde.
# 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
Wie man ein Argument hinzufügt
Sehen wir uns ein Beispiel für das Hinzufügen eines Arguments zum Menüeintrag an. Lassen Sie uns die entfernten Argumente „rhgb quiet“ wieder hinzufügen. Verwenden Sie die Option „–args“, um Argumente zu GRUB2 hinzuzufügen.
# grubby --args "rhgb quiet" --update-kernel /boot/vmlinuz-3.10.0-229.el7.x86_64
Listen Sie alle Kernel-Einträge auf und überprüfen Sie die vorgenommenen Änderungen.
# 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
Ändern von in /etc/default/grub definierten Parametern
Ein weiterer häufiger Eintrag, den wir möglicherweise ändern müssen, ist das Timeout des Grub-Menüs, es ist in /etc/default/grub definiert. Sie können die unten beschriebene Methode verwenden, um jeden anderen Parameter zu ändern, der in der Datei /etc/default/grub definiert ist .
# 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"
Sie können /etc/default/grub bearbeiten und auf „GRUB_TIMEOUT=15“ ändern, dann die grub.cfg mithilfe von grub2-mkconfig neu erstellen Befehl.
# grub2-mkconfig -o /boot/grub2/grub.cfg
Schlussfolgerung
Die GRUB2-Argumente können mit 2 Methoden geändert werden:
1. Mit schmuddeligem Tool.
2. Ändern der Datei /etc/default/grub und Verwenden des Befehls grub2-mkconfig.
Stellen Sie außerdem sicher, dass Sie die Datei /boot/grub.cfg nicht direkt bearbeiten. Diese Datei wird mit dem Grubby-Tool automatisch mit den Änderungen aktualisiert.