Arch Linux auf UEFI mit vollständiger Festplattenverschlüsselung installieren

Dies ist eine Schritt-für-Schritt-Anleitung zur Installation von Arch Linux auf UEFI mit vollständiger Festplattenverschlüsselung. Sie enthält bewusst keine unnötigen Worte und keinen Schnickschnack. Sie stützt sich stark auf den Installations-Guide des Arch-Linux-Wikis – wenn du also einmal feststeckst, konsultiere ihn und den Rest des wunderbaren Arch-Wikis.
ISO herunterladen
- Lade das neueste ISO von der Arch-Linux-Website herunter
Bootfähigen USB-Stick erstellen
Diesen Schritt kannst du überspringen, wenn du Arch Linux nur in einer VM betreiben willst. Starte das ISO in dem Fall einfach aus deinem bevorzugten VM-Management-Tool wie QEMU.
- Stecke einen USB-Stick in deinen Computer
- Führe
lsblkaus, um die richtige Disk zu finden - Führe
sudo umount /dev/sdxaus (oder wie auch immer der USB-Stick heisst) - Führe
sudo dd bs=4M if=pfad/zum/input.iso of=/dev/sdx oflag=sync status=progressaus, um das ISO auf den USB-Stick zu schreiben. Vergiss nicht, die beiden Pfade durch die korrekten zu ersetzen. - Stecke den USB-Stick in den Zielcomputer und boote davon
Sobald du den Arch-Linux-Prompt siehst, bist du bereit für den nächsten Schritt.
UEFI-Unterstützung prüfen
- Führe
ls /sys/firmware/efi/efivarsaus, um zu prüfen, ob dieses Verzeichnis existiert. Falls nicht, unterstützt dein System kein UEFI und diese Anleitung ist nicht für dich – konsultiere stattdessen den offiziellen Arch-Linux-Installations-Guide.
Konnektivität herstellen
- Verbinde den Computer per Ethernet (empfohlen) oder führe
iwctlaus, um dich ins WLAN einzuloggen - Prüfe die Internetverbindung mit
ping archlinux.org - Stelle mit
timedatectl set-ntp truesicher, dass die Uhr synchronisiert ist
Partitionieren
- Prüfe die vorhandenen Laufwerke und Partitionen mit
lsblkund starte dann die Partitionierung mitgdisk /dev/nvme0n1(oder wie auch immer die Disk heisst) - Lösche mit
dalle bestehenden Partitionen - Erstelle mit
ndie Boot-Partition: Standardnummer, Standard-Startsektor, Endsektor bei+512Mund als Typef00«EFI System» - Erstelle mit
ndie Root-Partition: Standardnummer, Standard-Startsektor, Standard-Endsektor und als Typ8300«Linux filesystem» - Drücke
w, um die Partitionen zu schreiben - Führe
lsblkerneut aus, um die Partitionierung zu prüfen
Root-Partition verschlüsseln
- Führe
cryptsetup luksFormat /dev/nvme0n1p2aus, tippe dannYESund das neue Verschlüsselungspasswort, um die Root-Partition zu verschlüsseln - Führe
cryptsetup open /dev/nvme0n1p2 rootaus, um die verschlüsselte Partition zu öffnen
Dateisysteme erstellen
- Erstelle das Boot-Dateisystem mit
mkfs.fat -F32 /dev/nvme0n1p1(oder wie auch immer die Partition heisst) - Erstelle das Root-Dateisystem mit
mkfs.ext4 /dev/mapper/root
Dateisysteme einhängen
- Führe
mount /dev/mapper/root /mntaus, um das Root-Dateisystem einzuhängen - Führe
mount --mkdir /dev/nvme0n1p1 /mnt/bootaus, um dein Boot-Dateisystem einzuhängen - Führe
lsblkerneut aus, um das Einhängen zu prüfen
Swap-Datei erstellen (auf VMs nicht nötig)
- Führe
free --mebiaus, um die Gesamtzahl der Mebibyte RAM deines Systems anzuzeigen. Die Zahl steht in der Tabelle unterMemundtotal. Wir verwenden sie im nächsten Befehl. - Führe
dd if=/dev/zero of=/mnt/swapfile bs=1M count=xxxx status=progressaus, um die Swap-Datei zu erstellen, wobei «xxxx» die gewünschte Grösse in Mebibyte ist (üblicherweise etwa das 1,5-Fache deines RAM) - Führe
chmod 600 /mnt/swapfileaus, um die richtigen Berechtigungen zu setzen - Führe
mkswap /mnt/swapfileaus, um daraus eine echte Swap-Datei zu machen - Führe
swapon /mnt/swapfileaus, um sie zu aktivieren
Arch Linux installieren
- Führe
pacstrap -K /mnt base base-devel linux linux-firmware neovimaus, um Arch Linux zu installieren (linux-firmwarewird auf VMs nicht benötigt)
Dateisystemtabelle generieren
- Führe
genfstab -U /mnt >> /mnt/etc/fstabaus, um die fstab mit UUIDs zu generieren
In deine neue Linux-Installation wechseln
- Führe
arch-chroot /mntaus, um in deine neue Arch-Linux-Installation zu wechseln
Locales setzen
- Führe
ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtimeaus (oder deine Zeitzone), um die Zeitzone zu setzen - Führe
hwclock --systohcaus - Führe
nvim /etc/locale.genaus und kommentiere die Locale aus, die du verwenden willst (z.B.en_US.UTF-8 UTF-8) - Führe
locale-genaus, um die Locales zu generieren - Führe
echo 'LANG=en_US.UTF-8' > /etc/locale.confaus
Hostnamen setzen
- Führe
echo 'arch' > /etc/hostnameaus (oder wie dein Hostname lauten soll) - Führe
nvim /etc/hostsaus und füge folgende Zeilen ein:
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
Für die letzte Zeile: Ersetze arch durch den Hostnamen, den du im letzten
Schritt gewählt hast.
Root-Passwort setzen
- Führe
passwdaus und setze dein Root-Passwort
Initramfs konfigurieren
- Führe
nvim /etc/mkinitcpio.confaus und ergänze im ArrayHOOKSencryptzwischenblockundfilesystemssowieresumezwischenfilesystemsundfsck - Führe
mkinitcpio -Paus
Boot-Eintrag erstellen
- Führe
pacman -S efibootmgr intel-ucodeaus (oderamd-ucodebei einem AMD-Prozessor), um den EFI-Boot-Manager und den CPU-Microcode zu installieren - Führe
filefrag -v /swapfile | lessaus, um den Offset der Swap-Datei zu ermitteln. Es ist die erste Zahl unter «physical_offset» in der Zeile mit ext «0:». Notiere dir die Zahl. - Führe
blkid -s UUID -o value /dev/nvme0n1p2aus, um die UUID des Geräts zu erhalten - Führe
efibootmgr --disk /dev/nvme0n1 --part 1 --create --label "Arch Linux" --loader /vmlinuz-linux --unicode 'cryptdevice=UUID=xxxx:root root=/dev/mapper/root resume=/dev/mapper/root resume_offset=yyyy rw initrd=\intel-ucode.img initrd=\initramfs-linux.img' --verboseaus und ersetze dabei «xxxx» durch die UUID des Gerätsnvme0n1p2und «yyyy» durch den Offset der Swap-Datei, um dem Boot-Manager unser verschlüsseltes Dateisystem bekannt zu machen
NetworkManager installieren
- Führe
pacman -S networkmanageraus, um NetworkManager zu installieren - Führe
systemctl enable NetworkManageraus, damit NetworkManager beim Booten startet
Neu starten
- Führe
exitaus, um in die äussere Shell zurückzukehren - Führe
rebootaus, um das Setup zu verlassen
Mit dem WLAN verbinden (nur nötig, wenn keine Ethernet-Verbindung besteht)
- Führe
nmcli device wifi listaus, um die verfügbaren Netzwerke aufzulisten - Führe
nmcli device wifi connect MY_WIFI --askaus, um dich mit einem davon zu verbinden
Benutzer anlegen
- Führe
EDITOR=nvim visudoaus und kommentiere%wheel ALL=(ALL) NOPASSWD: ALLaus, damit Mitglieder der Gruppewheelprivilegierte Befehle ausführen dürfen - Führe
useradd --create-home --groups wheel lenaaus (oder wie dein Benutzer heissen soll), um den Benutzer anzulegen - Führe
passwd lenaaus, um dein Passwort zu setzen - Führe
exitaus und melde dich mit deinem neuen Benutzer wieder an
Window Manager installieren
- Führe
sudo pacman -S sway swayidle swaylockaus, um Sway zu installieren - Füge Folgendes in
~/.zloginein (oder in die Datei deiner Shell):
# Window Manager starten
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
exec sway
fi
Sound einrichten
- Führe
sudo pacman -S pipewire pipewire-pulse wireplumberaus, um Pipewire zu installieren
Bluetooth einrichten
- Führe
sudo pacman -S bluez bluez-utilsaus, um die Bluetooth-Utilities zu installieren - Führe
sudo systemctl enable bluetooth.service --nowaus, um Bluetooth zu starten
Root-Benutzer sperren (für zusätzliche Sicherheit)
- Führe
sudo passwd --lock rootaus, um den Root-Benutzer auszusperren
Firewall installieren
- Führe
sudo pacman -S nftablesaus, um die Firewall zu installieren - Führe
sudo nvim /etc/nftables.confaus, um die Konfiguration nach unseren Wünschen anzupassen (z.B. gemäss dem Arch-Wiki) - Führe
sudo systemctl enable nftables.service --nowaus, um die Firewall zu aktivieren
Zeitsynchronisation aktivieren
- Führe
sudo systemctl enable systemd-timesyncd.service --nowaus, um die automatische Zeitsynchronisation zu aktivieren
Energiemanagement verbessern (nur auf Laptops sinnvoll)
- Führe
sudo pacman -S thermald auto-cpufreqaus, um die Energiemanagement-Tools zu installieren - Führe
sudo systemctl enable thermald.service --nowaus, damit thermische Optimierungen automatisch laufen - Führe
sudo systemctl enable auto-cpufreq.service --nowaus, damit Performance-Optimierungen automatisch laufen
Geplantes fstrim aktivieren (nur bei SSDs sinnvoll)
- Führe
sudo systemctl enable fstrim.timer --nowaus, um regelmässiges Aufräumen deiner SSD zu aktivieren
Geplante Mirrorlist-Updates aktivieren
- Führe
sudo pacman -S reflectoraus, um reflector zu installieren - Führe
sudo nvim /etc/xdg/reflector/reflector.confaus und passe die Datei nach deinen Wünschen an - Führe
sudo systemctl enable reflector.timer --nowaus, damit reflector regelmässig läuft
Swappiness reduzieren (nur sinnvoll bei mehr als 4 GB RAM)
- Führe
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.confaus, um die Swappiness dauerhaft zu reduzieren
Dotfiles installieren
- Führe
sudo pacman -S gitaus, um Git zu installieren - Installiere CloudLenas Dotfiles oder andere, um deine Installation anzupassen