:: Home :: Computing :: Downloads :: Scooter :: Links :: Music :: Nonsense :: Mail :: |
---|
Bei GRUB 2 handelt es sich um den Nachfolger von GRUB (Legacy), der wesentlich mehr Dateisysteme, Systeme und Layouts unterstützt, aber völlig anders konfiguriert wird und Partitionen beginnend mit 1 hochzählt (GRUB (Legacy) zählt ab 0).
Ich bin mit GRUB 2, nachdem ich dessen indirekte Konfiguration erst einmal durchschaut hatte, ausgesprochen zufrieden, weil er mir nach Kernel-Updates das händische Editieren seiner Konfigurationsdatei erspart, wenn man seine Kernel unterhalb von '/boot' ablegt und diese als '{vmlinuz,vmlinux,kernel}-*' benennt.
GRUB 2 kann man als Superuser mittels des Programmes /sbin/grub2-install von der Festplatte installieren. Als Parameter wird das Laufwerk oder die Partition, aus dessen Bootsektor GRUB 2 booten soll, angegeben. Das Device kann dabei entweder Betriebsystem-spezifisch (z.B. '/dev/sda') oder in der GRUB 2 Schreibweise (z.B. '(hd0)') angegeben werden. Einige Beispiele:
GRUB 2 wird über Variablen in der Datei /etc/default/grub konfiguriert. Die Variablen werden von Shell-Skripten unterhalb von /etc/grub.d/ verwendet, die wiederum mittels des Befehls
# /usr/sbin/grub2-mkconfig -o /boot/grub/grub.cfg
alphabetisch aufgerufen werden und eine für die meisten Fälle brauchbare Konfiguration in die Datei /boot/grub/grub.cfg schreiben.
Die Konfigurationsdatei /boot/grub/grub.cfg kann danach auch editiert werden, was sich aber durch das vorherige Anpassen der Datei /etc/default/grub und in speziellen Fällen auch der unterhalb von /etc/grub.d/ liegenden Skripte vermeiden lassen sollte.
Mit Anpassen der Variablen in dieser Datei sollten sich die meisten Konfigurationen sauber erstellen lasssen. Einige hauptsächlich bemühte Variablen lauten:
Bei den Dateien unterhalb von /etc/grub.d handelt es sich um Shell-Skripte, die von /sbin/grub2-install alphabetisch aufgerufen werden und unter Verwendung der in der Datei /etc/default/grub definierten Variablen die eigentliche Konfiguration in die Datei /boot/grub/grub.cfg schreiben. Man kann mitgelieferte Skripte mittels des Befehles
# chmod -x SKRIPT
deaktivieren, editieren oder hier eigene Skripte ablegen.
Ich boote meinen Laptop bespielsweise – je nachdem ob er sich in meinem LAN oder in einem Auswärtsspiel befindet – in unterschiedlichen Runleveln. GRUB 2 hilft mir dabei mit der mitgelieferten Datei 10_linux, die in den Standard-Runlevel 3, und einer zusätzlich angelegten Datei 10_linux_local, die in den Runlevel 4 bootet.
$ diff -u /etc/grub.d/10_linux /etc/grub.d/10_linux_mobile --- /etc/grub.d/10_linux 2013-10-22 20:34:11.000000000 +0200 +++ /etc/grub.d/10_linux_mobile 2013-10-27 15:39:07.625243479 +0100 @@ -29,9 +29,9 @@ CLASS="--class gnu-linux --class gnu --class os" if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then - OS=GNU/Linux + OS="GNU/Linux mobile" else - OS="${GRUB_DISTRIBUTOR} GNU/Linux" + OS="${GRUB_DISTRIBUTOR} GNU/Linux mobile" CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}" fi @@ -132,10 +132,10 @@ fi printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/" fi - message="$(gettext_printf "Loading Linux %s ..." ${version})" + message="$(gettext_printf "Loading Linux %s mobile ..." ${version})" sed "s/^/$submenu_indentation/" << EOF echo '$(echo "$message" | grub_quote)' - linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} + linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro softlevel=mobile ${args} EOF if test -n "${initrd}" ; then # TRANSLATORS: ramdisk isn't identifier. Should be translated.
Mit folgenden Variablen, die in der Datei /etc/grub.d/41_custom hinterlegt werden können, macht man GRUB 2 ohne Verwendung eines Themes etwas bunter:
Die Farben werden in der Schreibweise 'Vordergrund/Hintergrund' angegeben. Standardmässing kommt GRUB 2 nüchtern mit 'white/black' bzw. 'black/white' daher.
Zurück zur Main-Site |