Die GRUB2-Konfigurationsdatei /boot/grub2/grub.cfg
– Starten von RHEL 7 GRUB 2 ist der Bootloader. Die Konfigurationsdatei von GRUB 2 ist /boot/grub2/grub.cfg .
– Bearbeiten Sie diese Datei nicht direkt. Verwenden Sie die grub2-mkconfig Befehl zum Generieren von grub.cfg. Dieser Befehl verwendet die Vorlagenskripte in /etc/grub.d und Menükonfigurationseinstellungen aus /etc/default/grub beim Generieren der grub.cfg.
– Die /etc/grub2.cfg Datei ist ein symbolischer Link zu /boot/grub2/grub.cfg.
Unten ist ein Beispiel für eine GRUB2-Konfigurationsdatei.
..... (skiped for breivity) ### BEGIN /etc/grub.d/10_linux ### menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' a52207e4-01fd-4f12-98b7-681d56f21dc5 else search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5 fi linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 initrd16 /initramfs-3.10.0-514.el7.x86_64.img } menuentry 'CentOS Linux (0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' { load_video insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' a52207e4-01fd-4f12-98b7-681d56f21dc5 else search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5 fi linux16 /vmlinuz-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet initrd16 /initramfs-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e.img } .......
Die Datei /etc/default/grub
GRUB 2-Menükonfigurationseinstellungen werden beim Generieren von grub.cfg aus /etc/default/grub übernommen. Im Folgenden wird der Inhalt der Datei /etc/default/grub aufgelistet:
# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true"
Wenn Änderungen an einem dieser Parameter vorgenommen werden, müssen Sie grub2-mkconfig ausführen, um die Datei /boot/grub2/grub.cfg neu zu generieren. Zum Beispiel:
# grub2-mkconfig –o /boot/grub2/grub.cfg
Werte werden wie folgt beschrieben:
GRUB_TIMEOUT :Die Zeit in Sekunden, nachdem das Menü angezeigt wird, um den Standardeintrag zu starten, es sei denn, eine Taste wird gedrückt. Der Standardwert ist 5. Auf 0 setzen, um sofort zu booten, ohne das Menü anzuzeigen, oder auf -1, um unbegrenzt zu warten.
GRUB_DISTRIBUTOR: Wird von Distributoren von GRUB gesetzt und wird verwendet, um aussagekräftigere Menüeintragstitel zu generieren. Das Beispiel wird zu CentOS Linux Server ausgewertet.
GRUB_DEFAULT Der Standardmenüeintrag zum Booten. Ein Wert von 0 bootet den ersten Menüeintrag. Ein Wert von 1 startet den zweiten Menüeintrag. Ein Wert von saved weist GRUB 2 an, das zuletzt erfolgreich geladene Betriebssystem zu laden.
Ein GRUB_DEFAULT-Wert von saved ermöglicht Ihnen auch die Verwendung von grub2-set-default und grub2-reboot Befehle, um den Standardeintrag anzugeben. Diese beiden Befehle werden wie folgt beschrieben:
grub2-set-default :Legt den Standardeintrag für alle nachfolgenden Neustarts
grub2-reboot fest :Legt den Standardeintrag nur für den nächsten Neustart fest
Zum Beispiel mit GRUB_DEFAULT=saved , setzt der folgende Befehl den Standardeintrag für alle nachfolgenden Neustarts auf den zweiten Menüeintrag:
# grub2-set-default 1
GRUB_DISABLE_SUBMENU Hinweis:Standardmäßig generiert der Befehl grub2-mkconfig einen Top-Level-Menüeintrag für den Kernel mit der höchsten Versionsnummer und legt alle anderen gefundenen Kernel oder alternativen Menüeinträge für den Wiederherstellungsmodus in einem Untermenü ab. Das Setzen von GRUB_DISABLE_SUBMENU=true deaktiviert dies.
GRUB_TERMINAL_OUTPUT :Das Terminal-Ausgabegerät. Wenn Sie mehrere Geräte angeben, trennen Sie die gültigen Terminalausgabenamen durch Leerzeichen.
GRUB_CMDLINE_LINUX :Kernel-Startparameter. Weitere Informationen zu Kernel-Boot-Parametern finden Sie auf der nächsten Folie.
GRUB_DISABLE_RECOVERY Hinweis:Standardmäßig werden für jeden Linux-Kernel zwei Menüeinträge generiert:ein Standardeintrag und ein Eintrag für den Wiederherstellungsmodus. Einstellung GRUB_DISABLE_RECOVERY=“true” deaktiviert dies.
Menüeintrag erklären
Die Konfigurationsdatei von GRUB 2, /boot/grub2/grub.cfg, enthält Menüeintragszeilen, die einen installierten Linux-Kernel darstellen. Jede Strophe beginnt mit dem Schlüsselwort menuentry mit Optionen. Jeder Menüeintrag ist auch ein einzelner Boot-Menüeintrag im GRUB 2-Menü. Der zugehörige Codeblock ist in geschweiften Klammern eingeschlossen, { }.
Die Zeilengruppe enthält eine linux16-Direktive, gefolgt vom Pfad zum Kernel, und eine initrd16-Direktive, gefolgt vom Pfad zum initramfs-Image. Die linux16-Direktive gibt die zu bootende Kernel-Versionsnummer sowie die Kernel-Boot-Parameter an. Eine separate /boot-Partition wurde erstellt; Daher ist der Pfad zum Kernel (sowie zum initramfs-Image) relativ zu /boot.
Die Direktive initrd16 muss auf den Speicherort der initramfs-Datei verweisen, die derselben Kernel-Version entspricht. Mit anderen Worten, der Kernel, wie er in der Zeile linux16 /vmlinuz-[kernel_version] angegeben ist, muss mit der Versionsnummer des initramfs-Images übereinstimmen, das in der Zeile initrd16 /initramfs-[kernel_version].img jeder Strophe angegeben ist.