Inspiriert zu dem Forenbeitrag von “yupp” im ubuntuusers Forum (Thread hier), schreibe ich ein kleines Tutorial, wie man neben dem mit TrueCrypt verschlüsseltem Windows, auch noch andere Betriebssysteme wie Linux per GRUB booten kann. Das ganze ist soweit relativ simpel und wird ausführlich erklärt.
Fangen wir aber komplett von vorne an. Installieren wir erstmal das Linux System, die Partition sollte folgend aussehen:
sda1: / – ext3
sda2: /boot – ext2 – ca. 200mb
sda3: /home – ext3
sda4: Windows System – NTFS
Weiter im Geschehen: Euer Linux System wurde installiert, gleich danach wird dann Windows auf sda4 installiert. Nachdem ihr Treiber und ähnliches eingebettet habt, ladet euch die aktuellste TrueCrypt Version von http://truecrypt.org herunter. Startet das Programm und es sollte euch zugleich eine Art Partitionsmanager ins Auge springen. Ihr seht oben ein Menüpunkt “System”. Dort klickt ihr auf “Encrypt System Partition/Drive” und ein Assistent sollte starten. Klickt im ersten Dialog gleich auf weiter, da ihr nur die Partiton von Windows verschlüsseln wollt und nicht die ganze Festplatte. Im Zweiten Dialog wird nun “Multi-Boot” angewählt. Nachdem euch gesagt wurde, dass Multi-Boot nicht für unerfahrene Nutzer geeignet ist, kommt man zur “Boot Drive” Auswahl, wo ihr ebenfalls Ja anklickt. Bei “Number of System Drives” dann auch wieder 2 or more. Danach dann bei “Multiple Systems on Single Drive” ebenfalls Ja. Jetzt müsst ihr “lügen” und sagen, es wäre ein Windows Bootloader installiert, da ansonsten die Verschlüsselung nicht gehen würde. Ist aber kein Problem. Geht nun weiter im Dialog und stellt die “Encryption Options” ein, sowie das Passwort das ihr beim Preboot zum entschlüsseln benötigt. Die Maximalanzahl von Zeichen im Passwort wurde von TrueCrypt auf 64 Zeichen gesetzt, ist aber kein Problem ein längeres zu nutzen. Keyfiles können hierbei nicht verwendet werden. Danach werdet ihr aufgefordert eine Rescue CD zu brennen. Das müsst ihr tun, sonst geht es an dem Punkt nicht weiter. Nach der Verifizierung sollt ihr dann den “System Test” durchführen, quasi das TC Bootloader wurde installiert, euer System startet neu und der TC Bootloader springt euch ins Gesicht. Gebt nun das Passwort ein, dass ihr als Verschlüsselungspasswort genutzt habt, brecht ihr mit ESC ab, startet Windows auch, jedoch schlägt der Test fehl und ihr müsst von neuen beginnen. Windows sollte jetzt normal starten und nach der Anmeldung müsste TrueCrypt aufpoppen. Lasst das Programm nun die System Partiton verschlüsseln, dazu könntet ihr auch noch einstellen, wie oft unbenutzter Platz überschrieben wird. Dadurch dauert der ganze Prozess aber länger. Habt ihr das geschafft, bootet eine Linux LiveCD wie Ubuntu. Ihr werdet euch jetzt fragen: “Wenn wir den MBR auf Festplatte 1 löschen, wie kann man dann Windows booten?”. Ganz einfach, wir sichern einfach den jetzigen MBR und lassen GRUB diesen booten. Startet ein Terminal und werdet per “sudo su” zum “root”, damit ihr nicht ewig den “sudo” Befehl nutzen müsst. Mountet nun eure bestehende Boot-Partition über die LiveCD Boot-Partition per:
mount /dev/sda2 /boot
Sollte das ohne Probleme erfolgen, gehen wir nun zum sichern des jetzigen MBRs. Das geschieht mit dem kleinen Tool “dd”. Gebt folgendes ein, um ihn zu sichern.
dd if=/dev/sda of=/boot/true_mbr bs=512 count=1
Der “alte” MBR ist jetzt auf eurer Boot-Partition gespeichert. Jetzt geht es daran, dass GRUB wieder Einzug in dem MBR hält. Dazu genügt folgendes:
grub-install /dev/sda
(Falls keine korrespondierenden BIOS Laufwerke gefunden werden, gebt das ein:
grub-install –recheck /dev/sda)
Das wäre geschafft. Aber es fehlt noch ein kleiner Schritt, bis Windows wieder bootbar ist. Öffnet die “menu.lst” im Ordner “/boot/grub/” und fügt folgendes rein:
title Windows XP/Vista
root (hd0,3) # Partiton 4 auf HDD 1 ist Windows
savedefault
makeactive
chainloader (hd0,1)/true_mbr # Partiton 2 beinhaltet den alten TC MBR, mit dem Namen “true_mbr”
Gut. Speichert das ganze einmal ab und startet den Rechner neu. Nach erfolgreichen tun, müsste GRUB starten und wenn ihr alles ordentlich in der menu.lst eingegeben habt, auch der TrueCrypt Bootloader. Achja, unter Linux könnt ihr TrueCrypt auch installieren und damit verschlüsselte Partitionen einbinden. Das einzige Manko was hier besteht ist, dass man eine verschlüsselte Windows Systempartition nicht einbinden kann. Keine Ahnung wieso die TrueCrypt Developer das nicht eingebaut haben. Gut, falls noch Fragen oder Probleme bestehen, schreibt einfach ein Kommentar und ich werde versuchen euch zu helfen. Das ganze ist hier nur eine Testkonfiguration, dass heißt also, dass wenn ihr eure Partitionen anders anlegt, dies auch in der menu.lst oder beim mounten der Boot-Partition berücksichtigen müsst.
Nun, dass war dann alles. Ich wünsche euch viel Spaß mit eurem verschlüsseltem Windows System und nebenher noch einem Linux oder anderem Betriebssystem.
Kleines Update: Seit einer gewissen Zeit lassen sich auch verschlüsselte Systempartitionen unter anderen Betriebssystemen mounten. (Siehe auch: Kommentar von Thorsten2k3)
Desweiteren gibt es unter Ubuntu 10.04 keine menu.lst mehr, diese wurde mit der grub.cfg ersetzt. Der Syntax für die Menüpunkte ist ein wenig anders, man sollte sich aber dennoch leicht darin zurechtfinden.

















Hallo,
Erstmal vielen Dank für deine Anleitung, doch ich hätte da ein Paar fragen.
Wenn ich dann alles installiert hab und windows ist verschlüsselt da will ich noch \home verschlüsseln. Ich hab das mal gemacht nach irgendeiner Anleitung, also von \home alles rüber auf eine externe Festplatte. Dann in der Konsole dies und das eingegeben so dass die \home partition gelöscht und verschlüsselt wurde. allerdings war ich dann nicht in der lage irgendetwas zu machen, da ohne home nicht mal die konsole starten wollte und ich konnte von der externen festplatte auch nichts mehr kopieren da ich sie nicht mounten konnte. Könntest du mir helfen oder gibts eine idiotensichere Anleitung?
Danke
Gruß
Nabend,
Ich denk mal das du deine /home Partition ohne Preauthentication verschlüsselt hast? (Alternativ boote eine LiveCD, mounte die /home Partition auf der Externen Platte, lade Module die man zum mounten der verschlüsselten Partition brauch nach und mounte dann die schon vorhandene /home Partition auf deiner Internen Platte. Dann kannst du die Daten von der Externen Platte auf die Interne verschieben, rebooten und schauen ob’s geht.)
Hab auch noch nen guten Wiki Eintrag zum Thema Verschlüsselung unter Linux => http://wiki.ubuntuusers.de/System_verschl%C3%BCsseln
Allerdings für Ubuntu/Debian. Sollte sich aber bei anderen Distris ähnlich machen lassen. Empfiehlt sich eigentlich auch schon die Partition während der Linuxinstallation zu verschlüsseln, da man dann später den ganzen Stress von wegen kopieren, LiveCD booten etc. nicht hat. (LVM Encryption, bei Ubuntu ist das mit der Alternate CD machbar.)
Ob /home da ist oder nicht, sollte uninteressant sein, da sich die Programme ala mount etc. in /etc & co. befinden.
Grüße
Hey,
Ich hab mir deine Ausführung aufmerksam durchgelesen, und finde es gut, aber bei meinem System hab ich ein paar Probs:
Ich hab auf dem Primary Drive Windows Vista, Windows Ultimate und jetzt Linux installiert.
Meine System Config sieht ziemlich heftig aus.
Könnte ich dir ein Bildschirmfoto schicken auf dem meine Platten sda usw… abgebildet sind?
Und vor allem wo in der Menu.lst muß ich die Einträge vornehmen, ich will mein System nicht gerade jetzt verschrotten *grins*?
Gute Frage.
Also im Prinzip musst du nur den Eintrag, der oben im Artikel beschrieben ist, in die menu.lst einfügen.
title Windows XP/Vista
root (hd0,3) # Partiton 4 auf HDD 1 ist Windows
savedefault
makeactive
chainloader (hd0,1)/true_mbr # Partiton 2 beinhaltet den alten TC MBR, mit dem Namen “true_mbr”
Du solltest dir dann halt im Bilde sein, welche Partition zum Windows System #1 und welches zu #2 gehört. Wenn du beide Windowssysteme verschlüsselt hast, musst du den Schritt mit dem MBR sichern zweimal tätigen. (Also sichern, dann anderes Win rannehmen, wieder sichern.)
Die Sicherungskopie von dem MBR wird ja auf der /boot Partition gespeichert, also bleibt chainloader bis auf den Namen der MBR Datei unberührt. Das einzige was du dann brauchst, ist die Partition auf der Windows liegt “ausfindig” machen und eben mit dem “root” Eintrag ersetzen. Solltest du immernoch Probleme haben, schick einfach mal ein Bildchen rüber.
Hey,
ich habe nun Grub installiert, nun fragt er mich nach den Bootloader Settings. Ich habe nun Vista Home fuer sda1 eingegeben, Vista ultimate auf sda5, wie in meiner Partitionstabelle angezeigt. sda 6 bis 9 ist linux, die /boot ist sda9, welche muss ich hier angeben?
Oder muss ich auf Bootloader Installation gehen? Das hab ich auch probiert, allerdins bricht er hier mit einem Fehler ab…hmmmm
Fr deine Hilfe waere ich dir echt dankbar. Ach ja, kannst du mir deine eMail Adresse geben um dir einen Screenshoot von meiner Partitionstabelle zu schicken?
mfg
MadGladiator
Hey ich nochmal *grins*,
Ich hab gerade meine menu.lst kopiert und setze sie hier mal rein, vielleicht könnt ihr mir sagen wo ich die neuen EInträge reinschreiben soll:
# Modified by YaST2. Last modification on Mi Jun 25 18:28:22 CEST 2008
default 0
timeout 20
gfxmenu (hd0,6)/boot/message
###Don’t change this comment – YaST2 identifier: Original name: windows###
title Windows Auswahl
rootnoverify (hd0,6)
chainloader (hd0,0)+1
###Don’t change this comment – YaST2 identifier: Original name: linux###
title openSUSE 11.0 – 2.6.25.5-1.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.25.5-1.1-pae root=/dev/disk/by-id/scsi-SATA_SAMSUNG_SP1613NS0CVJ10A100336-part7 resume=/dev/sda6 splash=silent showopts vga=0x31a
initrd /boot/initrd-2.6.25.5-1.1-pae
###Don’t change this comment – YaST2 identifier: Original name: failsafe###
title Failsafe — openSUSE 11.0 – 2.6.25.5-1.1
root (hd0,6)
kernel /boot/vmlinuz-2.6.25.5-1.1-pae root=/dev/disk/by-id/scsi-SATA_SAMSUNG_SP1613NS0CVJ10A100336-part7 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x31a
initrd /boot/initrd-2.6.25.5-1.1-pae
Ich würde sagen im ersten Abschnitt, ist das richtig?
mfg
Mad
title Windows Vista Home
root (hd0,0)
savedefault
makeactive
chainloader (hd0,9)/true_mbr
title Windows Vista Ultimate
root (hd0,4)
savedefault
makeactive
chainloader (hd0,9)/true_mbr2
Das sollte eigentlich gehen, wenn deine Partitionen wie du sie oben beschrieben hast so sind.
Mail wäre admin@botnetz.com
Ah und wenn du die Win nicht mit TrueCrypt verschlüsselt hast, sollte bei “chainloader” ein “chainloader +1″ eigentlich genügen.
Gutes gelingen. Wenn du einen IRC Clienten installiert hast, könntest du auch im “irc.freenode.org” in diversen Linuxchannels wie #ubuntu.de oder #grub fragen.
Oder bei duke & mir auf irc.take.ag #take.ag :O. Achja, Yast2 sieht eher nach SuSE, als nach Ubuntu aus :>.
Bei mir klappt das irgendwie nicht.
Ich habe folgende Partitionen:
Platte /dev/sda: 250.0 GByte, 250059350016 Byte
255 Köpfe, 63 Sektoren/Spuren, 30401 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x878eec38
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 * 1 6374 51199123+ 7 HPFS/NTFS
/dev/sda2 6375 6386 96390 83 Linux
/dev/sda3 6387 30401 192900487+ 5 Erweiterte
/dev/sda5 6387 6751 2931831 82 Linux Swap / Solaris
/dev/sda6 6752 9183 19535008+ 83 Linux
/dev/sda7 9184 30401 170433553+ 83 Linux
Boot is auf sda2 (einzige HD im Notebook)
/boot enthält:
insgesamt 19582
drwxr-xr-x 4 root root 1024 2008-07-10 11:31 .
drwxr-xr-x 22 root root 4096 2008-07-09 10:13 ..
-rw-r–r– 1 root root 420224 2008-06-18 18:47 abi-2.6.24-19-generic
-rw-r–r– 1 root root 74164 2008-06-18 18:47 config-2.6.24-19-generic
drwxr-xr-x 2 root root 1024 2008-07-08 18:14 grub
-rw-r–r– 1 root root 8143215 2008-07-10 11:31 initrd.img-2.6.24-19-generic
-rw-r–r– 1 root root 8143209 2008-07-08 18:14 initrd.img-2.6.24-19-generic.bak
drwx—— 2 root root 12288 2008-07-08 17:49 lost+found
-rw-r–r– 1 root root 103204 2007-09-28 13:03 memtest86+.bin
-rw-r–r– 1 root root 1152332 2008-06-18 18:47 System.map-2.6.24-19-generic
-rw-r–r– 1 root root 1903960 2008-06-18 18:47 vmlinuz-2.6.24-19-generic
-rw-r–r– 1 root root 512 2008-07-09 18:40 WinXPMB
Und das habe ich in der menu.lst
title Windows XP Professionsl TC
root (hd0,0) # Partition 1 auf HDD 1 ist Windows
savedefault
makeactive
chainloader (hd0,1)/WinXPMB
Meiner Ansicht nach müsste doch das so funken, oder?
Addon:
Ich kriege folgende Fehlermeldung:
Error 13: Invalid or unsupported executable format
Hm, merkwürdig. Normal sollte das eigentlich tun.
Eventuell irgendwas beim MBR sichern daneben gegangen?
Wahnsinn, danke, hat auf Anhieb funktioniert!
Excellent, hat auf Anhieb geklappt. Sogar von Linux aus die Systempartition mounten geht:
# truecrypt -m nokernelcrypto -k “” –protect-hidden=no /dev/sda1 /mnt/windowsxp/
Und Backup auch:
# losetup -a
/dev/loop/0: [000e]:3 (/tmp/.truecrypt_aux_mnt1/volume)
# file /dev/loop/0
/dev/loop/0: symbolic link to `../loop0′
# umount /mnt/windowsxp
# ntfsclone -s -o winxp.sda1.ntfsclone /dev/loop0
ACHTUNG: ntfsclone kümmert sich nicht um bootrecord u. masterbootrecord. Zum Zurückspielen auf dieselbe Partition ist es geeignet, wenn man auf eine andere zurückspielt, fehlen die Bootrecords wenn man nicht selbst dafür sorgt!
Testen des Backups:
# ntfsclone -r -O Test.image winxp.sda1.ntfsclone
# mount -o loop Test.image /mnt/test
# ls -l /mnt/test
Vielen Dank für Deinen Blog hierzu, er hat mir sehr geholfen und ich bin sehr froh, den normalen Grub im MBR zu haben!
Danke für das Tutorial; wird weiterhin gelesen!
zum Thema verschlüsselte Systempartion von Linux aus Mounten: Man muss bei den erweiterten Einstellungen “preboot authentication” auswählen und drauf achten das man als Tastaturlayout us-US braucht. (darauf weißt Truecrypt aber auch hin wenn das Mounten fehl schlägt)