Benutzer:Tuxnix

Aus wiki.archlinux.de

Nur für eigene Zwecke

Systemd-boot

Systemd-boot sorgt für einen schnellen Bootvorgang und ist für moderne UEFI-Systeme geeignet.
Im Folgenden wird die Konfiguration für das Beispiel dieser Anleitung ohne Verschlüsselung besprochen:


Vorbereitung

# bootctl install

Konfiguration

Die Datei /boot/loader/entries/arch-uefi.conf mit dem Editor öffnen

# nano /boot/loader/entries/arch-uefi.conf

und wie folgt anpassen:

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=/dev/disk/by-label/p_arch rw lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8

Für den Arch Linux fallback wird die Datei /boot/loader/entries/arch-uefi-fallback.conf zur Bearbeitung geöffnet

# nano /boot/loader/entries/arch-uefi-fallback.conf

und wie folgt angepasst:

title    Arch Linux Fallback
linux    /vmlinuz-linux
initrd   /initramfs-linux-fallback.img
options  root=/dev/disk/by-label/p_arch rw lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8

Die Datei /boot/loader/loader.conf wird folgendermaßen bearbeitet:

# nano /boot/loader/loader.conf 
 
 default   arch-uefi
 timeout   4

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

Nach der Konfiguration, werden diese Änderungen mit dem folgen Befehl verfügbar gemacht:

bootctl update

Kopie aus AfE:

Installation eines Bootloaders

Installation des GRUB Bootloaders

Für Benutzer von intel-ucode bitte folgende Seite zusätzlich beachten: Microcode.
Falls bei einen BIOS-Boot-System von einem Datenträger mit GPT-Partitionstabelle gebootet werden soll, benötigt Grub eine zusätzliche Partition von der Größe von 1MiB und dem Partitionstyp ef02. Siehe Grub.

Installation des Pakets:

pacman -S grub

Booten per BIOS

grub-install /dev/sda

Booten per UEFI

Installation des EFI Bootmanagers (sonst kommt die Fehlermeldung: efibootmgr: not found):

pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name>

Alternativ kann man

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name> --recheck --debug

verwenden, um zusätzliche Informationen zu bekommen, falls es zu einem Fehler kommt.
Wenn man einen etwas längeren Namen mit Leerzeichen für Grub geben möchte, muss man einfach 2 Anführungszeichen anbringen:

--bootloader-id="Ein sehr langer Name für den Grub Bootloader, der auch so im UEFI angezeigt wird :D"

Weitere Konfiguration nach BIOS oder UEFI grub-install:

Es kann jetzt die Grub Konfiguration generiert werden.

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

Sollte grub-mkconfig dabei eine Fehlermeldung wie

 ...
 error: out of memory.
 error: syntax error.
 error: Incorrect command.
 error: syntax error.
 Syntax error at line 164
 ...

liefern (siehe auch: "FS#38041 - grub 1:2.00.1282.g5ae5c54-1 will not generate grub.cfg file syntax errors", sollte das Anhängen folgender Zeile an /etc/default/grub:

 # fix broken grub.cfg gen
 GRUB_DISABLE_SUBMENU=y

und ein erneuter Aufruf von grub-mkconfig Abhilfe schaffen.

Installation des Syslinux Bootloader

Wenn bereits ein Linux-Bootloader installiert ist, kann dieser Punkt übersprungen werden. Der bereits vorhandene Bootloader muss natürlich entsprechend konfiguriert werden.

Zur Beachtung, der Syslinux Bootloader funktioniert nicht bei allen 64bit Dateisystemen wie z.B. ext4. Es muß dann ein anderer Bootloader gewählt werden wie z.B. Grub. Dieser Fehler macht sich erst nach dem Reboot mit folgender Meldung bemerkbar: Failed to load ldlinux.c32 . Boot failed: Please change disks and press a key to continue.

Syslinux kann jetzt installiert werden.
Bei einer GPT-Partitionstabelle muss das Paket gptfdisk zusätzlich installiert werden.

pacman -S gptfdisk
pacman -S syslinux

Mit einem Editor (nano) die Konfigurationsdatei anpassen:

nano /boot/syslinux/syslinux.cfg

Die Zeilen APPEND root=/dev/sda3 ro ändern in

APPEND root=/dev/sda1 rw

oder wenn man die LABEL-Partitionsbezeichnung bevorzugt:

APPEND root=LABEL=p_arch rw

Anschließend syslinux auf den Bootsektor installieren

syslinux-install_update -iam
Manuelle Installation von syslinux

Falls nicht alles reibungslos ablief, kann Syslinux manuell installiert werden.

Dazu wird mit dem Programm fdisk das Bootflag auf die Partition gesetzt, von der die Bootdaten gebootet werden sollen.
Beispiel, um für /dev/sda1 das Bootflag zu setzen:

fdisk /dev/sda
x
a 
p
r
w

Dann wird die Partition der Bootdaten, wie z. B. /dev/sda1, unter /boot gemountet und der Bootloader installiert.

mount /dev/sda1 /boot
mkdir /boot/syslinux
extlinux --install /boot/syslinux

Jetzt muss noch der MBR von Syslinux auf die Festplatte geschrieben werden.

cat /usr/lib/syslinux/bios/mbr.bin > /dev/sda