Sie erhalten eine doppelte Kennwortaufforderung, da Ihre /boot
Partition verschlüsselt ist. Zunächst fordert GRUB zur Eingabe eines Kennworts auf, da der Kernel verschlüsselt geladen werden muss /boot
. Anschließend fordert der Kernel erneut zum Entschlüsseln des Kennworts auf /
.
Es gibt zwei Ansätze für dieses Problem:
Verwenden Sie keine verschlüsselten
/boot
. GRUB fragt nicht nach dem Passwort. Dies erlaubt jedem, an Kernel- und Initramfs-Dateien zu basteln . Beispielsweise könnte man den Kernel durch einen böswilligen Kernel ersetzen/
, der nach der Eingabe des Kennworts auf Ihr verschlüsseltes zugreift .Erstellen Sie einen Entschlüsselungsschlüssel, fügen Sie ihn einem freien LUKS-Slot hinzu und binden Sie ihn
/
dann in initramfs ein. Dadurch wird der Kernel/
ohne Passwort zugreifen können.
Das Setup für # 2 ist ziemlich kompliziert, also gehe ich mit dem bisherigen Ansatz weiter. Ich schreibe das von ganz oben, ohne zu testen. Machen Sie Backups und fahren Sie vorsichtig fort. Ich bin nicht verantwortlich für Datenverlust und andere Probleme, die durch diesen Prozess verursacht werden.
Sie benötigen ein bootfähiges Linux-Medium mit cryptsetup
und resize2fs
. Ich würde empfehlen, Ubuntu Flash-Laufwerk zu verwenden. Letzteres können Sie auch durch ersetzen partclone
. Sie benötigen außerdem etwa 500 MB freien Speicherplatz, um zwischengespeicherte Zwischenbilder zu speichern /boot
.
Booten Sie von Ihrem Linux-Medium. Greifen Sie auf das LVM zu (ehrlich gesagt, ich habe mich noch nie damit befasst, daher habe ich keine Ahnung, ob weitere Schritte erforderlich sind - es besteht die Möglichkeit, dass Ubuntu dies automatisch erledigt). Öffne das verschlüsselte /boot
:
cryptsetup open /dev/<boot> cryptboot
Erstellen Sie ein Image des unverschlüsselten Startvorgangs: (um den Fortschritt pv
anstelle von zu sehen cat
)
cat /dev/mapper/cryptboot > /media/ubuntu/<someExternalStorage>/boot.img
Schließen /boot
:
sync cryptsetup close cryptboot
Schreiben Sie unverschlüsselt /boot
in die Partition und passen Sie die Größe des Dateisystems an:
cat /media/ubuntu/<someExternalStorage>/boot.img > /dev/<boot> resize2fs /dev/<boot>
Holen Sie sich eine UUID von /boot
(notieren Sie sich diese):
blkid /dev/<boot>
Öffnen und Mounten /
, Update fstab
:
cryptsetup open /dev/<root> cryptroot mkdir -p /mnt/root mount /dev/mapper/cryptroot /mnt/root cd /mnt/root vi etc/fstab
Passen Sie die angehängte Zeile /boot
an, um die neue UUID anstelle des /dev/mapper/...
Eintrags zu verwenden. Möglicherweise müssen Sie auch die /boot
Leitung von entfernen etc/crypttab
.
Aktualisieren Sie initramfs (dieses kann in Ubuntu brechen, wenn Ihr Haupt-Betriebssystem Arch ist. Ich bin mir nicht sicher, also seien Sie vorsichtig):
cd /mnt/root mount -t sysfs sysfs sys mount -t tmpfs tmp tmp mount -t proc proc proc mount --bind /dev dev mount /dev/<boot> boot mount --bind /boot/efi boot/efi chroot update-initramfs -u -k all exit
Soweit ich mich erinnere, sollte das ausreichen. Sie können die GRUB-Konfiguration auch vereinfachen, indem Sie den verschlüsselten Start in den Konfigurationsdateien deaktivieren. Das Booten kann etwas beschleunigt werden, ist aber nicht erforderlich.
Aufräumen nach dir selbst:
umount boot/efi boot dev proc tmp sys cd .. umount root cryptsetup close cryptroot