UEFI Installation

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

Diese Anleitung soll die Installation von Arch Linux (64 Bit) mit UEFI erklären. Es knüpft direkt an die Anleitung_für_Einsteiger an.

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.
Tip Hat man mehrere Festplatten z.B. eine mit Windows, so hat Windows bereits eine EFI Partition angelegt. Man kann diese als Bootpartition für Arch-Linux verwenden. Es ist aber auch möglich auf einer weiteren Festplatte eine 2. EFI-Bootpartition einzurichten. UEFI erkennt alle EFI-Bootpartitionen und deren Eintragungen. Im UEFI Bootmenü kann dann ausgewählt werden welches Betriebssystem gestartet werden soll.
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 3 Partitionen erstellt wurden 1. EFI ist zugleich Bootpartition. 2. Root und 3. swap:

1. EFI (Boot)

mkfs.fat -F 32 -n EFIBOOT /dev/sdaX         # EFI Partitionstyp [ef00]

2. Root

mkfs.ext4 -L p_arch /dev/sdaY

3. swap

mkswap -L p_swap /dev/sdaZ

Partitionen einhängen

mount -L p_arch /mnt         # root
mkdir -p /mnt/boot
mount -L EFIBOOT /mnt/boot   # EFI
swapon -L p_swap             # swap

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.
Weitere benötigte Werkzeuge für UEFI installieren:

pacman -S efibootmgr dosfstools gptfdisk

Den Bootloader installieren

Es können verschiedene Bootloader bzw. EFI-Eintragungen benutzt werden. Nur eins davon wird benötigt.

systemd bootctl (ehemals Gummiboot)

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: Es ist sinnvoll, die EFI-Partition nach /boot zu mounten.

Zuerst den EFI-Booteintrag installieren und einrichten:

# bootctl install

Anschließend die Datei /boot/loader/entries/arch-uefi.conf mit folgendem Inhalt erstellen:

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=LABEL=p_arch rw resume=p_swap

Das Gleiche noch für Arch Linux fallback die Datei /boot/loader/entries/arch-uefi-fallback.conf mit folgendem Inhalt erstellen:

title    Arch Linux Fallback
linux    /vmlinuz-linux
initrd   /initramfs-linux-fallback.img
options  root=LABEL=p_arch rw resume=p_swap

Nun die Datei /boot/loader/loader.conf bearbeiten:

default   arch-uefi
timeout   1

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

EFISTUB

Mit EFISTUB wird ein Eintrag ins EFI erstellt, hierbei wird der Kernel und die initramfs direkt von UEFI geladen. Eine Auswahl welche EFI-Eintragung geladen werden soll muss im UEFI Bootmenü gewählt werden.

efibootmgr -c -d /dev/sda -p 1 -l \vmlinuz-linux -L "Arch Linux efistub" -u "initrd=/initramfs-linux.img root=LABEL=p_arch rw"
efibootmgr -c -d /dev/sda -p 1 -l \vmlinuz-linux -L "Arch Linux fallback efistub" -u "initrd=/initramfs-linux-fallback.img root=LABEL=p_arch rw"

rEFind

Ein weiterer grafischer UEFI-Bootloader ist rEFind. Eine genaue Berschreibung ist hier: rEFind

GRUB

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

pacman -S grub

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'

Abschließend

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

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

Siehe auch