UEFI Installation

Aus wiki.archlinux.de
Version vom 28. Januar 2013, 14:13 Uhr von Kingd (Diskussion | Beiträge) (Das Betriebssystem einrichten)

Wechseln zu: Navigation, Suche

Construction.png „UEFI Installation“ wurde von Kingd (Diskussion) 11:45, 26. Jan. 2013 (CET) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Kingd (Diskussion) 11:45, 26. Jan. 2013 (CET) bitte, bevor du den Artikel bearbeitest.


Diese Anleitung soll die Installation von Arch Linux(64 Bit) mittels USB Stick auf einem PC mit UEFI erklären. Ein heruntergeladenes Installationsimage von Arch Linux wird vorausgesetzt.

UEFI bootbaren USB-Stick erstellen

1. Den USB-Stick als FAT32 formatieren und nach /tmp/archusb mounten

mkdir -p /tmp/archusb
mount -o rw,users -t vfat /dev/sdX /tmp/archusb

2. Das Installationsimage auf den USB-Stick entpacken, dazu das sollte es im Verzeichnis /tmp/archusb liegen.

cd /tmp/archusb
bsdtar xf <kompletten Pfad zum Image angeben>  # Beispiel: /tmp/archusb/archlinux-2013.01.04-dual.iso
rm -f /tmp/archusb/[BOOT]        # falls das Verzeichnis existiert
sync

3. Die Bezeichnung (Label) des des Installationsimages herausfinden Dazu folgende Datei öffnen

/tmp/archusb/loader/entries/archiso-x86_64.conf

und nach

archisolabel=

suchen.

Beispiel: Falls dort

archisolabel=ARCH_201210

steht, ist das Label

ARCH_201210

4. Das UEFI Bootfile erstellen

  • Das Paket "refind-efi" installieren:
sudo pacman -S refind-efi
  • Die Datei
/usr/lib/refind/refindx64.efi 

in das Homeverzeichnis kopieren und in "bootx64.efi" umbenennen.

cp /usr/lib/refind/refindx64.efi /home
cd /home
mv refindx64.efi bootx64.efi
  • Die Datei "bootx64.efi" auf den USB-Stick kopieren
cp /dev/sdX/EFI/boot/

Das ganze sieht dann so aus

/dev/sdX/EFI/boot/bootx64.efi
  • Im selben Verzeichnis eine neue Datei namens "refind.conf" erstellen
sudo nano /dev/sdX/EFI/boot/refind.conf

Folgenden Inhalt in "refind.conf" schreiben

timeout 5
textonly
showtools about,reboot,shutdown,exit
# scan_driver_dirs EFI/tools/drivers_x64
scanfor manual,internal,external,optical
scan_delay 1
dont_scan_dirs EFI/boot
max_tags 0
default_selection "Arch Linux Archiso x86_64 UEFI USB"
menuentry "Arch Linux Archiso x86_64 UEFI USB" {
loader /arch/boot/x86_64/vmlinuz
initrd /arch/boot/x86_64/archiso.img
ostype Linux
graphics off
options "pci=nocrs add_efi_memmap archisobasedir=arch archisolabel=ARCH_201210"
}
menuentry "UEFI x86_64 Shell v2" {
loader /EFI/shellx64_v2.efi
graphics off
}
menuentry "UEFI x86_64 Shell v1" {
loader /EFI/shellx64_v1.efi
graphics off
}

Hier ist zu beachten, dass das Label (rchisolabel=ARCH_201210) je nach Installationsimage angepasst werden muss.

5. USB-Stick unmounten und dessen Bezeichnung (Label) ändern

umount /dev/sdX
dosfslabel /dev/sdX <archisolabel>   # hier: dosfslabel /dev/sdX ARCH_201210
sync

Vom USB-Stick booten

Tastaturlayout auf Deutsch umstellen

loadkeys de
loadkeys de-latin1 # für Umlaute

Festplatte partitionieren

In diesem Beispiel wird die Festplatte in 3 Partitionen aufgeteilt

1. UEFI System Partition
2. Boot
3. LVM

Gdisk zum partitionieren starten und entsprechende Festplatte (sdX) auswählen

gdisk /dev/sdX

Neue GPT Partitionstabelle anlegen

