Irgendwie ist das Thema System verschlüsslen und Schlüsselableitung ein echter zeitraubender Krampf. Kaum ist ein Problem gelöst, tut sich ein neues auf. Ich benutze im Übrigen btrfs und subvolumes statt LVM auf 18.04.
Nach den jüngsten Korrekturen im Wiki ist mein Problem mit der Fehlermeldung beim Ausführen von /etc/initramfs-tools/scripts/luks/get.root_crypt.decrypt_derived erledigt. Stattdessen erhalte ich nun eine ellenlange Zeichnenfolge, welche diesselbe ist, die ich mit sudo /lib/cryptsetup/scripts/decrypt_derived root erhalte. Insofern scheint jetzt dies zumindest zu funktionieren.
Nur: Ich muss trotzdem für jede verschlüsselte Partition das Passwort beim Start eingeben. Das Spannende dabei: Bisher musste ich das nicht, wenn die Partitionen auf einer physischen Festplatte lagen. Die Schlüsselableitung schien nur dann nicht zu funktionieren, wenn die per Schlüsselableitung zu öffnende Partition auf einer anderen physischen Festplatte als die Partition lag, von welcher der Schlüssel abgeleitet werden sollte (root). Im Ergebnis klappte die Schlüsselableitung bisher für swap (auch ohne den Workaround mit /etc/initramfs-tools/scripts/luks/get.root_crypt.decrypt_derived, weil auf der gleichen physischen Festplatte wie root), und nur für die Partition auf einer anderen physischen Festplatte musste ich das Passwort händisch eingeben.
Nun habe ich zusätzlich meine root-Festplatte (HDD) mit einer SSD ausgetauscht und bin nach der Anleitung "Ubuntu umziehen" vorgegangen. Das hat alles soweit geklappt, System startet wie vorher, nur mit einem ärgerlichen Manko: Jetzt klappt nicht einmal mehr die Schlüsselableitung für eine Partition auf derselben physischen Festplatte (root und swap auf der SSD, home auf der HDD). Nun muss ich beim Start dreimal ein ellenlanges Passwort eingeben, statt zweimal.
Ich habe alle Einträge in /etc/fstab, /etc/crypttab und /etc/initramfs-tools/conf.d/cryptroot hinsichtlich UUIDs und Gerätenamen überprüft. Ich finde keinen Fehler und bin mit meinem Latein am Ende.
Wie funktioniert die Schlüsselableitung eigentlich, wenn das root-Laufwerk mehrere Schlüssel hat, also mehr als der Slot 0 befüllt ist? Welcher Slot wird abgleitet? Immer der erste, also Slot 0? Oder vielleicht der letzte? Oder welcher?
Wenn den Laufwerken, die mit der Schlüsselableitung geöffnet werden sollen ein von root abgeleiteter Schlüssel hinzugefügt werden soll (dazu muss ja bereits einer vorhanden sein), muss dieser in einen bestimmten Slot geschrieben werden, etwa in Slot 0 oder dem letzten, oder ist das egal?