Wer in Österreich einen Laptop verliert oder dessen Diebstahl meldet, gibt ohne Verschlüsselung meist auch sämtliche Daten preis: Kundenakten, Steuerunterlagen, Passwörter im Browser und private Fotos. Eine Festplatte verschlüsseln Sie unter Linux nativ und kostenlos mit LUKS (Linux Unified Key Setup). Das System sitzt direkt im Kernel, nutzt AES-256 und schützt eine ganze Partition oder Platte, nicht nur einzelne Ordner. Dieses Tutorial führt Sie in 12 nachvollziehbaren Schritten durch die komplette LUKS Verschlüsselung: vom ersten Befehl bis zur TPM2-Bindung und dem Notfallplan.
Geplante Arbeitszeit: rund 45 bis 60 Minuten für ein zweites Laufwerk, je nach Datenmenge auch länger. Sie brauchen keine kommerzielle Software und kein Abo. Alle Befehle laufen im Terminal und funktionieren auf Ubuntu 24.04 LTS, Debian 12, Fedora 41 und nahezu jeder aktuellen Distribution.
Was ist LUKS und warum sollten Sie Ihre Festplatte verschlüsseln?
LUKS ist der Standard für Festplattenverschlüsselung unter Linux. Das Verfahren wurde 2004 vorgestellt und arbeitet auf dem dm-crypt-Kernelmodul, also direkt im Linux-Kernel. Das Werkzeug dazu heißt cryptsetup. Anders als bei der Verschlüsselung einzelner Dateien sichert LUKS einen kompletten Block-Layer (eine Partition, ein USB-Stick oder ein ganzes Laufwerk). Alles, was darauf liegt, also Dateisystem, Metadaten und Inhalte, ist im ausgeschalteten Zustand unlesbar.
Der Kern des Konzepts ist eine Trennung zwischen Master-Key und Passphrase. Die eigentlichen Daten verschlüsselt ein zufällig erzeugter Master-Key. Dieser Master-Key liegt selbst verschlüsselt im LUKS-Header, abgesichert durch Ihre Passphrase. Das hat zwei praktische Vorteile: Sie können die Passphrase ändern, ohne die gesamte Platte neu zu verschlüsseln, und Sie können mehrere Passphrasen (sogenannte Keyslots) für dieselbe Platte hinterlegen.
Warum das wichtig ist, zeigt ein Blick auf die Praxis. Eine moderne SSD lässt sich in Minuten ausbauen und an einem zweiten Rechner auslesen. Ein BIOS-Passwort oder der Linux-Login schützen davor nicht, denn beide hindern niemanden daran, die Platte abzustöpseln. Erst eine echte Festplattenverschlüsselung macht die Daten ohne Passphrase wertlos. Für Selbstständige und Unternehmen kommt der rechtliche Aspekt dazu: Die DSGVO verlangt in Artikel 32 dem Stand der Technik entsprechende Maßnahmen, und Verschlüsselung gilt als anerkannte Schutzmaßnahme. Geht ein verschlüsseltes Gerät verloren, kann das eine Meldepflicht nach Artikel 33 entschärfen.
LUKS1 vs. LUKS2: Welches Format Sie nehmen sollten
Seit cryptsetup 2.1 ist LUKS2 das Standardformat für neue Container. LUKS2 bringt einen redundanten Header, JSON-basierte Metadaten und vor allem die moderne Schlüsselableitung Argon2id mit. Für neue Installationen ist LUKS2 die richtige Wahl. LUKS1 brauchen Sie nur in Ausnahmefällen, etwa wenn ein älterer Bootloader die /boot-Partition direkt entschlüsseln muss. Ubuntu 24.04 LTS und Fedora 41 setzen bei der Installationsverschlüsselung standardmäßig auf LUKS2.
LUKS vs. VeraCrypt vs. BitLocker im Vergleich
Bevor Sie loslegen, lohnt der Blick auf die Alternativen. Alle drei Werkzeuge verschlüsseln Daten zuverlässig, unterscheiden sich aber bei Plattform, Quelloffenheit und Einsatzzweck. LUKS ist der native Linux-Weg, BitLocker der von Windows, und VeraCrypt der plattformübergreifende Allrounder für Container und externe Medien. Wer auf einem reinen Linux-System eine ganze Platte absichern will, fährt mit LUKS am besten.
| Merkmal | LUKS / cryptsetup | VeraCrypt | BitLocker |
|---|---|---|---|
| Plattform | Linux (nativ im Kernel) | Windows, macOS, Linux | Windows (Pro, Enterprise) |
| Quelloffen | Ja (GPL) | Ja | Nein (proprietär) |
| Standard-Chiffre | AES-256 (aes-xts-plain64) | AES, frei wählbar | AES-256-XTS |
| Schlüsselableitung | Argon2id | PBKDF2 (viele Iterationen) | nicht offengelegt |
| Ganze Systemplatte | Ja | Ja (Windows), eingeschränkt | Ja |
| Kosten | Kostenlos | Kostenlos | Mit Windows Pro |
| TPM2-Unterstützung | Ja (systemd-cryptenroll) | Nein | Ja |
Eine ausführliche Anleitung zu VeraCrypt finden Sie in unserem VeraCrypt-Tutorial, falls Sie verschlüsselte Container plattformübergreifend nutzen wollen. Für ein reines Linux-Setup bleibt LUKS die schnellere und besser integrierte Lösung, weil es ohne zusätzliche Software auskommt.
Voraussetzungen: Was Sie vor dem Start brauchen
Damit das Tutorial reibungslos läuft, sollten folgende Punkte erfüllt sein. Die genannten Versionen sind die zum Zeitpunkt der Veröffentlichung verbreiteten stabilen Stände.
- Linux-System mit Kernel 5.15 oder neuer (Ubuntu 24.04 LTS, Debian 12, Fedora 41 oder vergleichbar).
- cryptsetup 2.x (Version 2.6 oder neuer empfohlen wegen aktueller Argon2id-Standardwerte).
- Root-Rechte über
sudo, da alle Befehle direkt auf Block-Geräte zugreifen. - Ein leeres Ziellaufwerk oder eine leere Partition. Achtung: Beim Formatieren werden alle vorhandenen Daten gelöscht.
- Ein vollständiges Backup aller Daten, die auf dem Ziellaufwerk liegen, auf einem separaten Medium.
- Eine starke Passphrase, idealerweise aus einem Passwort-Manager, mit mindestens 20 Zeichen oder vier zufälligen Wörtern.
- Optional ein TPM2-Chip für automatisches Entsperren beim Booten (Schritt 11).
Ein Hinweis zur Sicherheit vorab: Eine Verschlüsselung ist nur so stark wie die Passphrase, die sie schützt. AES-256 lässt sich nicht durch Rechenleistung brechen, eine schwache Passphrase dagegen sehr wohl. Mehr Hintergrund zu sicheren Passwörtern liefert unser Leitfaden zur Passwortsicherheit.
Die 12 Schritte im Überblick
- cryptsetup installieren und Version prüfen
- Hardware-Leistung mit
cryptsetup benchmarktesten - Zielgerät korrekt identifizieren und Daten sichern
- LUKS2-Container mit
luksFormatanlegen - Container öffnen und Dateisystem erstellen
- Laufwerk mounten und Daten ablegen
- LUKS-Header sichern (
luksHeaderBackup) - Zusätzliche Schlüssel und Keyslots verwalten
- Automatisches Einbinden mit crypttab und fstab
- Argon2id-Parameter für mehr Sicherheit härten
- TPM2-Bindung mit
systemd-cryptenroll - Notfall, Wiederherstellung und sicheres Schließen
Schritt 1: cryptsetup installieren und Version prüfen
Auf den meisten Distributionen ist cryptsetup bereits vorinstalliert, weil Installer es für verschlüsselte Setups nutzen. Prüfen Sie zuerst die Version und installieren Sie das Paket bei Bedarf nach.
# Version pruefen
cryptsetup --version
# Falls nicht vorhanden: Installation unter Debian/Ubuntu
sudo apt update
sudo apt install cryptsetup
# Unter Fedora
sudo dnf install cryptsetup
# Unter Arch Linux
sudo pacman -S cryptsetup
Die Ausgabe sollte ungefähr so aussehen:
$ cryptsetup --version
cryptsetup 2.7.5 flags: UDEV BLKID KEYRING FIPS KERNEL_CAPI PWQUALITY
Wichtig ist eine Version aus der 2er-Reihe. Erst ab cryptsetup 2.1 ist LUKS2 das Standardformat, und neuere 2.x-Versionen liefern die aktuellen Argon2id-Standardwerte mit. Prüfen Sie zusätzlich, ob das dm-crypt-Modul im Kernel verfügbar ist. In nahezu allen Distributionen ist das der Fall, eine manuelle Aktivierung ist selten nötig.
# dm-crypt-Modul laden (meist automatisch)
sudo modprobe dm-crypt
# Pruefen, ob es geladen ist
lsmod | grep dm_crypt
Schritt 2: Hardware-Leistung mit cryptsetup benchmark testen
Bevor Sie verschlüsseln, lohnt ein kurzer Leistungstest. Der Befehl cryptsetup benchmark misst, wie schnell Ihre CPU die verschiedenen Chiffren und Schlüsselableitungen verarbeitet. So sehen Sie, ob Ihr Prozessor AES-NI-Beschleunigung bietet (das tun praktisch alle CPUs seit etwa 2011) und welche Datenraten realistisch sind.
sudo cryptsetup benchmark
Eine typische Ausgabe auf einem modernen Notebook sieht so aus:
# Tests sind ungefaehre Werte mit AES-NI.
PBKDF2-sha256 1854371 Iterationen pro Sekunde fuer 256-Bit-Schluessel
argon2id 4 Iterationen, 1048576 KB Speicher, 4 Threads
# Algorithmus | Schluessel | Verschluesselung | Entschluesselung
aes-cbc 256b 1024,3 MiB/s 3210,7 MiB/s
serpent-cbc 256b 102,4 MiB/s 540,1 MiB/s
aes-xts 512b 2980,5 MiB/s 2975,8 MiB/s
serpent-xts 512b 560,2 MiB/s 558,9 MiB/s
Die Zeile aes-xts 512b ist die entscheidende: 512 Bit Schlüssellänge im XTS-Modus entsprechen AES-256 für die Datenverschlüsselung. Werte über 2000 MiB/s zeigen, dass AES-NI aktiv ist und die Verschlüsselung die Festplattengeschwindigkeit nicht ausbremst. Liegt Ihr Wert deutlich darunter, fehlt vermutlich die Hardware-Beschleunigung, was vor allem ältere oder sehr günstige CPUs betrifft.
Die Argon2id-Zeile zeigt die Standardparameter der Schlüsselableitung: 4 Iterationen, rund 1 GiB Speicher (1048576 KB) und 4 Threads. Diese Werte erschweren das Durchprobieren von Passphrasen massiv, weil jeder Versuch ein Gigabyte Arbeitsspeicher und spürbar Rechenzeit kostet. Genau das ist der Sinn einer modernen, speicherharten Schlüsselableitung. Wer tiefer in Schlüsselableitungen einsteigen will, findet die Grundlagen in unserem Beitrag zu Hashing und Passwortsicherheit.
Schritt 3: Zielgerät identifizieren und Daten sichern
Dieser Schritt entscheidet über Erfolg oder Datenverlust. Der Befehl luksFormat überschreibt den Header des Zielgeräts unwiederbringlich. Wählen Sie das falsche Gerät, löschen Sie Ihr Betriebssystem oder Ihre Datenplatte. Verschaffen Sie sich deshalb zuerst einen genauen Überblick über alle Block-Geräte.
# Alle Laufwerke und Partitionen mit Groesse und Mountpoint auflisten
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
NAME SIZE TYPE MOUNTPOINT FSTYPE
sda 476G disk
|-sda1 512M part /boot/efi vfat
`-sda2 475G part / ext4
sdb 932G disk
`-sdb1 932G part ext4
Im Beispiel ist sda die Systemplatte (gemountet auf /) und sdb ein zweites Laufwerk, das wir verschlüsseln wollen. Verschlüsseln Sie die Partition /dev/sdb1 oder, falls Sie die ganze Platte ohne Partitionstabelle nutzen, /dev/sdb. In diesem Tutorial verwenden wir durchgehend den Platzhalter /dev/sdX1. Ersetzen Sie ihn überall durch Ihr tatsächliches Gerät.
Sichern Sie jetzt alle Daten des Ziellaufwerks. Nach luksFormat ist nichts mehr lesbar. Wer eine bereits genutzte Platte verschlüsseln will, kopiert die Daten zuerst auf ein anderes Medium und spielt sie nach dem Einrichten zurück. Eine nachträgliche Verschlüsselung im laufenden Betrieb (cryptsetup reencrypt) ist zwar möglich, aber riskanter und für Einsteiger nicht zu empfehlen.
Schritt 4: LUKS2-Container mit luksFormat anlegen
Jetzt erstellen Sie den verschlüsselten Container. Der Befehl luksFormat schreibt den LUKS-Header, erzeugt den Master-Key und legt den ersten Keyslot mit Ihrer Passphrase an. Trotz des Namens formatiert er kein Dateisystem, das kommt erst in Schritt 5.
# LUKS2-Container mit Standardwerten anlegen
sudo cryptsetup luksFormat --type luks2 /dev/sdX1
cryptsetup fragt zur Sicherheit nach, ob Sie wirklich fortfahren wollen, und verlangt dann zweimal die Passphrase:
WARNING!
========
Hiermit werden die Daten auf /dev/sdX1 unwiderruflich ueberschrieben.
Are you sure? (Type 'yes' in capital letters): YES
Geben Sie die Passphrase fuer /dev/sdX1 ein:
Passphrase bestaetigen:
Tippen Sie YES in Großbuchstaben, sonst bricht der Befehl ab. Diese Sicherheitsabfrage ist Absicht. Nach Eingabe der Passphrase ist der Container in wenigen Sekunden fertig, weil nur der Header geschrieben wird, nicht die ganze Platte.
Die Standardwerte sind für die meisten Nutzer bereits sehr gut: AES-256 im XTS-Modus, Argon2id als Schlüsselableitung und SHA-256 als Hash. Wer Parameter explizit setzen will, etwa für besonders sensible Daten, nutzt zusätzliche Optionen.
# Mit explizit gesetzten Parametern
sudo cryptsetup luksFormat --type luks2 \
--cipher aes-xts-plain64 \
--key-size 512 \
--hash sha256 \
--pbkdf argon2id \
--use-random \
/dev/sdX1
Die folgende Tabelle erklärt die wichtigsten Parameter.
| Parameter | Standardwert | Bedeutung |
|---|---|---|
--type | luks2 | Header-Format. luks2 ist Standard und empfohlen. |
--cipher | aes-xts-plain64 | Verschlüsselungsalgorithmus und Modus. |
--key-size | 512 | Schlüssellänge in Bit. 512 im XTS-Modus = AES-256. |
--hash | sha256 | Hash-Funktion für die Metadaten. |
--pbkdf | argon2id | Speicherharte Schlüsselableitung gegen Brute-Force. |
--use-random | aktiv | Nutzt /dev/random als Entropiequelle für den Master-Key. |
Prüfen Sie nach dem Anlegen den Header. Der Befehl luksDump zeigt alle Parameter und belegten Keyslots.
sudo cryptsetup luksDump /dev/sdX1
LUKS header information
Version: 2
Epoch: 3
Cipher name: aes
Cipher mode: xts-plain64
Keyslots:
0: luks2
Key: 512 bits
PBKDF: argon2id
Memory: 1048576
Threads: 4
Schritt 5: Container öffnen und Dateisystem erstellen
Der verschlüsselte Container existiert jetzt, ist aber noch leer und geschlossen. Um ihn zu nutzen, öffnen Sie ihn mit cryptsetup open. Dabei vergeben Sie einen Namen, unter dem das entsperrte Gerät im Verzeichnis /dev/mapper/ erscheint.
# Container oeffnen, Name frei waehlbar (hier: cryptdaten)
sudo cryptsetup open /dev/sdX1 cryptdaten
# Passphrase eingeben, danach pruefen
ls -l /dev/mapper/cryptdaten
Das entsperrte Gerät liegt nun unter /dev/mapper/cryptdaten und verhält sich wie eine normale Platte. Alles, was Sie dorthin schreiben, verschlüsselt der Kernel transparent im Hintergrund. Jetzt fehlt noch ein Dateisystem. Für Linux-eigene Nutzung empfiehlt sich ext4, für plattformübergreifende externe Medien eher XFS oder Btrfs.
# ext4-Dateisystem im entsperrten Container anlegen
sudo mkfs.ext4 /dev/mapper/cryptdaten
# Optional: Label vergeben
sudo e2label /dev/mapper/cryptdaten cryptdaten
Wichtig zum Verständnis: Sie erstellen das Dateisystem auf dem /dev/mapper-Gerät, nicht direkt auf /dev/sdX1. Würden Sie mkfs versehentlich auf das rohe Gerät anwenden, zerstörten Sie den LUKS-Header. Achten Sie also genau auf den Pfad.
Schritt 6: Laufwerk mounten und Daten ablegen
Mit Dateisystem lässt sich der Container einbinden. Legen Sie einen Mountpunkt an und hängen Sie das entsperrte Gerät dort ein.
# Mountpunkt anlegen
sudo mkdir -p /mnt/cryptdaten
# Einbinden
sudo mount /dev/mapper/cryptdaten /mnt/cryptdaten
# Pruefen
df -h /mnt/cryptdaten
Ab jetzt arbeiten Sie ganz normal mit dem Verzeichnis /mnt/cryptdaten. Jede Datei, die Sie dort speichern, landet verschlüsselt auf der Platte. Beim Lesen entschlüsselt der Kernel sie transparent. Sie merken im Alltag keinen Unterschied, abgesehen von einem minimalen Geschwindigkeitsverlust, der dank AES-NI meist unter einem Prozent liegt.
Zum sauberen Schließen müssen Sie in umgekehrter Reihenfolge vorgehen: erst aushängen, dann den LUKS-Container schließen. Erst danach sind die Daten wieder vollständig verschlüsselt und unzugänglich.
# Aushaengen
sudo umount /mnt/cryptdaten
# Container schliessen (Daten sind danach wieder verschluesselt)
sudo cryptsetup close cryptdaten
Schritt 7: LUKS-Header sichern
Der LUKS-Header ist das Herz der Verschlüsselung. Er enthält den verschlüsselten Master-Key. Wird er beschädigt oder versehentlich überschrieben, sind sämtliche Daten verloren, selbst mit korrekter Passphrase. Deshalb gehört eine Sicherung des Headers zu den wichtigsten Schritten überhaupt.
# Header in eine Datei sichern
sudo cryptsetup luksHeaderBackup /dev/sdX1 \
--header-backup-file ~/luks-header-sdX1.img
# Zugriffsrechte einschraenken
sudo chmod 600 ~/luks-header-sdX1.img
Bewahren Sie diese Header-Sicherung an einem sicheren, getrennten Ort auf, etwa auf einem verschlüsselten USB-Stick im Tresor. Behandeln Sie die Datei wie einen Schlüssel: Wer sie und Ihre Passphrase besitzt, kommt an die Daten. Ohne Passphrase nützt die Header-Sicherung niemandem.
Die Wiederherstellung läuft umgekehrt, falls der Original-Header je beschädigt wird.
# Header aus der Sicherung wiederherstellen
sudo cryptsetup luksHeaderRestore /dev/sdX1 \
--header-backup-file ~/luks-header-sdX1.img
Schritt 8: Zusätzliche Schlüssel und Keyslots verwalten
Ein großer Vorteil von LUKS sind die Keyslots. LUKS1 erlaubt bis zu 8 Keyslots, LUKS2 sogar bis zu 32. Jeder Slot enthält eine eigene Passphrase oder Schlüsseldatei, die alle denselben Master-Key entsperren. So kann zum Beispiel ein Admin einen eigenen Wiederherstellungsschlüssel hinterlegen, oder mehrere Personen nutzen dieselbe Platte mit je eigener Passphrase.
# Zweite Passphrase hinzufuegen (fragt erst nach einer bestehenden)
sudo cryptsetup luksAddKey /dev/sdX1
# Eine Schluesseldatei als Schluessel hinterlegen
sudo dd if=/dev/urandom of=~/cryptdaten.key bs=512 count=8
sudo chmod 600 ~/cryptdaten.key
sudo cryptsetup luksAddKey /dev/sdX1 ~/cryptdaten.key
Eine Schlüsseldatei (Keyfile) ist praktisch für automatisierte Setups und Backup-Server, weil sie das interaktive Eintippen ersetzt. Sie muss aber genauso gut geschützt werden wie eine Passphrase. Einen kompromittierten oder nicht mehr benötigten Schlüssel entfernen Sie wieder gezielt.
# Belegte Keyslots anzeigen
sudo cryptsetup luksDump /dev/sdX1 | grep -A1 Keyslots
# Eine bestimmte Passphrase entfernen (fragt nach der zu loeschenden)
sudo cryptsetup luksRemoveKey /dev/sdX1
# Einen Keyslot per Nummer loeschen (Vorsicht, nicht ruecknehmbar)
sudo cryptsetup luksKillSlot /dev/sdX1 1
Eine Warnung: Löschen Sie niemals den letzten verbleibenden Keyslot. Ohne gültigen Slot lässt sich der Container nie wieder öffnen, und der Master-Key ist für immer verloren. Prüfen Sie vor jedem luksKillSlot mit luksDump, welche Slots belegt sind.
Schritt 9: Automatisches Einbinden mit crypttab und fstab
Manuelles Öffnen und Mounten bei jedem Start ist umständlich. Zwei Systemdateien automatisieren das: /etc/crypttab beschreibt, welche verschlüsselten Geräte beim Boot entsperrt werden, und /etc/fstab regelt, wo die entsperrten Geräte eingehängt werden. Sie arbeiten zusammen, crypttab zuerst, fstab danach.
Ermitteln Sie zuerst die UUID des verschlüsselten Geräts. Sie ist stabiler als /dev/sdX1, weil sich Gerätenamen je nach Anschlussreihenfolge ändern können.
# UUID des LUKS-Geraets anzeigen
sudo blkid /dev/sdX1
/dev/sdX1: UUID="a1b2c3d4-1234-5678-9abc-def012345678" TYPE="crypto_LUKS"
Tragen Sie das Gerät in /etc/crypttab ein. Die vier Spalten sind: Mapper-Name, Quellgerät, Schlüsseldatei (oder none für interaktive Eingabe) und Optionen.
# /etc/crypttab
# Name Quellgeraet Schluessel Optionen
cryptdaten UUID=a1b2c3d4-1234-5678-9abc-def012345678 none luks
Danach tragen Sie den Mountpunkt in /etc/fstab ein. Verweisen Sie auf das Mapper-Gerät, nicht auf das rohe LUKS-Gerät.
# /etc/fstab
/dev/mapper/cryptdaten /mnt/cryptdaten ext4 defaults,nofail 0 2
Die Option nofail ist wichtig: Sie verhindert, dass das System nicht bootet, falls das verschlüsselte Laufwerk einmal fehlt, etwa weil ein externes Medium nicht angesteckt ist. Testen Sie die Konfiguration vor dem nächsten Neustart, damit ein Tippfehler den Bootvorgang nicht blockiert.
# crypttab-Eintraege testen, ohne neu zu starten
sudo systemctl daemon-reload
sudo cryptdisks_start cryptdaten # Debian/Ubuntu
sudo mount -a # fstab pruefen
Schritt 10: Argon2id-Parameter für mehr Sicherheit härten
Die Standardwerte von Argon2id sind bereits stark, aber bei besonders sensiblen Daten oder leistungsstarker Hardware können Sie sie weiter anheben. Drei Parameter steuern den Aufwand: Iterationen (--iter-time in Millisekunden), Speicherbedarf (--pbkdf-memory in KiB) und Parallelität (--pbkdf-parallel). Mehr Speicher und mehr Zeit machen das Durchprobieren von Passphrasen für Angreifer teurer.
| Parameter | Standard | Gehärtet | Wirkung |
|---|---|---|---|
--iter-time | 2000 ms | 5000 ms | Längere Ableitungszeit pro Versuch |
--pbkdf-memory | 1048576 KiB (1 GiB) | 2097152 KiB (2 GiB) | Höherer RAM-Bedarf je Versuch |
--pbkdf-parallel | 4 | 4 | Anzahl paralleler Threads |
Diese Werte lassen sich nachträglich für einen bestehenden Keyslot ändern, ohne die Daten neu zu verschlüsseln. Der Befehl luksConvertKey rechnet den betroffenen Slot mit den neuen Parametern um.
# Argon2id-Parameter eines bestehenden Keyslots anheben
sudo cryptsetup luksConvertKey /dev/sdX1 \
--pbkdf argon2id \
--iter-time 5000 \
--pbkdf-memory 2097152
Beachten Sie den Kompromiss: Höhere Werte verlängern auch Ihre eigene Entsperrzeit beim Booten. 2 GiB Speicher und 5 Sekunden sind ein vernünftiges Maximum für die meisten Desktops. Auf Geräten mit wenig RAM kann ein zu hoher Speicherwert sogar verhindern, dass die Entsperrung funktioniert, vor allem im frühen Boot-Stadium (initramfs). Testen Sie geänderte Parameter immer, bevor Sie sich darauf verlassen.
Schritt 11: TPM2-Bindung mit systemd-cryptenroll
Auf moderner Hardware sitzt ein TPM2-Chip (Trusted Platform Module). Damit lässt sich die Entsperrung an die Integrität des Systems koppeln: Bootet der Rechner unverändert, entsperrt das TPM die Platte automatisch, ohne dass Sie eine Passphrase eintippen. Wird die Hardware manipuliert oder die Platte in einen anderen Rechner gesteckt, verweigert das TPM die Herausgabe des Schlüssels. Das Werkzeug dafür heißt systemd-cryptenroll.
# Verfuegbare TPM2-Geraete anzeigen
sudo systemd-cryptenroll --tpm2-device=list
# LUKS-Geraet an das TPM2 binden (PCR 7 = Secure-Boot-Status)
sudo systemd-cryptenroll /dev/sdX1 \
--tpm2-device=auto \
--tpm2-pcrs=7
Danach ergänzen Sie in /etc/crypttab die Option tpm2-device=auto, damit das System beim Boot automatisch das TPM zum Entsperren nutzt.
# /etc/crypttab mit TPM2-Entsperrung
cryptdaten UUID=a1b2c3d4-... none luks,tpm2-device=auto
Wichtig: Behandeln Sie die TPM2-Bindung als Komfort, nicht als Ersatz für eine starke Passphrase. Behalten Sie immer einen passphrasenbasierten Keyslot als Rückfallebene. Sonst sperren Sie sich aus, sobald ein Firmware-Update die gemessenen PCR-Werte verändert. Welche PCRs sinnvoll sind, hängt von Ihrem Bedrohungsmodell ab. PCR 7 deckt den Secure-Boot-Status ab und ist ein robuster Standard.
Schritt 12: Notfall, Wiederherstellung und sicheres Schließen
Zum Abschluss richten Sie einen Notfallplan ein. Drei Dinge gehören dazu: ein Header-Backup (Schritt 7), ein zweiter Keyslot (Schritt 8) und das Wissen, wie Sie den Master-Key im Ernstfall sichern. Wer alle drei beherrscht, verliert seine Daten auch bei Hardware-Defekten nicht.
Sie können den Master-Key des Containers exportieren und sicher verwahren. Damit lässt sich der Container selbst dann öffnen, wenn alle Passphrasen vergessen wurden. Behandeln Sie diesen Schlüssel wie hochsensibles Material.
# Master-Key anzeigen (nur in sicherer Umgebung ausfuehren)
sudo cryptsetup luksDump --dump-volume-key /dev/sdX1
# Container mit Volume-Key statt Passphrase oeffnen (Notfall)
sudo cryptsetup open --master-key-file ~/masterkey.bin /dev/sdX1 cryptdaten
Zum dauerhaften Löschen einer verschlüsselten Platte reicht es, den Header zu vernichten. Ohne Header ist der Master-Key weg, und die Daten sind selbst mit Passphrase nicht mehr rekonstruierbar. Das macht das sichere Löschen sehr schnell, denn Sie müssen nicht die ganze Platte überschreiben.
# LUKS-Header und damit alle Schluessel unwiderruflich loeschen
sudo cryptsetup luksErase /dev/sdX1
Damit ist die Einrichtung vollständig. Sie haben ein verschlüsseltes Laufwerk, ein gesichertes Header-Backup, mehrere Keyslots, gehärtete Argon2id-Parameter und optional eine TPM2-Bindung. Im Alltag arbeiten Sie ganz normal weiter, die Verschlüsselung läuft unsichtbar im Hintergrund.
Häufige Fehler beim Festplatte verschlüsseln und ihre Lösungen
Diese fünf Fehler kosten Einsteiger am häufigsten Zeit oder Daten. Wer sie kennt, vermeidet sie.
- Falsches Zielgerät bei luksFormat. Der mit Abstand teuerste Fehler. Wer
/dev/sdastatt/dev/sdbformatiert, löscht das System. Prüfen Sie immer zweimal mitlsblk, bevor SieluksFormatausführen. - Kein Header-Backup. Der LUKS-Header ist nur wenige Megabyte groß, aber ohne ihn sind alle Daten verloren. Sichern Sie ihn vor der ersten Datenablage, nicht erst später.
- mkfs auf dem rohen Gerät. Das Dateisystem gehört auf
/dev/mapper/cryptdaten, nicht auf/dev/sdX1. Andernfalls überschreiben Sie den LUKS-Header. - Letzten Keyslot gelöscht. Ohne gültigen Keyslot ist der Container unwiderruflich verloren. Behalten Sie immer mindestens einen funktionierenden Slot.
- Schwache Passphrase. AES-256 ist nicht zu brechen, eine schlechte Passphrase schon. Nutzen Sie mindestens 20 Zeichen oder vier zufällige Wörter aus einem Passwort-Manager.
Troubleshooting: 8 typische Probleme lösen
Wenn etwas nicht funktioniert, hilft diese Tabelle bei der schnellen Diagnose der häufigsten Fehlermeldungen rund um die LUKS Verschlüsselung.
| Problem / Meldung | Ursache | Lösung |
|---|---|---|
| “No key available with this passphrase” | Falsche Passphrase oder falscher Keyslot | Passphrase prüfen, Tastaturlayout kontrollieren (z/y), anderen Keyslot testen |
| “Device cryptdaten already exists” | Container ist bereits geöffnet | Mit cryptsetup status cryptdaten prüfen, ggf. zuerst schließen |
| “Cannot use device, already in use” | Gerät ist gemountet oder belegt | umount ausführen, mit lsof blockierende Prozesse finden |
| “Not enough available memory” | Argon2id-Speicherbedarf übersteigt RAM (oft im initramfs) | --pbkdf-memory senken oder PBKDF2 für Boot-Partition nutzen |
| System bootet nicht nach fstab-Eintrag | Falsche UUID oder fehlendes nofail | Recovery-Modus, fstab korrigieren, nofail ergänzen |
| “Requested offset is beyond real size of device” | Header beschädigt oder falsches Gerät | Header aus Backup wiederherstellen (Schritt 7) |
| Langsame Entschlüsselung | Fehlende AES-NI-Beschleunigung | cryptsetup benchmark prüfen, ggf. CPU-Mikrocode aktualisieren |
| TPM2 entsperrt nicht mehr | PCR-Werte nach Firmware-Update geändert | Mit Passphrase entsperren, TPM2 neu einbinden (systemd-cryptenroll) |
Bei jedem Fehler hilft zuerst sudo cryptsetup status cryptdaten für den aktuellen Zustand und sudo cryptsetup luksDump /dev/sdX1 für die Header-Informationen. Beide Befehle sind ungefährlich, sie verändern nichts.
Fortgeschrittene Tipps für Profis
Detached Header für mehr Sicherheit
Standardmäßig liegt der LUKS-Header auf demselben Gerät wie die Daten. Mit der Option --header lässt er sich auf ein separates Medium auslagern, etwa einen USB-Stick. Ohne diesen Stick sieht die Platte wie zufälliges Rauschen aus. Es gibt keinen sichtbaren Hinweis darauf, dass sie überhaupt verschlüsselt ist. Das erhöht die Sicherheit, weil ein Angreifer ohne den abgesetzten Header nicht einmal den Verschlüsselungstyp erkennt.
# Container mit abgesetztem Header anlegen
sudo cryptsetup luksFormat --type luks2 \
--header /mnt/usbstick/sdX1-header.img \
/dev/sdX1
# Mit abgesetztem Header oeffnen
sudo cryptsetup open --header /mnt/usbstick/sdX1-header.img \
/dev/sdX1 cryptdaten
TRIM/Discard auf SSDs und der Sicherheitskompromiss
SSDs profitieren von TRIM-Befehlen, die ungenutzte Blöcke freigeben und die Lebensdauer verlängern. Bei LUKS ist TRIM standardmäßig abgeschaltet, weil es ein kleines Informationsleck erzeugt: Ein Angreifer kann erkennen, welche Blöcke belegt sind und welche nicht. Wer den Geschwindigkeitsvorteil will und das Leck akzeptiert, aktiviert TRIM über die Option discard.
# In /etc/crypttab discard ergaenzen
cryptdaten UUID=a1b2c3d4-... none luks,discard
Für die meisten Heimanwender ist der Kompromiss vertretbar, weil das Informationsleck in der Praxis wenig verrät. Bei höchsten Sicherheitsanforderungen lassen Sie TRIM besser deaktiviert.
Ganzes System verschlüsseln
Dieses Tutorial behandelt ein zweites Laufwerk. Wer das gesamte System inklusive Wurzelverzeichnis verschlüsseln will, richtet das am einfachsten direkt bei der Installation ein. Ubuntu, Fedora und Debian bieten im Installer die Option “LVM mit Verschlüsselung” oder “Festplatte verschlüsseln” an, die im Hintergrund genau dieses LUKS2-Setup erzeugt. Eine nachträgliche Vollverschlüsselung des laufenden Systems ist mit cryptsetup reencrypt möglich, aber deutlich anspruchsvoller und sollte nur mit vollständigem Backup erfolgen.
Häufig gestellte Fragen (FAQ)
Wie sicher ist die LUKS-Verschlüsselung wirklich?
LUKS nutzt AES-256 im XTS-Modus, denselben Algorithmus, den Regierungen und Banken für streng vertrauliche Daten einsetzen. AES-256 gilt nach heutigem Stand als praktisch nicht brechbar. Die reale Schwachstelle ist fast immer die Passphrase, nicht der Algorithmus. Mit einer starken Passphrase und aktuellem Argon2id ist eine LUKS-Platte ohne Zugangsdaten wertlos für Angreifer.
Verlangsamt die Verschlüsselung meinen Computer spürbar?
Auf jeder CPU mit AES-NI-Beschleunigung (praktisch alle seit etwa 2011) liegt der Geschwindigkeitsverlust meist unter einem Prozent und ist im Alltag nicht wahrnehmbar. Der Test cryptsetup benchmark zeigt Datenraten von oft über 2000 MiB/s, weit mehr als jede klassische Festplatte lesen kann. Nur sehr alte oder sehr günstige Prozessoren ohne Hardware-Beschleunigung verlieren spürbar Tempo.
Kann ich eine bereits genutzte Festplatte ohne Datenverlust verschlüsseln?
Grundsätzlich ja, mit cryptsetup reencrypt. Dieser Vorgang verschlüsselt eine bestehende Partition im laufenden Betrieb. Er ist aber riskanter als ein frisches Setup, weil ein Stromausfall während der Konvertierung Daten beschädigen kann. Für Einsteiger ist der sichere Weg: Daten sichern, Platte mit luksFormat neu verschlüsseln und Daten zurückspielen.
Was passiert, wenn ich meine Passphrase vergesse?
Ohne gültige Passphrase und ohne hinterlegten zweiten Keyslot oder gesicherten Master-Key sind die Daten unwiederbringlich verloren. Genau das ist der Zweck der Verschlüsselung. Deshalb gehören ein zweiter Keyslot (Schritt 8) und ein Header-Backup (Schritt 7) zur Pflichtausstattung. Bewahren Sie eine Wiederherstellungspassphrase an einem sicheren, getrennten Ort auf.
Brauche ich LUKS, wenn mein Laptop schon ein Login-Passwort hat?
Ja. Ein Login-Passwort schützt nur die laufende Sitzung. Wer die Platte ausbaut und an einen anderen Rechner anschließt, liest ohne Verschlüsselung sämtliche Daten. Erst LUKS macht die Festplatte ohne Passphrase unlesbar, auch im ausgebauten Zustand. Mehr zum Thema Datenabfluss lesen Sie in unserem Beitrag zu Datenlecks.
Funktioniert LUKS auch mit externen USB-Festplatten und Sticks?
Ja, der Ablauf ist identisch. Sie verschlüsseln einfach die Partition des USB-Geräts statt einer internen Platte. Beachten Sie aber, dass LUKS-verschlüsselte Medien nur auf Linux-Systemen direkt lesbar sind. Wer ein externes Medium auch unter Windows oder macOS nutzen will, ist mit dem plattformübergreifenden VeraCrypt besser bedient.
Was ist der Unterschied zwischen LUKS1 und LUKS2?
LUKS2 ist das neuere, seit cryptsetup 2.1 standardmäßige Format. Es bietet einen redundanten Header, JSON-Metadaten, bis zu 32 Keyslots (statt 8 bei LUKS1) und die moderne Schlüsselableitung Argon2id. Für neue Installationen ist LUKS2 die richtige Wahl. LUKS1 brauchen Sie nur für seltene Kompatibilitätsfälle mit älteren Bootloadern.
Fazit: Festplatte verschlüsseln in unter einer Stunde
Eine Festplatte zu verschlüsseln ist unter Linux keine Stunde Arbeit und kostet keinen Cent. Mit LUKS und cryptsetup bekommen Sie AES-256, die moderne Argon2id-Schlüsselableitung und optionale TPM2-Bindung, alles nativ im Kernel und quelloffen. Die wichtigsten Regeln zum Mitnehmen: das richtige Zielgerät doppelt prüfen, den Header sichern, einen zweiten Keyslot anlegen und eine starke Passphrase wählen. Wer diese vier Punkte beachtet, schützt seine Daten zuverlässig vor Diebstahl und Verlust und erfüllt zugleich einen zentralen Baustein der DSGVO-Konformität.
Die LUKS Verschlüsselung ist ein Baustein einer umfassenden Sicherheitsstrategie. Kombinieren Sie sie mit einem starken Passwort-Manager, aktueller Software und einem durchdachten Backup-Konzept. Dann sind Ihre Daten auch dann sicher, wenn das Gerät einmal in falsche Hände gerät.
Related Coverage
- VeraCrypt Anleitung: Verschlüsselung in 12 Schritten
- KeePassXC einrichten: Passwort-Tresor in 12 Schritten
- SSH-Key einrichten: Server härten in 10 Schritten
- HTTPS und TLS: Wie das Schloss im Browser Sie schützt
- Datenlecks: Wie sie entstehen und wie Sie sich schützen
- Mehr Tutorials und Grundlagen im Kryptographie-Hub




