UEFI Installation

Aus wiki.archlinux.de
Wechseln zu: Navigation, Suche

Diese Anleitung soll die Installation von Arch Linux (64 Bit) mittels USB Stick auf einem PC mit UEFI erklären. Falls es an einigen Stellen zu ungenau ist, kann der Anleitung_für_Einsteiger gefolgt werden und die entsprechenden Wiki-Seiten konsultiert werden. Es geht hier nur darum, die Besonderheiten und Schwierigkeiten im Umgang mit UEFI und GPT zu erläutern.

UEFI bootbaren USB-Stick erstellen

Die aktuellen Arch Linux Images unterstützen UEFI bereits. Es sind also keine weiteren Vorbereitungen mehr nötig.

Secure Boot

Auch Secure Boot wird vom Image unterstützt. Allerdings kommt es beim ersten Bootvorgang zu einer Fehlermeldung Failed to Start loader... I will now execute HashTool. Dann wie folgt verfahren.

  • OK auswählen
  • In dem nun erscheinendem Menü Enroll Hash auswählen
  • Anschließend die Datei \loader.efi auswählen und mit Yes bestätigen.
  • Nun erneut Enroll Hash wählen und in dem Ordner archiso die Datei vmlinuz-efi auswählen, ebenfalls bestätigen.
  • Anschließend das Menü mittels Exit verlassen.

Hinweis: Auch wenn man das Installationsmedium via Secure Boot starten kann, so gestaltet sich dies bei dem installierten System deutlich schwieriger. Es ist daher deutlich einfacher und unproblematischer, wenn man Secure Boot im BIOS deaktiviert.

Wenn man im Bootmenü ist, wählt man den Eintrag Arch Linux archiso x86_64 UEFI CD aus. Danach sollte Arch Linux wie gewohnt starten und man kann mit der Installation beginnen.

Festplatte partitionieren

Die Festplatte kann den eigenen Wünschen entsprechend partitioniert werden, es muss lediglich das GPT Partitionsschema verwendet werden und es muss eine UEFI System Partition erstellt werden.

Zum Partitionieren startet man gdisk

gdisk /dev/sdX

Der genaue Umgang mit gdisk und GPT kann unter gpt#Partitionieren_mit_gdisk nachgelesen werden.

Achtung: Die Hexcodes der einzelnen Partitionstypen sind zu beachten! Bei der UEFI System Partition lautet der Hexcode EF00. Außerdem sollte die UEFI System Partition mindestens 512 Mb groß sein, da als Dateisystem FAT 32 verwendet wird und die Größe von FAT 32 Partitionen/Laufwerken laut Microsoft mindestens 512 Mb betragen muss.

Dateisysteme anlegen

Es wird davon ausgegangen, dass 2 Partitionen erstellt wurden (EFI und LVM), auf eine SWAP Partition wurde verzichtet:

1. EFI (Boot)

mkfs.fat -F 32 /dev/sdaX         # EFI Partition [ef00]

2. LVM

Erst einmal wird die LVM Partition unterschiedlich (root, home) eingerichtet (siehe LVM).

pvcreate /dev/sdaX
vgcreate lvm /dev/sdaX
lvcreate --name root -L10G lvm       # Partition mit 10 GB
lvcreate --name home -l100%FREE lvm  # Partition mit dem Rest der Platte

Hinweis: Mit lvscan oder lvdisplay können die gerade erstellen Partitionen angezeigt werden.

Danach werden die einzelnen Dateisystem der LVM Partitionen angelegt:

mkfs.ext4 -L root /dev/lvm/root
mkfs.ext4 -L home /dev/lvm/home

Partitionen einhängen

mount /dev/lvm/root /mnt           # root
mkdir /mnt/home     
mount /dev/lvm/home /mnt/home      # home
mkdir -p /mnt/boot
mount /dev/sdX /mnt/boot   # EFI

Das Betriebssystem einrichten

Dazu kann der Anleitung_für_Einsteiger von Punkt 2.8 Das Basissystem installieren an bis einschließlich 2.9.6 Root Password gefolgt werden. Wer es genauer haben möchte kann sich auch die englische Anleitung für Einsteiger durchlesen, dort ist es mittlerweile Standard Arch im UEFI Modus zu installieren [1].

Den Bootloader installieren

GRUB

Falls der Bootloader GRUB benutzt werden soll: Installation von GRUB für UEFI basierende PCs

mount -t efivarfs efivarfs /sys/firmware/efi/efivars
pacman -S grub efibootmgr dosfstools

GRUB-UEFI bootfiles nach /boot/efi/EFI/arch_grub installieren

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

Achtung: Hier bitte aufpassen, ob Fehler gemeldet werden und ob der efibootmgr-Befehl korrekt ausgeführt wurde.

mkdir -p /boot/grub/locale
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Anschließend die GRUB-Konfigurationsdatei erstellen lassen:

grub-mkconfig -o /boot/grub/grub.cfg


Hinweis: Falls grub-install den Bootmenüeintrag nicht erstellen kann und eine Fehlermeldung ausgegeben wurde, folgenden Befehl ausführen um den UEFI-Bootmenüeintrag manuell zu erstellen:

efibootmgr -q -c -d /dev/sdX -p 1 -w -L "GRUB: Arch-Linux" -l '\EFI\arch_grub\grubx64.efi'

systemd bootctl (ehemals Gummiboot)

Ohne Bootloader GRUB:
systemd bootctl (ehemals Gummiboot) ist ein EFISTUB-Bootloader, der schnell und sehr einfach konfiguriert ist. Nachfolgend eine kurze Konfigurationsanleitung (ausführliche Informationen im entsprechenden Artikel).

Hinweis: Nachfolgend wird für den Pfad der EFI-Partition $esp verwendet. Es ist sinnvoll, die EFI-Partition nach /boot zu mounten.

Zuerst den UEFI-Booteintrag installieren und einrichten:

# bootctl install --path=$esp install
# bootctl --path=$esp update

$esp muss dabei durch den Pfad der EFI-Partition ersetzt werden.

Anschließend die Datei $esp/loader/entries/arch.conf mit folgendem Inhalt erstellen:

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=root-Partition rw resume=swap-Partition

Das Gleiche noch für Arch Linux fallback die Datei $esp/loader/entries/arch_fallback.conf mit folgendem Inhalt erstellen:

title    Arch Linux Fallback
linux    /vmlinuz-linux
initrd   /initramfs-linux-fallback.img
options  root=root-Partition rw resume=swap-Partition

Dabei root-Partition durch die Root-Partition und swap-Partiton durch die Swap-Partition ersetzen.

Nun die Datei $esp/loader/loader.conf bearbeiten (falls sie noch nicht existiert, neu anlegen):

default   arch
timeout   1

Das timeout (in Sekunden) kann natürlich frei gewählt werden.

Abschließend

Zum Schluss noch die Partitionen aushängen und das System neu booten

exit   # ausloogen von arch-chroot 
umount -R /mnt
reboot

Siehe auch