Arch Linux: Von BIOS auf EFI umstellen

ARCH LINUX: Boot-Partition auf (U)EFI umstellen

Neue Computer booten fast ausschließlich von UEFI, nicht mehr mit dem veralteten BIOS, das bis zu den ersten PCs zurückreicht. In den ganz neuen Computern gibt es nicht einmal mehr die BIOS-Legacy-Option, was bedeutet, dass man mit seinen alten Harddisks, SSDs oder NVMEs mit installiertem Arch Linux nicht einfach so umziehen kann. Ohne eine EFI-Partition (auch ESP genannt, »EFI system partition«) bootet das Betriebssystem nicht. Ich stand vor dem Problem, meine Boot-Partition von BIOS auf EFI umstellen zu müssen, ohne das Betriebssystem mit all seinen Programmen und Daten zu gefährden. Im Internet habe ich mir zahlreiche Anleitungen angesehen, die zum Teil haarsträubenden Unsinn präsentieren. Nach mehrmaligem Ausprobieren ist mir die Umstellung schließlich gelungen, und ich bin dabei folgendermaßen vorgegangen:

Von einem Arch-Installationsmedium booten (die aktuelle Arch.iso, am besten auf USB-Stick, man kann sie hier downloaden: https://www.archlinux.de/download) – und zwar im UEFI-Modus. Gegebenenfalls die Legacy-Option im BIOS des PCs deaktivieren.

Beim Eingabeprompt nach dem Booten vom Installationsmedium, geben wir zunächst “loadkeys de-latin1” ein, um auf das deutsche Tastaturlayout umzuschalten. Dann:
# lsblk

Das gibt einen Überblick über die Platten im PC. Man wähle die mit der Boot-Partition und dem Arch-OS aus. Nehmen wir als Beispiel eine SSD »sda« an. Die Boot-Partition, für gewöhnlich 512 MB groß, wäre »sda1«, die zweite Partition mit Arch Linux »sda2«.

Die Bootpartition benötigt für das Booten im EFI-Modus ein neues Dateisystem. Achtung: Dadurch gehen alle Daten auf der Partition verloren. Wir geben ein:
# mkfs.vfat -F 32 /dev/sda1

Jetzt mounten wir die Zielplatte:
# mount /dev/sda2 /mnt

Das Boot-Verzeichnis erstellen:
# mkdir -p /mnt/boot/efi

Und wir mounten das Boot-Verzeichnis:
# mount -t vfat /dev/sda1 /mnt/boot/efi

Übernahme der Zielplatte für die Installation:
# arch-chroot /mnt /bin/bash

Installation der Bootmanager:
# pacman -S grub efibootmgr (evtl. vorher ein »# pacman -Sy«, um die Datenbank aufzufrischen)

Installation von GRUB (eine Zeile, bei target, efi-directory, bootloader-id und root-directory jeweils ein doppeltes Minus – – vorangestellt):
# grub-install –target=x86_64-efi –efi-directory=/boot –bootloader-id=GRUB –root-directory=/ /dev/sda2

GRUB braucht eine Konfigurationsdatei:
# grub-mkconfig -o /boot/grub/grub.cfg

Installation des Linux-Kernels:
# pacman -S linux linux-headers

Hier noch einmal
# grub-mkconfig -o /boot/grub/grub.cfg
damit der installierte Kernel in die Grub-Konfigurationsdatei eingetragen wird.

Die Installation verlassen und die gemounteten Partitionen unmounten:
# exit
# umount /dev/sda1
# umount /dev/sda2

# reboot

Damit ist die Installation abgeschlossen. WICHTIG: Auf (in unserem Beispiel) »sda2« muss die Datei /etc/fstab angepasst werden. Der Befehl »sudo blkid« (bzw. »# blkid«, wenn wir noch in der Installationsumgebung sind) gibt uns die neue UUID der Boot-Partition an. In der Datei »fstab« muss es für das Einbinden der Boot-Partition heißen:
UUID=(hier neue UUID) /boot/efi vfat defaults 0 1

Jetzt können wir mit der alten SSD (bzw. Harddisk oder NVME) und dem alten Arch Linux im neuen UEFI-Computer booten.

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert