2011-06-18 // Vollverschlüsseltes System mit Ubuntu (ab 9.04 Jaunty), LVM und LUKS
Dieser Artikel beschreibt, wie ein vollverschlüsseltes System mit Hilfe von Ubuntu-Linux eingerichtet wird (Neuinstallation). Der gesamte Artikel kann dabei Schritt für Schritt nachvollzogen werden um ans Ziel zu kommen. Dennoch sollte man sich als Neuling einen ruhigen Tag Zeit nehmen, um die Thematik zu erfassen. Man muss sich bei weitem nicht alles merken, sich aber einmal eingelesen zu haben schadet nie.
Das hier beschriebene Setup wurde auf den folgenden Versionen getestet (jeweils 32bit/64bit):
- Ubuntu 9.04 Jaunty, 9.10 Karmic, 10.04 Lucid, 10.10 Maverick, 11.04 Natty, 11.10 Oneiric.
- Kubuntu 10.04 Lucid, 11.04 Natty.
- Ich hatte nicht die Zeit, jede verfügbare (K)Ubuntu-Version zu testen. Wenn deine Version in der oberen Liste nicht genannt ist, heißt dies nicht, dass es nicht funktioniert.
“Vollverschlüsselt” heißt in diesem Fall:
- Alle nicht-Boot-Daten des System werden verschlüsselt (inkl. temporärer Dateien und der Auslagerungsdatei/Swap).
- Lediglich eine kleine Boot-Partition bleibt unverschlüsselt, um darin den Kernel und den Bootmanager abzulegen. Dadurch wird die Sicherheit der Daten aber nicht beeinträchtigt.
Weitere Eckpunkte:
- Es wird nicht auf das (IMHO unflexible) Alternate-CD-Verschlüsselungs-Setup zurückgegriffen.
- Innerhalb des verschlüsselten Volumes wird eine separate
/home
-Partition angelegt, was Backups und Neuinstallationen oft erheblich erleichtert. - Um trotz verschiedener verschlüsselter Partitionen nur ein einziges Passwort beim Booten eingeben zu müssen wird auf den Logical Volume Manager (LVM) zurückgegriffen. Der LVM wird sozusagen als “verschlüsselter Container” genutzt, in welchem die eigentlichen Partitionen
/
,/home
undswap
liegen. Kein Komfortverlust und unkomplizierte Nutzung – außer der Passworteingabe beim Booten1) hat man bei der täglichen Nutzung des Systems keine Veränderungen zu erwarten. Auch bei Kernel- und/oder Distributions-Updates gibt es nichts Spezielles zu beachten. Es lohnt sich also, sich einmal durch das Setup zu beißen.
- Suspend-To-Disk (S4)/Ruhezustand funktioniert (natürlich nur, sofern es auch auf einer unverschlüsselten Installation funktionieren würde).
- Nachträgliche Änderung der Partitionierung dank Logical Volume Manager (LVM) möglich.
Für einen besseren Überblick fasse ich die Eckpunkte des Installationsablaufs vorab kurz zusammen:
- Eine Live-Session wird gebootet und mit der nötigen Software (LVM, LUKS/cryptsetup) ausgestattet.
- Das Ziellaufwerk wird in zwei Partitionen unterteilt:
- kleine Boot-Partition (~200MB sind mehr als genug)
- unformatierte Partition (das gesamte restliche Laufwerk)
- Die unformatierte Partition wird verschlüsselt und anschließend geöffnet/entsperrt.
- In der entsperrten, unformatierten Partition wird eine LVM-Gruppe angelegt, welche die root- home- und swap-Partition den eigenen Wünschen entsprechend enthält.
- Der grafische Ubuntu-Installer wird gestartet und angewiesen, die root- home- und swap-Partition innerhalb der verschlüsselten LVM-Gruppe sowie die unverschlüsselte, kleine Partition als
/boot
zu nutzen. - Nach Abschluss der Installation wird kein Reboot durchgeführt. Stattdessen wechselt man mittels
chroot
in das frisch installierte System, um es mit der nötigen Software (LVM, LUKS/cryptsetup) auszustatten (sonst könnte man nicht booten). - Jetzt folgt der Reboot. Man kann beginnen, das System wie gewohnt zu nutzen. Nur eben vollverschlüsselt.
Sofern man jetzt nur Bahnhof versteht: keine Panik. Wird schon werden. “It is no rocket science.”
Der gelungene Artikel im Linux Magazin 2005/08: Geheime Niederschrift - Festplattenverschlüsselung mit DM-Crypt und Cryptsetup-LUKS: Technik und Anwendung vermittelt trotz seines Alters viel LUKS Hintergrundwissen und beugt ggf. der ein oder anderen Frage vor, warum z.B. welche Verschlüsselungsmethode (nicht) genutzt wird. Wen dies allerdings nicht interessiert kann natürlich auch ohne diese Zusatzinformationen ein crypto-System aufsetzen.
Vorbereitungen
- Eine normale Ubuntu Installations-CD (nicht die Alternate-CD) um eine grafische Live-Session starten zu können: Download
- Vorhandene Internet-Konnektivität. Während der Live-Session müssen einige Pakete installiert werden (wofür eben eine Internetverbindung benötigt wird). Am besten hängt man das zu installierende System hinter einen Internet-Router oder Ähnliches, um sich unnötige Konfigurationsarbeit in der Live-Session zu sparen. Falls die Netzwerkkarte des Systems wider erwarten nicht out-of-the-box funktioniert kann man auch temporär eine billige Realtek-Netzwerkkarte oder vergleichbare Karten einbauen.
Es bietet sich an, die gesamte Installation erst einmal gezielt in einer virtuellen Maschine auszuprobieren, bevor man sein Produktivsystem lahm legt.
Halbautomatische Installation via Skript (empfohlen)
Ich biete ein crypt-setup-bash-Skript an, welches die Installation schneller und einfacher gestaltet. Das Skript erfragt die nötigen Angaben (Ziellaufwerk, Partitionsgrößen, Verschlüsselungsstärke etc.) vom Benutzer und arbeitet anschließend alles so ab, wie es unter “manuelle Installation” beschrieben wird. Das spart viel Tipparbeit und vermeidet Fehler. So braucht man im Vergleich zu einer Standardinstallation nur wenige Minuten länger um ein vollverschlüsseltes System zu installieren.
- Live-Session starten. Boote von der Installations-CD und starte eine Live-Session (also nicht den Installer). Der entsprechende Menüpunkt sollte “Ubuntu ausprobieren” oder ähnlich lauten (kann von Ubuntu-Version zu Version leicht variieren und hängt auch davon ab, wann ein Taste gedrückt wird). Bitte wähle gleich die Sprache aus, mit welcher du das eigentliche System auch betreiben willst. Dies verhindert Probleme hinsichtlich des Tastaturlayouts und der Festlegung des Passworts.2)
- Skript ausführen. Öffne ein Terminal und benutzte die folgenden Befehle, um das Skript herunterzuladen und auszuführen (Kopieren und Einfügen empfohlen):
wget "http://blog.andreas-haerter.com/_export/code/2011/06/18/ubuntu-full-disk-encryption-lvm-luks.sh?codeblock=1" -O "/tmp/ubuntu-full-disk-encryption-lvm-luks.sh" chmod a+rx "/tmp/ubuntu-full-disk-encryption-lvm-luks.sh" sudo "/tmp/ubuntu-full-disk-encryption-lvm-luks.sh"
Manuelle Installation
Im Folgenden ist sdX
durch das eigene Ziel-Laufwerk (z.B. sda
oder hda
) zu ersetzen bzw. an das eigene System anzupassen. Achte darauf, sofern du Kommandos via “Kopieren & Einfügen” übernimmst.
Live-Session starten
Boote von der Installations-CD und starte eine Live-Session (also nicht den Installer). Der entsprechende Menüpunkt sollte “Ubuntu ausprobieren” oder ähnlich lauten (kann von Ubuntu-Version zu Version leicht variieren und hängt auch davon ab, wann ein Taste gedrückt wird). Bitte wähle gleich die Sprache aus, mit welcher du das eigentliche System auch betreiben willst. Dies verhindert Probleme hinsichtlich des Tastaturlayouts und der Festlegung des Passworts.3)
Installation nötiger Pakete
Da die Verschlüsselung von einer Live-Session aus eingerichtet wird und diese natürlich nur das Nötigste mitbringt, müssen für die laufende Session noch einige für die Verschlüsselung notwendigen Pakete und deren Abhängigkeiten via Terminal installiert werden (lvm2
und cryptsetup
):
sudo apt-get install lvm2 cryptsetup
Aus verständlichen Gründen kann nicht einfach neu gestartet werden (→ Live-Session, die Änderungen wären nach dem Booten wieder verschwunden). Daher ist ein benötigtes Kernel-Modul, welches die gerade installierten Pakete bereitstellen, manuell via Terminal zu laden:
sudo modprobe dm-crypt
Die gestartete Live-Session bringt nun alle Voraussetzungen mit, um das vollverschlüsselte System zu installieren.
Erstellen der benötigten Partitionen
Nun wird die Festplatte partitioniert. Dies erfolgt mit Hilfe von GParted.4) Selbiges wird einfach via Terminal (→ sudo gparted
) oder via “System→Systemverwaltung→Gparted” gestartet.
Folgende Partitionen sind anzulegen:
dev/sdX1
, ext3, 200MB am Anfang des Laufwerks
Als Bezeichnung können max. 17 Zeichen gewählt werden, ich habe mich für “boot (no crypt)” entschieden.dev/sdX2
, unformatiert, mindestens 8GB (darin muss die root- und home- sowie swap-Partition Platz finden).
Als Bezeichnung können max. 17 Zeichen gewählt werden, ich habe mich für “sys (lvm,crypt)” entschieden. Im Normallfall sollte die Partition einfach den gesamten Rest des Laufwerks umfassen (im Folgenden wurde genau dies gemacht).
Nachdem mal alle Aktionen durchgeführt hat (→ grüner Haken anklicken) kann Gparted geschlossen werden.
Vorbereitung des Laufwerks
Falls das Ziellaufwerk bisher unverschlüsselte Daten gespeichert hat, kann man die vorhandenen Partitionen mit Zufallszahlen überschreiben, um auch jegliche (theoretische!) Datenrekonstruktion einzelner Dateifragmente sicher zu verhindern:
sudo shred -vn 1 /dev/sdX1 sudo shred -vn 1 /dev/sdX2
Der Vorgang ist zudem ein guter Belastungs- bzw. Zuverlässigkeitstest der Festplatte, zieht sich aber ggf. mehrere Stunden oder sogar Tage hin (je nach Laufwerksgröße und CPU).
Sofern das Laufwerk bereits verschlüsselt war (oder man kein absoluter Sicherheitsfanatiker ist) kann dieser Punkt übersprungen werden. Bei der Nutzung von SSDs sollte ebenfalls von diesem Vorgang absehen werden.
Mittels des Befehls cryptsetup
bzw. dessen Unterprogramm luksFormat
bereitet man die Zielpartition sdX2
auf den Einsatz als Crypto-Laufwerk vor. Nun ist auch die Entscheidung zu fällen, welchen Verschlüsselungsalgorithmus, Chaining Mode und Initialisierungsvektor man verwenden will. Empfehlenswert ist hier
aes-xts-plain
, welches u.a. auch gegen das sog. “Watermarking” und andere bekannte Angriffe schützt und mittels AES-256 die Daten sicher verschlüsselt:
sudo cryptsetup --cipher aes-xts-plain --key-size 512 --verify-passphrase luksFormat /dev/sdX2 [Passwort festlegen. Achtung: es werden keine * oder Ähnliches angezeigt]
Wähle ein sicheres, langes Kennwort bzw. einen Kennsatz. Ansonsten ist auch die beste Verschlüsselung praktisch nutzlos.
Damit der Installer das Crypto-Laufwerk ansprechen kann, muss es nach dem Formatieren geöffnet und mit einem eigenen Namen versehen werden. Anschließend ist es via /dev/mapper/<gewählter name>
ansprechbar. Im Folgenden wird beispielhaft der Name lvm_crypt
5) verwendet, der natürlich ohne Probleme übernommen werden kann:
sudo cryptsetup luksOpen /dev/sdX2 lvm_crypt
XTS unterstützt 128 oder 256 Bit lange Schlüssel. Die Keysize von 512 heißt in diesem Fall, dass sowohl AES als auch XTS die maximale Schlüssellänge von 256 Bit verwenden. Für leistungsschwächere Systeme käme auch --key-size 256
in Betracht, was einer 128 Bit Verschlüsselung entspricht.
XTS wird erst seit Ubuntu 8.04 (Hardy Heron) unterstützt und ist sicherer als CBC. aes-xts-plain
ist daher dem oft verwendeten aes-cbc-essiv:sha256
vorzuziehen, wenngleich auch Letzteres als sicher anzusehen ist und – sofern ältere Kernel zum einsatz kommen müssen – sich ein Einsatz nicht vermeiden lässt. aes-cbc-plain
ist als kritisch zu betrachten, ESSIV statt PLAIN als Initialisierungsvektor ist in Kombination CBC wirklich jedem zu empfehlen.
Der Logical Volume Manager (LVM) wird hier nicht genutzt, um mehrere physische Laufwerke zu verbinden. Er wird vornehmlich eingesetzt um zu verhindern, dass mehrere Keys verwaltet bzw. mehrere Passwörter beim Booten eingeben werden müssen. Da /home
eine separate Partition erhält und auch swap
verschlüsselt werden soll, müsste ansonsten während des Boot-Vorgangs für jede dieser Partitionen ein Passwort eingegeben werden. Dieses Dilemma wird dadurch umgangen, dass ein LVM-Volume inkl. LVM-Volume-Group in der gerade mittels cryptsetup
verschlüsselten und geöffneten Partiton erstellt wird. Das LVM-Volume wird über den Befehl pvcreate
initialisiert, innerhalb des LVM-Volumes wird dann eine LVM-Volume-Group mit dem Namen ubuntu
über den Befehl vgcreate
angelegt:
sudo pvcreate /dev/mapper/lvm_crypt sudo vgcreate ubuntu /dev/mapper/lvm_crypt
Im LVM-Volume bzw. der LVM-Volume-Group ubuntu
können jetzt die benötigten Partitionen erstellt werden. Swap sollte dabei die ~1,3fache Größe des vorhanden Arbeitsspeichers haben (zumindest sofern man auf der ganz sicheren Seite hinsichtlich Supsend-to-disk (S4)/Ruhezustand sein will). Falls Speicherplatz (z.B. beim Einsatz von SSDs) knapp ist, kann natürlich auch weniger genommen werden. Wie bei der Größe der root-Partition gehen die Meinungen über sinnvolle Werte allerdings auseinander. Daher sind die folgenden Werte exemplarisch zu verstehen, können aber ohne Probleme übernommen werden. Im für diesen Artikel verwendeten Rechner waren 4GB Arbeitsspeichers verbaut (→ mal 1,3 = 5200MB swap) und es wurde eine 25GB große root-Partition verwendet:
sudo lvcreate -L 5200M -n swap ubuntu sudo lvcreate -L 25000M -n root ubuntu sudo lvcreate -l 100%FREE -n home ubuntu
Weitere Partitionen können nach dem gleichen Schema angelegt werden. Falls die Syntax nicht ganz klar sein sollte hilft man lvcreate
.
Um Problemen mit einigen Versionen des grafischen Ubuntu-Installers ubiquity
vorzubeugen, sollten die angelegten Partitionen unbedingt einmal formatiert werden (in der eigentlichen, grafischen Installation werden die Partitionen nochmals formatiert und es können – sofern gewünscht – andere Dateisysteme als EXT4 ausgewählt werden):
sudo mkswap /dev/mapper/ubuntu-swap sudo mkfs.ext4 /dev/mapper/ubuntu-root sudo mkfs.ext4 /dev/mapper/ubuntu-home
Damit wären die Vorbereitungen hinsichtlich des verschlüsselten Laufwerks abgeschlossen. Man verfügt über alle nötigen Partitionen und es kann mit der eigentlichen Installation des Systems begonnen werden.
Installation des eigentlichen Systems
Nun startet man den grafischen Ubuntu Installationsassistenten ubiquity
via Doppelklick auf die “Ubuntu <version> installieren” Verknüpfung auf dem Desktop:
Nach Auswahl von Sprache, Zeitzone etc. muss man im Dialog “Die Festplatte vorbereiten” (bzw. ähnliche Bezeichnung, kann von Ubuntu-Version zu Version leicht variieren) die manuelle Partitionierung wählen. Anschließend werden die vorhin angelegten Partitionen entsprechend zugewiesen:6)
/dev/sdX1
- Boot-Partition
- Dateisystem (“benutzen als”): ext3 journaling file system (kein ext4 um Kompatibilitätsprobleme zu vermeiden)
- Partition formatieren: ja
- Einhängepunkt (mount point):
/boot
/dev/mapper/ubuntu-root
- Root-Partition
- Dateisystem (“benutzen als”): ext4 journaling file system (oder eben das Dateisystem der Wahl)
- Partition formatieren: ja
- Einhängepunkt (mount point):
/
/dev/mapper/ubuntu-home
- Home-Partition
- Dateisystem (“benutzen als”): ext4 journaling file system (oder eben das Dateisystem der Wahl)
- Partition formatieren: ja
- Einhängepunkt (mount point):
/home
Nun folgt man einfach den weiteren Anweisungen des Installationsassistenten um das System zu installieren. Dabei kann man ohne schlechtes Gewissen die automatische Benutzeranmeldung aktivieren, um zusätzlich zum Verschlüsselungspasswort in Single-User-Umgebungen nicht noch das Benutzerkennwort beim Starten des Rechner eingeben zu müssen. Man darf den Rechner nach erfolgter Installation allerdings NICHT neu starten. Davor sind noch ein paar Nacharbeiten zu erledigen.
Wenn jetzt neu gestartet würde, könnte man das System nicht hochfahren. Es verfügt nämlich noch nicht über die nötige Software um das verschlüsselte Laufwerk ansprechen zu können und den Benutzer nach dem Passwort zum entschlüsseln zu fragen. Daher wechselt man mittels chroot
in das gerade auf die Festplatte kopierte System und installiert die benötigten Pakete lvm2
und cryptsetup
(Achtung: alle nachfolgenden Befehle müssen im selben Terminalfenster ausgeführt werden. Außerdem nicht vergessen sdX1
durch die eigene Partition, z.B. sda1
zu ersetzen):
sudo mount /dev/mapper/ubuntu-root /mnt sudo mount /dev/sdX1 /mnt/boot sudo mount -o bind /dev /mnt/dev sudo mount -t proc proc /mnt/proc sudo mount -t sysfs sys /mnt/sys sudo cp /etc/resolv.conf /mnt/etc/resolv.conf sudo chroot /mnt /bin/bash apt-get install cryptsetup lvm2
openpty()
-, /etc/crypttab
, und update-initramfs
-Warnungen (“Schreiben des Protokolls nicht möglich…”, “cryptsetup: WARNING: invalid line in /etc/crypttab”, “Cannot find /lib/modules/[…]-generic”) können ignoriert werden.
Nun ist man fast am Ziel. Ubuntu wurde in eine LVM-Group auf einem Crypto-Laufwerk installiert und verfügt über die nötige Software zum Entschlüsseln der Daten. Damit das Crypto-Laufwerk aber direkt beim booten automatisch zur Entschlüsselung angefordert wird, muss noch die /etc/crypttab
um einen entsprechenden UUID-Eintrag der /dev/sdX2
-Partition ergänzt werden. Der folgende Befehl ermittelt die UUID und schreibt die benötigte Zeile in die
/etc/crypttab
(nicht vergessen sdX2
durch die eigene Partition, z.B. sda2
zu ersetzen):
echo "lvm_crypt UUID=$(ls -la /dev/disk/by-uuid | grep $(basename /dev/sdX2) | cut -d ' ' -f 9) none luks" >> /etc/crypttab
Die Änderungen an der /etc/crypttab
müssen jetzt noch übernommen werden (“cryptsetup: WARNING: invalid line in /etc/crypttab”- und “Cannot find /lib/modules/[…]-generic”-Warnungen können ignoriert werden):
update-initramfs -u -k all
Fertig . Beim Bootvorgang sollte dann nach dem Passwort gefragt werden und man kann auf seinem sicher verschlüsselten System wie gewohnt arbeiten. Die chroot-Umgebung kann also geschlossen und das System neu gestartet werden:
exit sudo reboot
Tipps und Tricks
- Passwörter ändern/hinzufügen/entfernen: LUKS kann bis zu acht verschiedene Passwörter gleichzeitig verwalten. Jedes Passwort wird ein einem sogenannten Slot (0-7) gespeichert. Die aktuell belegten Slots der verschlüsselten Partition können über die
luksDump
Aktion ausgegeben werden (nicht vergessensdX2
durch die eigene Partition, z.B.sda2
zu ersetzen):sudo cryptsetup luksDump /dev/sdX2 [...es folgt eine Beispielausgabe...] Key Slot 0: ENABLED Iterations: xxxxxx Salt: [...] [...] Key material offset: 8 AF stripes: 4000 Key Slot 1: DISABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED
Um ein neues Passwort hinzuzufügen wird
luksAddKey
verwendet:sudo cryptsetup luksAddKey /dev/sdX2
Um ein bestehendes Passwort zu entfernen wird
luksRemoveKey
verwendet:sudo cryptsetup luksRemoveKey /dev/sdX2
- Zugriff auf ein verschlüsseltes System via Live-CD: Im Notfall kann es nützlich sein, auf das Dateisystem eines nach dieser Anleitung installierten Systems via Live-CD zugreifen zu können (man benötigt natürlich das Passwort). Starte von der Live-CD und installiere die nötige Software:
sudo apt-get install lvm2 cryptsetup sudo modprobe dm-crypt
Öffnen/entschlüsseln des Laufwerks (ersetze ggf.
sda2
durch dein eigenes Ziellaufwerk):sudo cryptsetup luksOpen /dev/sda2 lvm
Aktivieren des LVM um
/dev/ubuntu/home
,/dev/ubuntu/root
und/dev/ubuntu/swap
zu erhalten:sudo pvscan sudo vgscan sudo lvscan sudo vgchange -a y
Einhängen der root- sowie der home-Partition:
sudo mkdir /mnt/root sudo mount /dev/ubuntu/root /mnt/root sudo mkdir /mnt/home sudo mount /dev/ubuntu/home /mnt/home
Auf die home-Partition kann nun über
/mnt/home
, auf die root-Partition über/mnt/root
zugegriffen werden. Sofern es Probleme mit den Berechtigungen gibt kann man z.B. einen Dateimanager mit root-Rechten starten, um Daten zu kopieren etc.:gksudo nautilus
.
Weblinks
System verschlüsseln
Weiterführend
Abschließender Hinweis: Ich habe diesen Artikel ursprünglich unter http://readm3.org/de/os/ubuntu/full-disk-encryption-lvm-luks
veröffentlicht, ihn aber aus organisatorischen Gründen in mein Blog verlegt.
sudo apt-get install gparted
schnell nachinstalliert werden.Comments
@Oliver Lau: Mhh… ich denke mal, dass Grub mit TC-Bootloadern als chainloader umgehen kann. Folglich wäre es wohl eine Möglichkeit, den TC-Bootloader für Windows per TC Rescue-CD wiederherzustellen, ihn per dd
über eine Ubuntu Live-CD in das unverschlüsselte /boot
wegzusichern und anschließend Grub wiederherzustellen sowie den gesicherten TC-Bootloader im GRUB als chainloader einzufügen. Bin mir aber nicht wirklich sicher, reine Mutmaßung.
Edit: Ok, hat mir jetzt doch keine Ruhe gelassen. Google brachte mir einen nützlichen Link, der den oben beschrieben Ansatz nachvollzieht. Folglich kannst du das ja mal probieren (Achtung, nicht getestet – Rückmeldung wäre nützlich, falls jemand anderes ein ähnliches Problem hat).
Selbst genutzt habe ich TrueCrypt- und LUKS-Vollverschlüsselung auf der selben HDD noch nie. Ich hab' mir in meiner (kurzen) Dual-Boot-Zeit solches Gefrickel immer gespart, in dem ich einfach zwei HDDs mit je dem richtigen Bootloader genutzt habe (durch abklemmen der anderen HDD während einer Installation. Also eine HDD für Windows, eine für Linux). Anschließend die Linux-HDD als erste Boot-Platte im BIOS eingestellt. Sollte man dann mal Windows brauchen (“Danke”, Elster Formular…) konnte ich die HDD schnell via BIOS-Schnellboot-Menü – bei den meisten Boards F12 – booten. Habe aber mittlerweile nur noch eine VM am laufen (nochmal “danke”, Elster Formular…)
Lieber Gruß,
Andreas

Hiho,
habe das Installationsskript ausgeführt und alle Anweisungen und Hinweise befolgt. Die Installation wurde natürlich auch erfolgreich abgeschlossen. Nach der Fertigstellung startet auch der Bootloader. Nur erscheint nur ein Blackscreen mit blinkendem Cursor wenn ich Ubuntu starten will. Komischerweise kann ich im Wiederherstellungsmodus die verschlüsselte Partition mounten und mich ganz normal einloggen … Allerdings wäre es natürlich cool wenn das auch auf den normalen weg gehen würde ;)
Irgendeine Idee?
grüße

Hallo,
endlich mal eine Anleitung die auch wirklich funktioniert. Ich habe mir damit einen verschlüsselten USB-Stick erstellt. Es gibt nur noch einen winzigen Schönheitsfehler:
Wenn ich nach dem booten das Passwort eingeben soll, steht unter dem Passwortfeld “cryptsetup lvm device name /dev/disk/by-uuid/<MEINE_UUID> does not begin with /dev/mapper”
Es funktioniert zwar trotzdem alles, aber es wäre schön wenn ich diese Fehlermeldung irgendwie wegbekomme. Ich bin zwar kein Linux Anfänger, aber auch kein Profi und die Lösung des Problem übersteigt meine Fähigkeiten :/
Hab viel gegoogelt und rausgefunden das der Fehler wohl im cryptsetup steckt und in Version 2:1.1.1-1 behoben wurde: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576488
habe auch diese Lösung gefunden: https://bugs.launchpad.net/ubuntu/%2Bsource/cryptsetup/%2Bbug/577239
und noch das hier: http://us.generation-nt.com/answer/bug-554506-ugly-patch-which-should-fix-dm-crypt-lvm-setups-help-200931431.html
da ich wie gesagt kein Profi bin wollte ich mal Fragen ob es evtl. möglich wäre eine Lösung für mein Problem in diese Anleitung einzuarbeiten? Das Problem betrifft ja auch noch viele andere.. ich will da nicht selbst dran rumfummeln da das wahrscheinlich dazu führen würde das ich meinen Stick kaputt spiele..
Lösungsmöglichkeiten:
- cryptsetup 2:1.1.1-1
- /usr/share/initramfs-tools/hooks/cryptroot patchen
- evtl mit einem Link ????
Ansonsten ist diese Anleitung wirklich das mit Abstand beste was ich bisher gefunden habe! Für alle interessierten hier mal ne Liste mit Sachen die nicht funktioniert haben:
- Die ubuntu alternate cd brauchte zig Stunden um meinen Stick zu formatieren weil der dd Befehl mit einem viel zu kleinen bs Parameter arbeitet, und am ende funktioniert dieser Murks nicht mal.. ich erhalte den gleichen Fehler aber das System bootet nicht es erscheint eine Shell
- Hab es auch mit Debian versucht via lh_config und lh_build. Dort wird man ua. genötigt ein 20 stelliges Passwort zu verwenden. Es funktioniert auch nur für lenny nicht mit squeeze weil dort bestimmte Pakete für die Verschlüsselung nicht vorhanden sind. Am ende funktioniert dieses zusammengefrickelte Image aber nicht.. es bleibt bei der Hardware Erkennung hängen
- Hab es dann noch über das Debian live-build web-frontend versucht, hab dort nur die encryption Einstellung auf aes256 gestellt, das Ergebnis war “Error: could not allocate memory”, auch beim zweiten Versuch das selbe
Deshalb bin ich sehr froh endlich mal eine Lösung gefunden zu haben die nicht wie ein ganz tiefer Griff ins Klo ist :) Nur der kleine Schönheitsfehler muss noch irgendwie weg…
mfg

Sollte parallel Windows installiert und mit TrueCrypt verschlüsselt worden sein, wird GRUB in die Boot-Partition /dev/sdX1 anstelle des MBRs installiert. Das wird im Installations-Punkt 7 unter “Erweitert” eingestellt. Dort wird anstelle von hd0 die Boot-Partition ausgewählt. GRUB erscheint dann, sobald Esc im Truecrypt-Bootloader gedrückt wird.
Quelle: http://wiki.ubuntuusers.de/system_verschl%C3%BCsseln#Installation
@Croises: Mhh… funktioniert denn alles, wenn du Ubuntu ganz normal installierst? Vielleicht ist es ja ein Fehler, der unabhängig von der Verschlüsselung auftritt.
@madmax: Warum stören dich die Warnings so sehr? Das ist doch ein marginaler kosmetischer Fehler und sich mit einem cryptsetup-Update in zukünftigen Versionen wohl von alleine verabschiedet. Daher habe ich mich ehrlich gesagt noch nicht im Ansatz damit beschäftigt, diese Meldung los zu werden (und kann dir daher gerade auch keine Lösung dafür anbieten, sorry). Unabhänig davon: danke für das Lob (war auch viel Arbeit, daher ist es schön, wenn es positives Feedback gibt ).

@Andreas Haerter: Seltsamerweise ist der Fehler plötzlich verschwunden, ohne das ich irgendwas an meinem System geändert habe..
Ich habe mir meinen USB-Stick am Freitag erstellt (Ubuntu 10.04), hatte dann 3 Tage lang diese Fehlermeldung, und am Dienstag Abend war Sie plötzlich weg.. jetzt steht unter dem Passwortfeld: “Unlocking the disk /dev/disk/by-uuid/<MEINE_UUID> (lvm_crypt)”
Es ist mir total rätselhaft wie sich das Problem von selbst lösen konnte? Aber egal, es funzt nun perfekt :)
Das Lob für diese Anleitung hast Du Dir verdient, die Lösung ist wirklich GENIAL! Hab viele andere Anleitungen ausprobiert um einen verschlüsselten Stick zu erhalten, aber nichts von dem gefrickel hat funktioniert, und ich habe etliche Stunden wenn nicht gar Tage Zeit verschwendet.
Also vielen vielen Dank dafür, ich könnte vor Freude in die Luft springen weil jetzt niemand außer mir an die Daten ran kommt *fett grins*

Hallo,
erstmal vielen Dank für den tollen Artikel. Ist bisher das Beste, was ich in dieser Richtung gelesen habe.
Allerdings habe ich ein kleines Problem. Ich habe eine SSD auf der ich nur das System haben will, und eine HDD fürs home-Verzeichnis. Durch die Verwendung von LVM geht mir die Trennung der physikalsichen Platten allerdings flöten und somit der Sinn der SSD verloren.
Gibt es eine Möglichkeit, das zu umgehen?
Vielen Dank schonmal und schöne Grüße!

Sodele,
hab das ganze jetzt mal in einer VM getetestet, wobei ich das verschlüsselte home-Laufwerk einfach aus der Volume-Group draußen gelassen habe. Müsste dann halt beim Booten 2 Passwörter eingeben, aber damit kann ich leben. Allerdings war mein VM-Test nur insofern erfolgreich, dass ich auf einen Fehler gestoßen bin.
Nach dem ich alle Schritte befolgt habe lande ich beim Neustart immer in einer BusyBox built-in-Shell.
Hat vielleicht jemand eine Vorstellung, woran das liegen könnte?
Habe Ubuntu 11.04 und VirtualBox benutzt.
Vielen Dank schonmal!

Ich bin zwischenzeitlich den nützlichen Link gefolgt und habe die Installationsanleitungen befolgt für die Verschlüsselung mit TrueCrypt und Luks. Als ich jedoch die Dateien stage1 und stage2 entsprechend installieren und die Datei /mnt/boot/grub/menu.lst gemäß der Anleitung editieren wollte im Grub 1.99~rc1-13ubuntu3, stellte ich fest, dass die Dateien gar nicht mehr benutzt werden. In meinem Grub heißt die Konfigurationsdatei jetzt grub.cfg, die nicht gemäß der Anleitung mehr angepasst werden kann. Ich habe daher etwas am Grub gebastelt und mit der TrueCrypt Rescue Disk experimentiert. Beide Betriebssysteme habe ich dabei sicher verschlüsselt bekommen.
Ich habe daher etwas am Grub gebastelt und mit der TrueCrypt Rescue Disk experimentiert. Beide Betriebssysteme habe ich dabei sicher verschlüsselt bekommen.
Kannst du ein paar Details posten (hilft ggf. Anderen mit ähnlichen Anforderungen)?
@Micha L.:
Nach dem ich alle Schritte befolgt habe lande ich beim Neustart immer in einer BusyBox built-in-Shell.
Mhh… Einträge in /etc/crypttab
korrekt?
BTW: Genau aus solchen Gründen (Crypto vs. TRIM-Support sowie SSD-Preis und -Speicherplatz machen aktuell noch keine Freunde) setze ich derzeit statt auf eine SSD auf die Western Digital WD3000HLFS VelociRaptor 300GB – mit der HDD kommt bezahlbares SSD-Feeling auf, ohne die ganzen “TRIM vs. Crypto”- und “Zu wenig Speicherplatz”-Probleme (gilt auch für TrueCrypt unter Windows).

Mhh… Einträge in /etc/crypttab korrekt?
Nein. Genau das war das Problem. Hatte die VGs anders genannt, als Du in der Anleitung, aber die Zeile einfach per copy&paste übernommen. Jetzt läufts, vielen Dank nochmal für die super Anleitung!

@Andreas Haerter: Hallo Andreas, ich habe die Details aufgrund des Volumens zwischenzeitlich in einen eigenen Blog für jeden Interessierten zusammengefasst. Zu finden unter:
für jeden, der sein System und seine Daten vor unberechtigten Zugriff schützen möchte.

Hallo mal wieder. Neue Möglichkeiten - neue Begehrlichkeiten… Wie müsste ich denn die Anleitung umstricken, wenn ich die Möglichkeit haben will, zu einem späteren Zeitpunkt neue Festplatten zum System hinzuzufügen und diese mittels LVM nahtlos zu integrieren, also beispielsweise um die /home-Partition zu vergrößern. Nach meinem Verständnis ist diese Möglichkeit im o.g. Szenario nicht vorgesehen.
Geht das überhaupt oder bin ich hier komplett auf dem Holzweg?
Vielen Dank und schöne Grüße
Micha

hallo,
auch ich möchte mich bedanke für deine arbeit - das skript ist echt angenehm, besonders für mich als anfänger.
leider hänge ich aber irgendwie mittendrin fest.
folgende fehlermeldung kommt:
Could not create logical volume 'root' in volume group 'ubuntu'! Please reboot and try it again!
die einstellungen bis dahin waren folgende:
- /dev/sda
- 200MB boot
- 319800MB rest
- 5200MB swap (hoffe das stimmt, habe einen lenovo w500 https://www1.ethz.ch/neptun/hardware/modelsPC/h08_specs_large_EN)
- danach alles nach skript, bis zur fehlermeldung.
was mache ich falsch?
bin sehr dankbar über einen tipp
herzlichen dank brisi

Hallo,
ich hab mir heute nach der hier angegebenen Anleitung ein verschlüsseltes System (ubuntu 11.04) auf meinem Notebook aufgesetzt. Erst einmal vielen Dank für die schöne Anleitung.
Es haben sich aber ein paar kleine Probleme ergeben. Zunächst einmal erscheint beim booten die Meldung
Fehler: no video mode activated
Kurz darauf dann die Meldung
cryptsetup: evms_activate is not available
und anschließend die Aufforderung zur Eingabe des Passworts. Nach der Eingabe startet das System, allerdings lassen sich die Funktionstasten des Notebooks (Bildschirm heller/dunkler, Lautstärke rauf/runter/stumm usw.) nicht verwenden. Mit einer Ubuntu Installation ohne Verschlüsselung funktionieren diese allerdings Problemlos.
Es wäre super, wenn mir jemand mit den besagten Fehlermeldungen und vor allem den nicht funktionierenden Tasten weiterhelfen könnte.
Vielen Dank im Voraus
@Yo: Mhhh… riecht nach 'nem Bug. Bringt es was, wenn du GRUB neu installierst? Also ganz normal booten (du sagst ja, dass das System an sich funktioniert), Terminal auf und:
sudo dpkg-reconfigure grub-pc sudo dpkg-reconfigure linux-image-2.6.VERSION-generic sudo update-grub sudo grub-install /dev/sdX
sdx
und VERSION
natürlich mit eigenen Werten ersetzen.

Es funktioniert bestens auf meinem Multiboot-System (Partition 1: Win7 (TrueCrypt verschlüsselt), Partition 2: OpenBSD 4.9, Partition 3 + 4 sind Ergebnisse dieser Anleitung: Ubuntu 11.04 nun auch verschlüsselt.
Den Grub2 BootLoader muss man natürlich während der Ubuntu Installation (hier: “Installation des eigentlichen Systems”) auf die jeweilige Partition (in meinem Fall /dev/sda3) einstellen. Ansonsten funktioniert der Win7 TrueCrypt BootLoader nicht mehr.
Hallo, vielen Dank für die tolle Anleitung und das super Script. Leider klappt das bei mir nicht. Die Installation läuft genau nach Plan. Anschließend lädt ubuntu allerdings nicht. Das System startet dann nur den Netzwerkadapter und scheint die Festplatte überhaupt nicht zu finden. Ich nutze die Version 11.20 Beta 2, auch unter 11.04 hatte ich das gleiche Problem. Bei der unverschlüsselten Installation funktioniert alles normal. Ich nutze ein Lenovo S205 M632LGE mit AMD E-350
Hat jemand eine Idee woran das liegen kann? Danke und viele Grüße
Viele Grüße
Hallo Andreas,
vielen Dank für die sehr gute Anleitung. Sie hat bei mir für Standalone Ubuntu 11.10 64bit sehr gut funktioniert.
Wenn man allerdings mehrere Systeme (z.B. Ubuntu und Win7 über Grub einbindet, sollte man schon wissen was man tut
Beste Grüße Marc

I tried this with Linux Mint and the whole installation process went very well. No errors, all steps passed. But after reboot, my Thinkpad T520 does not recoginze my HDD (an older SATA Samsung 320GB) as bootable.
Where could be the problem?

Ups… Ist ja die dt. Seite hier… :) Ok, nochmal!
Ich habe die Anleitung mit Linux Mint (Ubuntu Derivat) probiert und es klappt auch alles 1a. Mit der Ausnahme, daß nach dem Reboot meine Platte (eine ein wenig ältere Samsung 320GB SATA) anscheinend keinerlei Bootloader erkannt wird.
Hat jemand nen Tipp für mich?

@privacyfirst: Habe offensichtlich genau das selbe Problem. Hast Du ne Lösung gefunden?

Hmmm… Nun hab ich ins chroot noch zusätzlich
grub-install /dev/sda update-grub
mit aufgenommen. Wird auch alles 1a ausgeführt (sehe auch, daß Grub die Partitionen findet…). Aber dennoch bootet der Laptop partout nicht… :(
[…] Seite von Andreas Härter […]

Hallo Andreas, erst einmal vielen Dank für die feine Anleitung. Ich habe versucht die manuelle Variante mit Linux Mint 13 zu verwenden. Meine boot liegt auf sda2 und das LVM auf sda3. Während des Ablaufs Deiner manuellen Vorlage habe zwei Meldungen erhalten:
mint@mint ~ $ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf cp: cannot stat `/etc/resolv.conf': No such file or directory
und ganz an Ende:
mint / # update-initramfs -u -k all update-initramfs: Generating /boot/initrd.img-3.2.0-23-generic Warning: No support for locale: de_DE.utf8
alles andere lief fehlerlos durch.
In meinen Booteintragen steht /dev/sda2, ich habe Kernelversionen von 3.2.0. 19 bis 23 Wenn ich versuche von einer “19” zu booten kommt: cryptsetup evms_activate is not available, und wenn ich versuche von der 3.2.0.23 zu booten fragt das System nach dem Passwort von sda5 auf welchem ein Ubu 12.04 installiert ist.
Für einen Tipp wäre ich sehr dankbar.
Besten Dank
Andreas

@Andreas: Eintrag in der crypttab manuel hinzugefügt mit der UUID von sda3, den automatischen Eintrag entfernt.
Den Eintrag in dieser Form vor genommen: lvm_crypt UUID=1235-1234-1234-1234-1234567890 none luks
Neustart und dann hat alles funktioniert
Gruss Andreas

Hallo Andreas, wie kann ich die crypttab manuell ändern? Mit geedit zeigt er mir nur eine lehre Datei und mit gksudo öffnet er die Datei nicht unter Mint 13. Gibt es da für cinnamon einen anderen Befehl?
Vielen Dank! Lars

Starting the installer 'ubiquity'…
NOTE: Do NOT close this window/terminal!
ubiquity with GNOME UI exited with an error… maybe Kubuntu instead
of Ubuntu is running here. Let's try to start ubiquity with KDE interface.
einfach den ubiquity manuell starten???
Ubuntu 12.04

@Lars: Probier mal, die Datei mit dem Nano-Editor zu öffnen:
nano /etc/crypttab
hat bei mir einwandfrei geklappt.. Die UUIDs kannst du mit
ls -la /dev/disk/by-uuid
anzeigen lassen. Danach nicht (wie ich^^) vergessen, die Änderungen mit
update-initramfs -u -k all
zu übernehmen.
Danke Andreas, für diese 1-A-Anleitung! Funktioniert bei Mint 13 bis auf das cp (hab ich in
cp -r /etc/resolvconf /mnt/etc/resolvconf
geändert, dann kam kein “omitting directory”-Fehler mehr) ohne Probleme und es war auch für mich als Linuxlaie relativ klar verständlich erklärt, kein simples Copy-Paste-HowTo..
Gruß
Christian

Ich habe mein Problem mittlerweile lösen können und nun läuft Linuxmint 13 auch sauber auf meinen Lenovo Thinkpad T520.
Die Lösung war denkbar einfach:
1. msdos anstelle gpt verwenden, d.h. 1.1 alt: parted –script ${TARGET} mklabel gpt 1.2 neu: parted –script ${TARGET} mklabel msdos
2. /boot als boot markieren: 2.1 parted –script ${TARGET} set 1 boot
Danach hat dann alles 1a geklappt.
Enkidu
Ich habe das jetzt zweimal gemacht. 1x Xubuntu 12.04 und 1x Ubuntu 12.04. Beide Male musste ich beim Eintrag in die /etc/crypttab “cut -d ' ' -f 10)” eingeben, bei -f 9 kommt eine Uhrzeit.

@Robert:
3. echo “lvm_crypt UUID=`blkid /dev/sda2 | sed -e 's/.*UUID=”; s/“.*'` none luks” » /etc/crypttab
… das hatte ich noch bei meinem Kommentar #33 vergessen. :)

Ubuntu 10.04 habe ich mehrmals erfolgreich nach dieser Anleitung installiert, wunderbar! Doch jetzt schlägt wieder der LINUX-Fluch zu: Nach einem (nur viel zu schnell fälligen) Upgrade geht überhaupt nichts mehr!
Andere habe bereits ihr 10.04 LTS auf eine neuere Version upgegradet. Wie man liest, mit der Folge, dass das System nicht mehr bootet! Mit graut vor dem Supportende von 10.04 im wenigen Monaten. Dann wird es AUS sein mit der Vollverschlüsselung.
Seit Wochen versuche ich verzweifelt, ein UBUNTU 12.04 nach dieser Anleitung auf einem Netbook zu installieren (neu, kein Upgrade), und schaffe es einfach nicht. Die Installation an sich klappt, aber das System bootet nicht, und ist damit unbrauchbar.
Was nicht funktioniert, ist
echo "lvm_akoya UUID=$(ls -la /dev/disk/by-uuid | grep $(basename /dev/sdc2) | cut -d ' ' -f 9) none luks" >> /etc/crypttab
Dort kommt nur die Uhrzeit an, nicht die UUID, wie bereits von Robert bemerkt. -f10 anstelle von -f9 bringt ebenfalls nichts.
cp -r /etc/resolvconf /mnt/etc/resolvconf
hilft auch nicht weiter.
Dann habe ich, wie von Chris hier empfohlen, mit
ls -la /dev/disk/by-uuid
die UUID ermittelt und wollte sie manuell in die /etc/crypttab eintragen. Leider lässt sich die Datei nicht speichern, weil mir die verfluchte Rechteverwaltung das (wieder einmal) verbietet. Das sonst in solchen Fällen bewährte
gksudo nautilus
funktioniert bei diesem Live-System nicht!
Also habe ich auf einer anderen Maschine die Änderungen an der /etc/crypttab vorgenommen, danach das Ganze auf dem Netbook wieder soweit hingepfriemelt, dass ich
update-initramfs -u -k all
durchführen konnte. Alles umsonst! Ich lande nach dem reboot an einer ominösen BusyBox v1.18.5, mit der ich überhaupt nichts anfangen kann. Die Passphrase wird erst gar nicht abgefragt, dann beschwert sich das System, dass ein /dev/mapper/ubuntu-root nicht existiere. Wie auch, wenn noch verschlüsselt?
Gave up waiting for root device. Common problems: - Boot arghs (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Check root= (did the system wait for the right device?) ALERT! /dev/mapper/ubuntu-root does not exist. Dropping to a shell!
Mein Hoffung auf die alternate-Installations-CD war ebenfalls vergeblich. Dort kann man zwar unter “Festplatten partitionieren” einen Menüpunkt “verschlüsselte Datenträger konfigurieren” auswählen, dann “Activate existing encrypted volumes”. Danach kommt die Passwortabfrage für /dev/sdc2 (das ist die richtige Partition!). Aber egal, was man auch eingibt (ich habe mein Passwort extra auf “0” geändert, um alle Tippfehler auzuschließen), die Abfrage kommt als Endlosschleife immer wieder! Das geht so lange, bis man entnervt das Netbook aus dem Fenster wirft. Verdammte Technik!

@Ralph: Hi Ralph,
sie Dir mal meine Kommentare #33 + #35 an. Denke daran liegt es. Probier das mal aus!
Auf die Weise hab ich nun schon einige Installationen auf Anhieb hinbekommen.
Enkidu

Danke für den Tipp. Verstehe ich richtig: Anstelle einer GUID-Partitionstabelle Master Boot Record (MBR) wählen?

@Ralph: parted –script ${TARGET} mklabel msdos
hat bei mir die Probleme gelöst. (Und nachdem ich keine Festplatten >2GB verwende macht es für mich keinen Unterschied.)

Jetzt habe ich nachgesehen. Palimpsest meldet “Master Boot Record” und Gparted “Partitionstabelle: msdos”. Also kann dein Tipp nichts mehr verbessern.
Trotzdem habe ich es probiert:
sudo parted –script $/dev/sdb mklabel msdos
Fehler: Ruf von stat für Gerät –script schlug fehl - Datei oder Verzeichnis nicht gefunden. Wiederholen/Retry/Abbrechen/Cancel?
Das mit der Vollverschlüsselung kann ich wohl vergessen.

@Ralph: Locker bleiben! :) Wenn Du noch das “$”-Zeichen entfernst, sollte die Syntax des Befehls besser passen. ;)
Ich werde das Script ASAP mal grundlegend überarbeiten und nach github.com verlegen. Macht das melden von Problemen und auch das patchen einfacher
Allen denen die Ubuntu-Verschlüsselung allgemein zu frickelig ist kann ich auch mal einen Blick auf Fedora oder andere Red Hat-nahe Distributionen empfehlen. Deren Installationsprogramm (a.k.a. “Anaconda”) bringt das Verschlüsselungsfeature mit einem wie hier beschriebenen Aufbau direkt out-of-the-box mit (also sozusagen “ab Werk”). Man muss nur einen “System verschlüsseln”-Haken im Setup setzen setzen.
Selbst wenn man ggf. kein Fedora einsetzen mag lohnt dies ggf. als Test, ob die Verschlüsselungsmethode generell auf der spezifischen Hardware funktioniert, oder ob es nur partout mit Ubuntu nicht funktionieren will und man daher den Fehler auf das eigene Setup eingrenzen kann.

Hallo,
weiß zufällig jemand wie ich den Swap Bereich “nullen” kann? (also mit nullen überschreiben)
Hintergrund ist folgendes:
Ich möchte ein komprimiertes Image von meinem 32 GB USB-Stick mit dd und gzip ziehen. Damit dieses möglichst klein ist sollen alle leeren Bereiche “genulled” werden um eine höhere Kompressionsrate zu erzielen. /home und /root kann ich mounten und eine Datei mit nullen erstellen und dann wieder löschen.
Kann ich den Swap Bereich auch irgendwie mounten??? Oder hat der einen Pfad?
dd if=/dev/zero of=[was muss hier angegeben werden um den Swap Bereich zu überschreiben?]

Die Problematik mit der Uhrzeit statt der UUID der Partition in der /etc/crypttab beim Befehl:
echo “lvm_crypt UUID=$(ls -la /dev/disk/by-uuid | grep $(basename /dev/sdX2) | cut -d ' ' -f 9) none luks” » /etc/crypttab
liegt im Parameter von ls. -la gibt eine Liste incl. der hidden directory aus (./ & ../), diese sind aber 3stellig groß (100Byte). Da die Symlinks der Partitionen in der Ĺiste aber nur 2stellig groß sind (10Byte) entstehen 2 Leerzeichen vor der Größe, was den Parameter -f9 von cut die Uhrzeit wählen lässt. Ändert man den Parameter von ls auf -l, dann gibt ls nur die Symlinks zu den Partitionen aus, und da die Größen sich dort nicht unterscheiden, landet die korrekte UUID in der /etc/crypttab.

@madmax: mit:
cat /etc/fstab
als root solltest du einen Eintrag bekommen, wie dein Swap eingemountet ist. Den Eintag unter <file system> kannst du als Kennung für den of= Parameter von dd nehmen.

@HT
Danke, hab letzten Endes den richtigen Pfad herausgefunden… nach dem nullen musste ich die Partition neu als Swap Bereich formatieren weil der swapon Befehl sie nicht mehr einbinden wollte… ich hatte aber eh einen Denkfehler bei der Sache, denn das ganze macht nur Sinn bei einer unverschlüsselten Installation. Bei einer verschlüsselten landen ja keine Nullen auf dem Datenträger… Wenn man so ein Image gut komprimieren möchte muss man den Datenträger vor der Installation komplett nullen, dann installieren und dann ein Image ziehen und komprimieren.
@Ralph
sudo nano /etc/crypttab
sollte auf jeden Fall funktionieren. Ich konnte Ubuntu 12.04 problemlos installieren. Der einzige unterschied zur 10.04 Installation ist das anpassen der UUID in der crypttab bzw. des Befehls der dort hinein schreibt.
@All Wenn die Installation auf eure Platte nicht funktionieren will probiert es doch mal auf einem USB Stick. Wenn es immer noch nicht funktionieren will probiert es an einem anderen Rechner auf USB zu installieren. Wenn Ihr es dann geschafft habt kopiert euch das Image mit dd einfach dorthin wo Ihr es haben wollt.
Wenn der Boot Vorgang schief geht drückt die Shift Taste beim booten, editiert den Grub Menü eintrag, entfernt das quiet und fügt noplymouth nosplash ein (wie das geht könnt Ihr googeln). Dann könnt Ihr sehen wo es hängt…
Wenn der Boot Vorgang dann immer noch schief geht schaltet im Bios alles ab was Ihr nicht braucht, zb. Floppy (das hat bei mir Probleme gemacht) Drucker Port usw. Klemmt alles ab was Ihr nicht braucht, entfernt alle RAM Speichermodule bis auf eines.
Hintergrund: Ich hatte ein defektes Speichermodul was vom memorytest aber als Fehlerfrei getestet wurde. Wenn ich es benutzt habe stürzten im Sekundentakt Programme ab unter Ubuntu, Windows froh ein. Nach einem Tausch des Moduls gab es keine Probleme mehr.
Daher empfehle ich im allg. alles was man nicht braucht zu deaktivieren wenn es nicht funktionieren will…

Hallo Andreas!
Hast du das Script schon angepasst, sodass man es auch unter 12.10 problemlos nutzen könnte?
LG

@sojusnik: Kleiner Nachtrag:
Kannst du was zu der neuen Verschlüsselungsoption bei der Installation von 12.10 sagen? Lohnt es sich diese zu verwenden oder doch nach deiner Anleitung vorzugehen?
LG!

Die beiden Fragen von sojusnik interessieren mich auch. Würde mich sehr freuen, wenn das Skript aktualisiert werden würde. Vielen Dank im Voraus und ein großes Lob für Deine tolle Anleitung. Richtig klasse!

Hallo Andreas! Ich habe auf meinem PC das fehlerhafte Windows XP durch das Ubuntu-Betriebssystem austauschen wollen. Dafür habe ich mir die Version 14.10 auf einem bootfähigen USB-Stick abgespeichert und erfolgreich installiert (vollverschlüsseltes System, LVM und LUKS). Leider bin ich der Systemaufforderung unmittelbar nach Abschluß der Installation nachgekommen, indem ich den Rechner neugestartet habe. Seither erscheint ein schwarzer Bildschirm mit ubunto-Logo und der Aufforderung einer Passworteingabe (Passphrase), die allerdings fehlschlägt (cryptsetup…)! Letztlich kann ich den PC nur ausschalten - es tut sich gar nichts mehr (irgendwann erscheint ein Verzeichnispfad, aus dem ich aber auch nicht schlau werde)! Bei dem Versuch dieses Problem zu lösen, bin ich in deinem Blog fündig geworden: Leider zu spät! Demnach erkenne ich: “Wenn jetzt neu gestartet würde (bzw. wurde), könnte man (bzw. kann ich) das System nicht hochfahren. Es verfügt nämlich noch nicht über die nötige Software um das verschlüsselte Laufwerk ansprechen zu können und den Benutzer nach dem Passwort zum entschlüsseln zu fragen.” Mmh, und nun? Kannst du mir vielleicht weiterhelfen, wie ich dieses Problem gelöst bekomme? Eine Neuinstallation vom Stick scheint auch nicht zu funktionieren!
Vielen Dank & Gruß.

Kann es sein, daß Du Sonderzeichen in Deinem Paßwort verwendet hast? Problem an der Stelle könnte sein, daß Ubuntu zu dem Zeitpunkt noch nicht das deutsche Tastaturlayout verwendet. Du also somit nie das richtige Paßwort eingibst.
Es ist ratsam, für so ein Paßwort bei Zeichen zu bleiben, die auch auf der Standard-US-Tastatur an der selben Stelle liegen.
Damit Du jetzt weiterkommst, vermute ich, mußt Du im BIOS die Bootreihenfolge ändern. Stick vor Festplatte. Dann kannst Du nochmal von vorne anfangen. ;)
Generell würde ich Dir aber eher die aktuellen Version von Linuxmint Cinnamon (64bit: http://www.linuxmint.com/edition.php?id=172) empfehlen. Ist sozusagen Ubuntu, nur einsteigerfreundlicher. Von der Installation her ist es genauso wie Ubuntu. Nur hinterher brauchste nicht so viel Handarbeit. ;)
Viel Erfolg.

Hallo, ich hoffe mir kann jemand weiterhelfen. Ich habe diese Anleitung benutzt, um ein Dualboot-System mit Windows 7 und Mint 17.1 aufzusetzen. Das hat auch alles einwandfrei geklappt. Es erscheint der Truecrypt-Bootloader und beim drücken von ESC erscheint GRUB und ich kann Mint auswählen. Doch dann passiert lange nicht und nach ca. 2 Minuten erscheint eine “Fehlermeldung”:
BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)_
Hat jemand einen Tip?
Vielen Dank im Voraus und Gruß
Max

@Max
hast du diesen Befehl benutzt um /etc/crypttab anzupassen?
echo “lvm_crypt UUID=$(ls -la /dev/disk/by-uuid | grep $(basename /dev/sdX2) | cut -d ' ' -f 9) none luks” » /etc/crypttab
Falls ja, dann ist das vlt. die Ursache (siehe Kommentare). Lösung wäre die verschlüsselte root Partition von einer Live CD zu mounten und die crypttab korrekt anzupassen.
mfg

Danke, dass Du die Site repariert hast. Habe diesen Artikel lange vermisst.

Ich frage mich gerade, ob man mit BTRFS überhaupt LVM braucht. Man kann doch einfach zwei Subvolumes in ein Dateisystem im LUKS-Container legen. Dann braucht man gar keine LVM-Volumes zu definieren. Oder?
Leave a comment…
- E-Mail address will not be published.
- Formatting:
//italic// __underlined__
**bold**''preformatted''
- Links:
[[http://example.com]]
[[http://example.com|Link Text]] - Quotation:
> This is a quote. Don't forget the space in front of the text: "> "
- Code:
<code>This is unspecific source code</code>
<code [lang]>This is specifc [lang] code</code>
<code php><?php echo 'example'; ?></code>
Available: html, css, javascript, bash, cpp, … - Lists:
Indent your text by two spaces and use a * for
each unordered list item or a - for ordered ones.
Ich habe den Blog mit Interesse gelesen und daraufhin bei mir mein ubuntu neu installiert. Parallel dazu habe ich ein Windows 7 Betriebssystem, dessen Systempartition mit TrueCrypt verschlüsselt ist. Nach der Installation des ubuntu mit der Verschlüsselung durch Luks funktioniert ubuntu so wie hier beschrieben. Leider ist aber der Bootloader von TrueCrypt weg und Windows 7 lässt sich danach nicht mehr starten. Nachdem ich mit der TrueCrypt Recovery CD den TrueCrypt Bootloader wieder hergestellt habe, ist danach der Grub wieder verschwunden. Ubuntu ließ sich daraufhin nicht mehr starten.
Da die Verschlüsselungen für Windows und Linux mit TrueCrypt und Luks jeweils für sich funktionieren, würde mich interessieren, ob es zwischenzeitlich eine Lösung dafür gibt beide Systeme auf einer Festplatte so zu verschlüsseln, dass sie hinterher auch beide funktionsfähig sind. Hat dafür jemand bereits eine Lösung?
Olivere Lau, Einbeck