Ich habe vor kurzem Ubuntu 12.10 installiert und es erfordert eine Passphrase zum Booten (ich habe es mit einem verschlüsselten Dateisystem installiert).
Muss ich neu installieren, um zu einem unverschlüsselten Standarddateisystem zu wechseln?
Ich habe vor kurzem Ubuntu 12.10 installiert und es erfordert eine Passphrase zum Booten (ich habe es mit einem verschlüsselten Dateisystem installiert).
Muss ich neu installieren, um zu einem unverschlüsselten Standarddateisystem zu wechseln?
Antworten:
Wenn Ubuntu während des Startvorgangs (dh auf der Textkonsole, bevor der Anmeldebildschirm angezeigt wird) nach einer Verschlüsselungskennphrase fragt, bedeutet dies, dass eine vollständige Festplattenverschlüsselungsmethode verwendet wurde. (Es gibt mehr als einen Weg, dies zu tun, aber ich werde die Antwort allgemein halten.) Die Verschlüsselung wird durch eine zusätzliche Software-Schicht zwischen dem Dateisystem und der physischen Festplatte und nicht dem Dateisystem selbst vorgenommen.
Es gibt keine einfache Methode oder ein Werkzeug, um dies rückgängig zu machen. Mit einigem Wissen über die Funktionsweise von Linux-Systemen kann dies durchgeführt werden. Sie müssten das gesamte Dateisystem (oder alle Dateien) auf eine andere Partition (mit genügend freiem Speicherplatz) oder eine externe Festplatte verschieben. Entfernen Sie dann den verschlüsselten Container und erstellen Sie das Dateisystem ohne Verschlüsselung neu. Stellen Sie schließlich sicher, dass das neue Dateisystem vom Bootloader und mount -a
vor dem Neustart richtig erkannt wird .
Vermeiden Sie dieses zeitaufwändige und fehleranfällige Verfahren nach Möglichkeit. Führen Sie einfach eine Neuinstallation durch. Für einen neuen Benutzer ist dies die schnellste und sicherste Option.
PS: Möglicherweise können Sie die Passphrase für die Verschlüsselung in eine leere Zeichenfolge ändern. Zum Entschlüsseln muss nur die Eingabetaste gedrückt werden. Vielleicht können Sie weiter gehen und die (jetzt unbrauchbare) Passphrasen-Eingabeaufforderung unterdrücken. Dadurch wird die Verschlüsselung jedoch nicht deaktiviert. Die Daten wären immer noch verschlüsselt, obwohl die Verschlüsselung unbrauchbar wäre, da der Schlüssel trivial erraten werden kann.
dd
und die zugrunde liegenden Treiber schreiben erst, wenn sie alle Blöcke gelesen haben (wahrscheinlich gibt es Flags und Einstellungen, um dies sicherzustellen). 2. das Lesen / Schreiben Blöcke überlappen nicht die Kanten von Verschlüsselungsblöcken (kann überprüft werden, kann etwas Mathematik erfordern) 3. Wichtige Header-Informationen, die für die Entschlüsselung benötigt werden, werden vor Abschluss nicht überschrieben (überprüfen Sie das zugrunde liegende Verschlüsselungsformat, möglicherweise von Anfang bis Ende). Ich denke, dass es möglich ist, aber eine sorgfältigere Einrichtung und Analyse erfordern würde.
Unten ist meine Lösung aufgeführt, die funktioniert hat. Denken Sie daran, dass ich kein Linux-Spezialist bin, daher ist dies möglicherweise nicht die beste Lösung. Konnte sowieso keinen besseren finden.
HINWEIS : Wann immer ich sage, meine ich
/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition
Booten Sie von einer Live-CD. Ich habe Ubuntu 13.10 32bit Desktop ISO verwendet.
Hängen Sie Ihre Partition ein:
sudo cryptsetup luksOpen /dev/sda5 crypt1
Kopieren Sie Ihre Quelldaten in die Zielpartition und speichern Sie die DD-PID in der PID-Variablen:
sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!
Dies wird jeden zweiten DD-Prozess mit dem USR1-Signal und dem DD-Ergebnisstatus anpingen:
while sudo kill -USR $pid; do sleep 1; done
Wenn Ihnen die 'while-Methode' oben nicht gefällt, können Sie watch verwenden. Öffne ein anderes Terminalfenster und erhalte die PID:
pgrep -l '^dd$' | awk '{ print $1 }'
Ersetzen Sie durch Ihre Prozess-ID:
watch kill -USR1 <pid>
Sie sollten die Ausgabe in Ihrem dd-Terminal alle 2 Sekunden sehen.
Wenn es fertig ist, können Sie Ihre nicht verschlüsselte Partition mounten, um zu sehen, ob es in Ordnung ist:
sudo mount /dev/sda3 /mnt
Hängen Sie danach Ihre Partition aus:
sudo umount /dev/sda3
Krypta-Partition freigeben:
sudo cryptsetup luksClose /dev/sda5
Laufen Sie gparted. Löschen Sie Ihre LUKS-Partition (sowohl erweiterte als auch logische). Ändern Sie die Größe Ihres / dev / sda3 und bewegen Sie sich nach links. Erstellen Sie eine Swap-Partition.
Hinweis: Das Verschieben von / dev / sda3 nach links kann lange dauern. Für mich dauerte es 30 Minuten auf 120 GB Partition und SSD-Laufwerk. Wenn Sie 500 GB + Festplatte haben, warten Sie einige Stunden. Möglicherweise möchten Sie Swap vor Ihrer Partition erstellen, anstatt Ihr / dev / sda3 zu verschieben.
Erstellen Sie ein neues Swap-Dateisystem auf Ihrer Swap-Partition:
sudo mkswap /dev/sda2
und irgendwo die UUID speichern.
Holen Sie sich Ihre Root-Partitions-UUID:
sudo blkid /dev/sda3
Fstab bearbeiten:
sudo nano /etc/fstab
Löschen oder kommentieren Sie Overlays und tmpfs-Zeilen aus.
Füge eine Zeile hinzu, die durch das Ergebnis blkid ersetzt:
UUID=<uuid_root> / ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0
Datei löschen:
rm /etc/crypttab
Aktualisieren Sie Ihre initramfs, um Fehler wie "cryptsetup: evms_activate ist nicht verfügbar" zu vermeiden:
sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all
Es hat bei mir funktioniert, es besteht jedoch die Möglichkeit, dass es bei Ihnen nicht funktioniert, wenn Sie Schritt für Schritt vorgehen. Bevor ich die Methode update-initramfs herausgefunden habe, habe ich den Kernel einige Male neu installiert und auch grub geändert. Es sollte jedoch kein Fall für Sie sein. Beachten Sie, dass oben genannten Anweisungen können Ihre Daten löschen, also seien Sie vorsichtig und machen sein BACKUP , VOR , dass Sie fortfahren.
Nur für den Fall, dass Sie Kernelprobleme haben (chrooted und / boot mounted):
uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic
Natürlich ersetze linux-image-3.XY-ZZ durch dein Kerneldatum von uname.
oder GRUB (außerhalb der Chroot):
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
Weitere Details: https://help.ubuntu.com/community/Boot-Repair
Viel Glück
/etc/initramfs-tools/conf.d/resume
manuell ersetzen müssen und ich würde empfehlen, den Inhalt des Dateisystems mit cp -a
oder zu kopieren rsync -a
, da dies im Allgemeinen schneller und sicherer für SSDs wäre.
dd
die Verwendung von Kopien wird die gesamte Partition kopiert, sogar Blöcke, die leer sein sollten, was zu unnötigen Schreibvorgängen auf die SSD führt (und bei manchen beeinträchtigt dies sogar die Leistung beim Schreiben in fast alle Zellen). Vor ein paar Jahren haben ich und einige andere festgestellt, dass das Kopieren mit dd
und Aktivieren von TRIM (EXT4-Discard-Option) dazu führt, dass TRIM Blöcke löscht, von denen es denkt, dass sie leer sind, und Sie nach einigen Stunden eine fehlerhafte Installation hinterlassen.
Falls es in Ordnung ist, die Verschlüsselung beizubehalten, aber die Aufforderung zur Eingabe der Passphrase auszuschalten, ist es viel einfacher, ein einfaches Passwort wie "password" festzulegen und dieses einfache Passwort in den initramfs im Klartext zu speichern. Deaktivieren Sie das LUKS-Verschlüsselungskennwort .
Fügen Sie im Wesentlichen ein Hook-Skript hinzu, das den initramfs ein "Keyscript" hinzufügt. In der Regel werden diese Skripte verwendet, um das Kennwort über Bluetooth, von einem USB-Stick usw. abzurufen. In diesem Fall müssen Sie nur das einfache Kennwort ausdrucken.