-o 

Neue Partition anlegen (UEFI System Partition)

-n

Partitionsnummer 1 ist voreingestellt, (Partition number (1-128, default 1):

Enter

Ersten Sektor (...)

Enter

bestätigen. Letzten Sektor der Partition angeben,

Last sector(2048-4711xy,default = 4711ende) or {+-}size{KMGTP}:

mit +512M wird eine Partition angelegt von 512MB Größe. Partitionstyp in Hexcode eingeben,

Hex code or GUID (L to show codes, Enter = 8300):

Taste L zeigt alle möglichen Codes. Für UEFI System Partition wird EF00 eingegeben.

Enter

Hinweis: The UEFISYS partition can be of any size supported by FAT32 filesystem. According to Microsoft Documentation, the minimum partition/volume size for FAT32 is 512 MiB. Therefore it is recommended for UEFISYS partition to be at least 512 MiB.

Für die anderen Partitionen wird das Schema verkürzt dargestellt

  • Boot
-n
+250M
8300
  • LVM (hier muss der Code 8e00 eingegeben werden)
-n
8e00

Zum Schluss noch alle überprüfen und auf die Festplatte schreiben

-v -w

Dateisysteme anlegen

1. Boot

mkfs.ext4 -L boot /dev/sdaX      # boot Partition
mkfs.vfat -F32 /dev/sdaX         # EFI Partition [ef00]

2. LVM Erst einmal wird die LVM Partition unterschiedlich (root, home) partitioniert.

modprobe dm-mod
pvcreate /dev/sdaX
vgcreate lvm /sda/sdaX
lvcreate --name root -L10G lvm       # Partition mit 10 GB
lvcreate --name swap -L1G lvm        # Swap mit 1 GB
lvcreate --name home -l100%FREE lvm  # Pratition mit dem rest der Platte

Danach schauen wir uns kurz die erstellten Partitionen an

lvscan    # kurze Übersicht der Partitionen
lvdisplay # detaliert

Als nächstes werden die einzelnen Dateisystem erstellt

mkfs.ext4 -L root /dev/mapper/lvm-root
mkfs.ext4 -L home /dev/lvm/home
mkswap -L swap /dev/lvm/swap

Partitionen einhängen

  • Root
mount /dev/lvm/root /mnt
  • Home
mkdir /mnt/boot /mnt/home     
mount /dev/lvm/home /mnt/home
  • Boot
mount /dev/sdaX /mnt/boot
  • UEFI System Partition
mkdir -p /boot/efi
mount -t vfat /dev/sdX /boot/efi
  • Swap
swapon -L swap

Das Betriebssystem einrichten

Dazu kann der "Anleitung für Anfänger" unter Punkt 2.8 bis einschließlich 2.9.6 gefolgt werden Anleitung_für_Einsteiger.

Bootloader installieren - GRUB2

Installation von GRUB2 für UEFI basierende PCs

sudo pacman -S grub-efi-x86_64

Hinweis: Simply installing the package will not update the core.efi file and the GRUB(2) modules in the UEFI System Partition. You need to do this manually using grub-install as explained below.

Grub-uefi boot files nach /boot/efi/EFI/arch_grub installieren

modprobe dm-mod
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug
mkdir -p /boot/grub/locale
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Anschließend die GRUB2-Konfigurationsdatei erstellen lassen

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

Jetzt wird noch ein Booteintrag im UEFI Bootmenü des Mainboards erstellt

modprobe efivars
efibootmgr -c -g -d /dev/sdX -p 1 -l '\EFI\arch_grub\grubx64.efi'

Hinweis: Falls "efivars" nicht gefunden wird, das System per USB-Stick booten, per root einloggen und die Befehle erneut eintippen. Das sollte dann funktionieren.

Anschließend die Partitionen aushängen und das System neu booten

umount /mnt/home /mnt/boot/efi /mnt/boot /mnt
reboot

Als Letztes die "fstab" bearbeiten

nano /etc/fstab 

öffnen und bei dem Eintrag /boot/efi ganz rechts das

codepage=437 

löschen.

Die eigentliche Installation ist nun beendet. Es können nun Pakete, die benötigt werden, installiert werden und das System den eigenen Wünschen entsprechend angepasst werden.