// Vollverschlüsseltes System mit Ubuntu (ab 9.04 Jaunty), LVM und LUKS

Dieser Artikel beschreibt, wie ein vollverschlüsseltes :lang_en: 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.
  • Automatische Echtzeit on-the-fly encryption inkl. pre-boot authentication :lang_en:.

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 und swap 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:

  1. Eine Live-Session wird gebootet und mit der nötigen Software (LVM, LUKS/cryptsetup) ausgestattet.
  2. Das Ziellaufwerk wird in zwei Partitionen unterteilt:
    • kleine Boot-Partition (~200MB sind mehr als genug)
    • unformatierte Partition (das gesamte restliche Laufwerk)
  3. Die unformatierte Partition wird verschlüsselt und anschließend geöffnet/entsperrt.
  4. In der entsperrten, unformatierten Partition wird eine LVM-Gruppe angelegt, welche die root- home- und swap-Partition den eigenen Wünschen entsprechend enthält.
  5. 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.
  6. 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).
  7. 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.

  1. 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)
  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 :lang_en: 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 :lang_en: 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_crypt5) 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:
Icon zum starten des grafischen Installationsassistenten "ubiquity", hier unter Ubuntu 10.04 Lucid Lynx

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 vergessen sdX2 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.

1)
und einem ruhigeren Schlaf ob des massiven Sicherheitsgewinns
2) , 3)
Wenn man z.B. eine englischsprachige Live-Session startet um ein deutsches System zu installieren, ist auf einer deutschen Standardtastatur X und Z außerhalb des grafischen Installationsassistenten vertauscht. Sollte das Verschlüsselungspasswort, welches im Terminal eingegeben wird, z.B. ein X/x oder Z/z enthalten, würde man beim ersten Booten des frisch installierten, deutschsprachigen Systems ein anderes Passwort eingeben müssen, als man während des Setups vermeintlich festgelegt hat.
4)
Unter Ubuntu bereits vorinstalliert, unter Kubuntu kann es mittels sudo apt-get install gparted schnell nachinstalliert werden.
5)
“lvm_” da wir innerhalb des Crypto-Laufwerks LVM nutzen, “crypt” wegen der Verschlüsselung
6)
Einfach jeweils auf die entsprechnden Einträge doppelklicken, um den Konfigurationsdialog zu öffnen. Die Swap-Partition braucht nicht extra konfiguriert werden, da sie automatisch erkannt werden sollte.

Comments

Oliver Lau
No. 1 @ 2011/06/19 03:52

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

No. 2 @ 2011/06/19 05:08

@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

Croises
No. 3 @ 2011/06/19 21:08

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

madmax
No. 4 @ 2011/06/20 11:38

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

madmax
No. 5 @ 2011/06/20 11:44

@Oliver Lau:

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

No. 6 @ 2011/06/23 12:23

@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 :-P).

madmax
No. 7 @ 2011/06/23 13:38

@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*

Micha L.
No. 8 @ 2011/06/24 20:22

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!

Micha L.
No. 9 @ 2011/06/27 09:57

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!

Oliver Lau
No. 10 @ 2011/06/29 20:55

@Andreas Haerter:

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.

No. 11 @ 2011/07/01 03:33

@Oliver Lau:

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).

Micha L.
No. 12 @ 2011/07/02 18:08

@Andreas Haerter:

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!

Oliver Lau
No. 13 @ 2011/07/03 00:08

@Andreas Haerter: Hallo Andreas, ich habe die Details aufgrund des Volumens zwischenzeitlich in einen eigenen Blog für jeden Interessierten zusammengefasst. Zu finden unter:

http://www.unixboard.de/vb3/entry.php?49-Ubuntu-und-verstecktes-Windows-7-mit-Luks-und-TrueCrypt-richtig-verschl%FCsseln

für jeden, der sein System und seine Daten vor unberechtigten Zugriff schützen möchte.

Micha L.
No. 14 @ 2011/07/03 18:32

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

brisi
No. 15 @ 2011/07/05 08:27

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

Yo
No. 17 @ 2011/08/31 23:43

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

No. 18 @ 2011/09/06 01:08

@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.

Multi
No. 19 @ 2011/09/11 17:06

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.

No. 20 @ 2011/09/27 14:44

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

No. 21 @ 2012/03/09 11:28

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

No. 22 @ 2012/03/21 20:38

[…] prima Artikels […]

Robert
No. 23 @ 2012/04/08 17:08

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?

Robert
No. 24 @ 2012/04/08 17:12

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?

Enkidu
No. 25 @ 2012/04/08 17:14

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

Enkidu
No. 26 @ 2012/04/09 15:18

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… :(

No. 27 @ 2012/05/20 18:55

[…] Seite von Andreas Härter […]

Andreas
No. 28 @ 2012/05/24 18:18

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
No. 29 @ 2012/05/25 13:48

@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

Lars
No. 30 @ 2012/06/02 09:33

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

Jens
No. 31 @ 2012/06/09 00:58

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

Chris
No. 32 @ 2012/07/06 18:42

@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

Enkidu
No. 33 @ 2012/07/21 23:02

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

No. 34 @ 2012/07/24 13:35

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.

Enkidu
No. 35 @ 2012/07/24 15:04

@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. :)

Ralph
No. 36 @ 2012/08/06 00:21

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!

Enkidu
No. 37 @ 2012/08/06 16:39

@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

Ralph
No. 38 @ 2012/08/08 01:12

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

Enkidu
No. 39 @ 2012/08/08 15:45

@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.)

Enkidu
No. 40 @ 2012/08/08 15:48

@Enkidu: Öhm… >2TB meinte ich! :)

Ralph
No. 41 @ 2012/08/10 23:16

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.

Enkidu
No. 42 @ 2012/08/11 00:05

@Ralph: Locker bleiben! :) Wenn Du noch das “$”-Zeichen entfernst, sollte die Syntax des Befehls besser passen. ;)

No. 43 @ 2012/08/11 00:36

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.

madmax
No. 44 @ 2012/09/22 13:41

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?]

HT
No. 45 @ 2012/11/20 13:45

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.

HT
No. 46 @ 2012/11/20 13:52

@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.

madmax
No. 47 @ 2012/12/02 01:06

@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…

sojusnik
No. 48 @ 2012/12/07 10:30

Hallo Andreas!

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

LG

sojusnik
No. 49 @ 2012/12/07 10:33

@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!

Sven
No. 50 @ 2013/08/06 13:46

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!

Bominator
No. 51 @ 2015/01/12 22:06

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ß.

Enkidu
No. 52 @ 2015/01/12 23:08

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.

Max
No. 53 @ 2015/02/22 23:13

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

madmax
No. 54 @ 2015/02/27 13:43

@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

Richard
No. 55 @ 2017/10/28 19:09

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

Robert
No. 56 @ 2018/05/19 16:00

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.
I'm no native speaker (English)
Please let me know if you find any errors (I want to improve my English skills). Thank you!
QR Code: URL of current page
QR Code: URL of current page 2011:06:18:ubuntu-festplattenvollverschluesselung-lvm-luks (generated for current page)