GRUB

Aus wiki.archlinux.de

GRUB2 ist die nächste Generation des GRand Unified Bootloaders (GRUB). Vorlage:Warnung

Installation

Zuerst wird GRUB2 mit pacman installiert

pacman -Sy grub2

und dann in den MBR (Master Boot Record) geschrieben

grub-install /dev/sda

Konfiguration

GRUB2 nutzt nun die Datei /etc/grub/grub.cfg als Konfigurationsdatei. Dabei ist darauf zu achten, dass GRUB2 die Festplatten anders als Linux und GRUB benennt:

Die erste Partition der ersten Festplatte ist (hd0,1), die zweite Partition (hd0,2) und die erste Partition auf der zweiten Festplatte (hd1,1) usw..

Allgemeine Konfiguration

set default=<Nummer_des_Eintrags>

Dieser Eintrag wird automatisch geladen. (GRUB2 beginnt bei 0!)

set timeout=<Zeit_in_Sekunden>

Der für "default" angegebene Eintrag wird nach dieser Zeit gestartet.

menuentry "Titel_des_Eintrags" { <Eintrag> }

Alle Befehle innerhalb der geschweiften Klammer beziehen sich auf diesen Eintrag, der im Menü mit dem hier angegebenen Titel angezeigt wird.

Linux

set root=<Partition>

Bezeichnet die Partition, auf der sich das Kernelimage bzw. die Ramdisk befindet.

linux <Pfad_zum_Kernel_und_Parameter>

Pfadangabe zum Linux-Kernel. Dahinter stehen die Parameter der Kernels. (Wenn eine "boot"-Partition verwendet wird liegt der Kernel in "/"!)

initrd <Pfad>

Pfandangabe zur Ramdisk. (Wenn eine "boot"-Partition verwendet wird liegt die Ramdisk in "/"!)

Diese Befehle müssen sich innerhalb der geschweiften Klammern des Menüeintrags befinden.

Windows/Chainloading

GRUB2 bietet die Möglichkeit, Bootloader anderer Betriebssysteme zu starten (Chainloading). Dies ist bei Windows der Fall, das seinen Bootloader in den Partition Boot Record, den Bootsector einer Partition, im Regelfall (hd0,1).

set root=<Partition>

GRUB2 verwendet hier im Gegensatz zu GRUB den gleichen Befehl zum Festlegen der Partition.

chainloader +1

Die genaue Bedeutung dieses Befehls ist unwichtig. Er bewirkt, dass der Bootsector der Partition geladen wird.

Beispieldatei

# Config file for GRUB2 - The GNU GRand Unified Bootloader
# /boot/grub/grub.cfg

# DEVICE NAME CONVERSIONS
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/sda        (hd0)
#  /dev/sdb2       (hd1,2)
#  /dev/sda3       (hd0,3)
#

set timeout=5

set default=0

menuentry "Arch Linux" {
set root=(hd0,2)
linux /vmlinuz26 root=/dev/sda2 ro
initrd /kernel26.img
}

menuentry "Windows" {
set root=(hd0,1)
chainloader +1
}

Links