Information

GRUB2 - Standard Bootreihenfolge ändern

Wer seinen Rechner mit zwei Betriebssystemen aufsetzt und z.B. seine Partition um Ubuntu erweitert hat, möchte vielleicht die Bootreihenfolge wieder umstellen. Ubuntu installiert sich per default so, dass es auch zuerst bootet. Um dies zu ändern, muss man als Superuser eine Datei editieren und anschließend GRUB2 - den sog. Bootloader - die Änderungen mitteilen.

Dabei gibt es grundsätzlich zwei Möglichkeiten:

a) es wird die Nummer des Bootmenueeintrags angegeben, die gebootet werden soll

b) es wird der Name des Menueeintrags im Volltext angegeben.

Variante b) hat den Vorteil, dass auch nach mehreren Kernelupdates stets der manuell gewählte Eintrag als primäres Betriebssystem gebootet wird. Im folgenden Beispiel soll Windows 7 zuerst gebootet werden. Um dies zu erreichen, booten wir Linux und schauen zuerst in der Datei /boot/grub/grub.cfg nach, wie der Eintrag für die Windows-Installation genau heisst. Dazu öffnen wir diese zunächst in einem Editor per Kommandozeile:

gedit /boot/grub/grub.cfg

Der Eintrag wird sich am Ende der Datei befinden. Bei mir lautet der Eintrag "Windows 7 (loader) (on /dev/sda1)" und sieht so aus:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 2C1E09451E090992
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

Den menuentry "Windows 7 (loader) (on /dev/sda1)" nehmen wir in die Zwischenablage (Strg + c) und öffnen per Kommandozeile die zu editierende Datei:

sudo gedit /etc/default/grub

Die Datei sollte im Editor etwa folgenden Inhalt haben:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"
#GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

Den default-Eintrag wie oben dargestellt ändern. Dazu wird der Eintrag GRUB_DEFAULT=0 durch Voranstellen des Gatterzauns # auskommentiert. Der neue Eintrag darüber zeigt nun auf Windows 7.  Anschließend mit dem Befehl

sudo update-grub

die Änderungen an GRUB bekannt geben. Nach einigen Sekunden sollte GRUB die Booteinträge verarbeitet und bestätigt haben. Beim nächsten Booten startet Windows nun zuerst.

Wer unter GRUB2 verhindern möchte, dass permanent Recovery-Startpunkte für die vorherige Version des Kernels als Bootmenüeintrag geschrieben werden, kann dies durch einen Eintrag in der Datei /etc/default/grub erreichen:

sudo gedit /etc/default/grub
In der Datei wird dann die Variable GRUB_DISABLE_LINUX_RECOVERY=true gesetzt. Anschließend wie oben beschrieben, GRUB updaten.

Weiterführende Links:
Entfernen unnötiger Einträge in GRUB2
Konfiguration von GRUB2 unter Ubuntu