yupp
Anmeldungsdatum: 9. November 2006
Beiträge: 10
Wohnort: Mühlacker
|
Hallo, und die Erde ist doch eine Scheibe... Nach langem Probieren habe ich es doch geschafft, ein verschlüsseltes XP mit Grub im MBR zu booten. Das TC-Disk-Image mittels memdisk aus den Syslinux-Tools zu booten (s. http://forum.ubuntuusers.de/topic/150607/?start=97) hat mir unter XP eine Systemlast von über 90% beschert (IRQs und DPCs). Die Lösung ist so einfach: Meine Konfiguration: sda1: /boot sda2: XP mit TC 5.1 AES verschlüsselt sda3: XP : sda7: Ubuntu 7.10 - Ubuntu installieren - XP installieren - Nach der Verschlüsselung des XP-Systems Ubuntu (von CD) starten und den MBR sichern:
sudo su
mount /dev/sda1 /boot
dd if=/dev/sda of=/boot/mbr_TC512 bs=512 count=1 - Grub wieder zum laufen bringen (ich habs mit grub-install /dev/sda gemacht, hat mir aber die menu.lst etwas zerschossen) - Folgender Eintrag in /boot/grub/menu.lst startet den TC-Bootloader mit PBA:
title Microsoft Windows XP Home Edition 1
root (hd0,1)
savedefault
makeactive
chainloader (hd0,0)/mbr_TC512 Somit startet Grub ohne dass ESC gedrückt werden muss und bei Bedarf kann XP gestartet werden. Gut Glück, Yupp
|
Matt_D
Anmeldungsdatum: 13. März 2008
Beiträge: 4
|
Hallo Yupp, vielen Dank schon mal für deinen Beitrag. Ich bin seid dem Wochenende dabei mein System auf meinem Notebook neu zu installieren und brauche aber noch einen entscheidenden Tip. Ich hab mir für mein System folgendes ausgedacht → Triple boot mit Windows XP, Ubuntu und Back Track 3. Bis jetzt habe ich es hinbekommen, alle drei Systeme nebeneinander zu installieren. Starten über Grub ging problemlos. Nun sollen Windows XP und Ubuntu noch verschlüsselt werden. Windows XP habe ich mit Truecrypt 5.1 verschlüsselt, den von Truecrypt erstellten MBR gesichert und nun wieder den Grub in den MBR geschrieben. Ubuntu und BackTrack starten schon mal. Nun muss ich nur noch den Bootloader von Truecrypt einbinden. Deine Methode geht bei mir nicht so ganz, da ich keine sda1: /boot Partition habe. Meine Konfig sieht folgendermaßen aus: sda1: primäre Partition Windows XP AES verschlüsselt
sda2: primäre Partition Windows Datenpartition unverschlüsselt : NTFS
sda3: primäre Partition Back Track 3 System : ext3
sda4: erweiterte Partition
sda5: logische Partition: Linux swap
sda6: logische Partition: Ubuntu: ext3 Meine Idee war nun den Truecrypt Boot Loader auf die sda2 zu kopieren und dann aus dem Grub dort hin zu wechseln: Evtl. so : title Microsoft Windows Truecrypt
root (hd0,0)
savedefault
makeactive
chainloader (hd0,1)/ Den Chainloader habe ich so gewählt, weil ich den Truecrypt MBR via "dd if=USB-Stick of=gemountete sda Partition zurückgeschrieben habe. Leider klappt das ganze noch nicht. Ich bekomme bei Anwahl des Windows XP Truecrypt Eintrages folgendes zu lesen: "Error 17: Cannot mount selected partition" Hoffe es kommt jemand von euch auf eine Lösung. Danke
|
Anyone
Anmeldungsdatum: 16. Oktober 2007
Beiträge: 102
|
Hey Matt_D! Auf welcher Partition hast du denn deine /boot ? Generell würde ich dir empfehlen den MBR auf der boot partition zu schreiben, da diese wahrscheinlich als einzige partition nicht verschlüsselt wird.
title Microsoft Windows Truecrypt root (hd0,0) savedefault makeactive chainloader (hd0,1)/
Na nu... was hast du den hier gemacht? Da hast wohl vergessen beim chainloader den gespeicherten MBR anzugeben, oder warum steht da nur "chainloader (hd0,1)/ "
|
Matt_D
Anmeldungsdatum: 13. März 2008
Beiträge: 4
|
Hallo, danke erst mal für die Antwort. Mit: chainloader (hd0,1)/mbr_TC512 klappt es leider auch nicht. Vieleicht habe ich den Truecrypt Bootloader aber auch falsch auf die sda2 gespeichert. Ich habe den Bootloader nun als Backup auf meinem USB Stick als windowsmbr.sav gespeichert. Wie sollte ich diesen auf die sda2 speichern ? mit entsprechendem Eintrag im chainloader ? Eine spezielle Boot Partition habe ich nicht angelegt. Der Grub liegt auf meiner Ubuntu Partition. Die Windows Partition ist schon verschlüsselt, aber die Datenpartition sda2 bleibt unverschlüsselt, hier soll der Truecrypt Bootloader rein, sofern das funktioniert.
|
Anyone
Anmeldungsdatum: 16. Oktober 2007
Beiträge: 102
|
So dann wollen wir mal probieren: kopier mal das backup deines bootloaders nach /boot das verzeichnis wirst du ja haben,daher die datei sollte über /boot/windowsmbr.sav ansprechbar sein schreib den eintrag in der /boot/grub/menu.lst um zu chainloader (hd0,5) /boot/windowsmbr.sav bzw chainloader (hd0,6) /boot/windowsmbr.sav je nachdem auf welcher partition du /boot hast. @yupp deine Methode hat übrigens wunderbar bei mir funktioniert, ohne Problem. Danke
|
Matt_D
Anmeldungsdatum: 13. März 2008
Beiträge: 4
|
@Anyone: Besten Dank ! Mit deiner Lösung funktioniert es ! 😀 Nun suche ich noch eine Möglichkeit meine Ubuntu Partition und die Swap zu verschlüsseln. Problem an der Sache ist ja nun, dass der Bootloader auf der Ubuntu Partition liegt. Falls du eine Idee hast darfst dich gerne melden. greetz Matt
|
yupp
(Themenstarter)
Anmeldungsdatum: 9. November 2006
Beiträge: 10
Wohnort: Mühlacker
|
Hallo, das Verschlüsseln von Ubuntu/Swap mit Luks ist der Grund, weshalb ich eine eigene /boot-Partition eingerichtet habe. Diese muss unverschlüsselt bleiben. Da liegen ja die init-RDs und der TC-MBR. Die Verschlüsselung von Ubuntu habe ich (noch nicht auf obigem NB, aber auf meinem Desktop-Rechner) fast genau wie im Wiki beschrieben durchgeführt mit den Änderungen, dass ich die Passwörter für weitere Partitionen auf der verschlüsselten /-Partition abgelegt habe und swap mit einem festen Passwort verschlüssel. Somit muss ich beim Start nur ein Passwort eingeben. Für /boot sollte eine 50 MB-Partition reichen. Die init-RDs nehmen bei mir jeweils ca. 7,5 MB weg, der TC-MBR hat ja nur 512 Bytes. Gruß, Yupp
|
buntstift
Anmeldungsdatum: 26. März 2008
Beiträge: 6
|
hallo, ich hatte genau das gleiche vor habe den mbr gesichert aber leider klappt das nun garnicht hier meine config: /dev/sda ist komplett fuer win, also gibts auch blos sda1 /dev/sdb fuer linux: sdb1 = ext3 (also /) sdb5 = swap hier meine menu.lst: title Ubuntu hardy (development branch), kernel 2.6.24-11-generic root (hd1,0) kernel /boot/vmlinuz-2.6.24-11-generic root=UUID=0cdb9a70-f93d-4054-a05b-50d0c40c803c ro quiet splash locale=de_DE initrd /boot/initrd.img-2.6.24-11-generic quiet title Ubuntu hardy (development branch), kernel 2.6.24-11-generic (recovery mode) root (hd1,0) kernel /boot/vmlinuz-2.6.24-11-generic root=UUID=0cdb9a70-f93d-4054-a05b-50d0c40c803c ro single initrd /boot/initrd.img-2.6.24-11-generic title Ubuntu hardy (development branch), memtest86+ root (hd1,0) kernel /boot/memtest86+.bin quiet title Microsoft Windows XP root (hd0,0) savedefault makeactive chainloader (hd1,0)/mbr_TC512 wenn ich das so lasse, und windows xp auswaehle, wird der grub wieder aufgerufen... also ne art endlosschleife bis ich dann ubuntu nehm danke
|
Anyone
Anmeldungsdatum: 16. Oktober 2007
Beiträge: 102
|
@buntstift Bist du dir denn sicher, dass du den richtigen MBR kopiert hast? nicht dass du den MBR der zweiten platte dir kopiert hast... Und gib mal bitte deine komplette festplatten partitionen mit beschreibung an.
|
yupp
(Themenstarter)
Anmeldungsdatum: 9. November 2006
Beiträge: 10
Wohnort: Mühlacker
|
Hallo, wenn der MBR auf sdb1 gesichert ist und /boot keine eigene Partition hat, sondern auf / und bei Dir sdb1 liegt, dann muss der Menüeintrag chainloader (hd1,0)/boot/mbr_TC512 heißen. Bootlaufwerk: sda1: (hd0,0) sda2: (hd0,1) : : sdb1: (hd1,0) sdb2: (hd1,1) Danach kommt der komplette Pfad zum MBR-Image. Aber nochmals: wenn Ihr das Linux (also /, bei Dir sdb1) anschließend komplett mit LUKS etc. wie im Wiki beschrieben verschlüsseln wollt, braucht Ihr unbedingt eine eigene unverschlüsselte Boot-Partition auf der der XP-TC-MBR und die Linux-Boot-Images (je ca. 7 MB groß) liegen. Gruß, Yupp
|
cold-blood
Anmeldungsdatum: 10. Mai 2007
Beiträge: 20
|
Vielen Dank für die Anleitung! Nun läuft Ubuntu 8.04 beta mit dm crypt und Win XP Prof. mit Truecrypt parallel auf dem Notebook. =) Ich werde in den nächsten Tag dasselbe wohl noch auf dem Home PC machen.
|
savi
Anmeldungsdatum: 7. Februar 2007
Beiträge: 53
|
yupp hat geschrieben: Ich habe das Problem, dass ich zwar Ubuntu und die Truecrypt Passwortabfrage laden kann, aber nicht Windows XP. Nach der Truecrypt-Passworteingabe kommt nur: "error 21". Was kann ich tun?
|
Tangarua
Anmeldungsdatum: 7. März 2007
Beiträge: 7
Wohnort: Linz
|
Danke yupp, dein Howto hat super funktioniert bei mir. Hab jetzt Grub im MBR, der auf Befehl den TC Bootloader nach Wahl vom XP startet. sda2 = XP = verschlüsselt sda3 = Ubuntu 7.10, unverschlüsselt sda4 = Daten unverschlüsselt. Wie gehts jetzt, dass ich vom Ubuntu aus die verschlüsselte XP Partititon mounten kann? hier http://www.truecrypt.org/docs/?s=command-line-usage steht wie das unter Windows geht, "/mountoption or /m sm or system: Without pre-boot authentication, mount a partition that is within the key scope of system encryption (for example, a partition located on the encrypted system drive of another operating system that is not running). Useful e.g. for backup or repair operations. Note: If you supply a password as a parameter of /p, make sure that the password has been typed using the standard US keyboard layout (in contrast, the GUI ensures this automatically). Example: /m ro. To specify multiple mount options, use e.g.: /m rm /m ts" nur echt kA wie man das von Ubuntu aus ausführen kann, sodass die verschlüsselte XP Partition gemountet werden kann. Mit Mount Device vom tc aus gehts jedenfalls nicht. Hat wer eine Idee? mfg
|
Tangarua
Anmeldungsdatum: 7. März 2007
Beiträge: 7
Wohnort: Linz
|
Wird wohl erst ab der 5.1er Version unterstützt ... bei mir war nur die 5.0 installiert. Allerdings geht es trotz der 5.1er Version unter Ubuntu nicht. Beim Mounten von sda2 wird ein Passwortfehler angezeigt ... Irgendwer eine Idee? mfg
|
almodo
Anmeldungsdatum: 25. September 2008
Beiträge: Zähle...
|
Ich habe mir 2 Nächte um die Ohren geschlagen und kann folgende Lösung anbieten
mit folgenden Zielen:
- GRUB startet unmittelbar nach der Passworteingabe im TrueCrypt
Bootloader ohne ESC drücken zu müssen.
- GRUB ist TC Konform nicht im MBR.
- Das hantieren mit "dd" fällt weg.
- Ist-Zustand (VMWare. Wurde aber auch erfolgreich mit physikalischer Hardware
getestet):
o Rechner mit einer (1) Festplatte
o Folgendermaßen Partitioniert:
4 Primäre Partitionen:
1. Partition NTFS
2. Partition NTFS
3. Partition Swap
4. Partition / (root)
- Windows installiert in die 1. Partition. 2. Partition leer gelassen
- Ubuntu (8.04) installiert. Grub wurde mitinstalliert. Wohin auch immer.
BTW: Truecrypt lag in der Version 6.0a vor.
- Nach der Ubuntu installation sagt "fdisk -l"
root@snoop-desktop:~# fdisk -l
Platte /dev/sda: 42.9 GByte, 42949672960 Byte
255 Köpfe, 63 Sektoren/Spuren, 5221 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x0bd40bd4
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 * 1 1275 10241406 7 HPFS/NTFS
/dev/sda2 2551 2672 979965 82 Linux Swap
/dev/sda3 1276 2550 10241437+ 7 HPFS/NTFS
/dev/sda4 2673 5221 20474842+ 83 Linux
Partitionstabelleneinträge sind nicht in Platten-Reihenfolge
- Warum die Reihenfolge nicht stimmt: Keine Ahnung
- "grub" starten
- Auf der GRUB Kommandozeile eingeben:
setup --stage2=/boot/grub/stage2 (hd0,3) (hd0,3)
Als Ergebniss sollte sowas in der Art kommen:
grub> setup --stage2=/boot/grub/stage2 (hd0,3) (hd0,3)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0,3)"... failed (this is not
fatal)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,3)"... failed (this is not
fatal)
Running "install --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,3)
/boot/gr
ub/stage2 p /boot/grub/menu.lst "... succeeded
Done.
- grub verlassen mit "quit"
An der Stelle: Ich habe noch nicht wirklich rausgefunden was da passiert.
Ich schätze das sorgt vor allem dafür, das GRUB jetzt nicht mehr im MBR
steht. Zumindest Stage 2 nicht mehr. Per Default steht GRUB im MBR und
würde dann durch den TC Bootloader platt gemacht werden.
Das GRUB-Handbuch sagt: "This command is fairly complex, and you should not
use this command unless you are familiar with GRUB."
Danke :-)
Nun, wie auch immer habe ich trotzdem mal damit rumgespielt via
"trail and error" und das hat eben funktioniert. Ich schätze mal
das folgendes passiert: Der Truecrypt Bootloader startet, frägt nach dem
Passwort und sucht dann nach der als aktiv gekennzeichneten Partition.
Vielleicht kann mir mal jemand diese Passage im "für Dummies"-Style erklären:
---snipsnipsnip---
13.3.18 install
install [‘--force-lba’] [‘--stage2=os_stage2_file’] stage1 file [Command]
[‘d’] dest dev stage2 file [addr] [‘p’] [config file] [real config file]
[...]
In short, it will perform a full install presuming the Stage 2 or Stage 1.52
is in its final install location.
In slightly more detail, it will load stage1 file, validate that it is a GRUB
Stage 1 of the right version number, install in it a blocklist for loading
stage2 file as a Stage 2.
[...]
---snipsnipsnip---
Frage: Und was ist eine "blocklist" bzw. eine "blocklist notation" ?
Antwort: A block list is used for specifying a file that doesn't appear in the
filesystem, like a chainloader. The syntax is
[offset]+length[,[offset]+length].... Here is an example:
0+100,200+1,300+300
This represents that GRUB should read blocks 0 through 99, block 200, and
blocks 300 through 599. If you omit an offset, then GRUB assumes the offset is
zero.
Like the file name syntax (see File name syntax), if a blocklist does not
contain a device name, then GRUB uses GRUB's root device.
So (hd0,1)+1 is the same as +1 when the root device is `(hd0,1)'.
- Ok. Wie auch immer. Weiter im Text:
- Nach dem Ausführen des "setup" Kommandos ...
- ... mit fdisk das Bootflag auf die Linux-Root (/) Partition setzen.
Folgendes Eingaben vornehmen:
root@snoop-desktop:~# fdisk /dev/sda
Die Anzahl der Zylinder für diese Platte ist auf 5221 gesetzt.
Daran ist nichts verkehrt, aber das ist größer als 1024 und kann
in bestimmten Konfigurationen Probleme hervorrufen mit:
1) Software, die zum Bootzeitpunkt läuft (z. B. ältere LILO-Versionen)
2) Boot- und Partitionierungssoftware anderer Betriebssysteme
(z. B. DOS FDISK, OS/2 FDISK)
Befehl (m für Hilfe): a
Partitionsnummer (1-4): 1
Befehl (m für Hilfe): a
Partitionsnummer (1-4): 4
Befehl (m für Hilfe): w
Die Partitionstabelle wurde verändert!
Rufe ioctl() um Partitionstabelle neu einzulesen.
WARNUNG: Neueinlesen der Partitionstabelle führte zu Fehler 16: Device
or resource busy.
Der Kernel benutzt noch die alte Tabelle.
Die neue Tabelle wird beim nächsten Neustart verwendet.
Synchronisiere Platten.
- F: Was macht "a"
A: a (De)Aktivieren des bootfähig-Flags
Ich nehme das Bootflag der Windows-Partition weg und gebe es der Linux-Root-
Partition.
- fdisk -l sagt jetzt (Man beachte das Sternchen -> Bootflag)
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 1 1275 10241406 7 HPFS/NTFS
/dev/sda2 2551 2672 979965 82 Linux Swap
/dev/sda3 1276 2550 10241437+ 7 HPFS/NTFS
/dev/sda4 * 2673 5221 20474842+ 83 Linux
- Und jetzt kommts:
Die Datei /boot/grub/menu.lst editieren. An der Stelle mit dem Windowseintrag
gibt es eine Zeile "makeactive". DIESE LÖSCHEN !
Hintergrund: Ich bin beinahe Irre geworden weil nach jedem Windows-Start das
Bootflag wieder auf die Windows Partition gesetzt war. Das hatte zur Folge
dass nach der Eingabe des Passworts in Truecrypt unmittelbar Windows startete
OHNE das man GRUB zu Gesicht bekommen hat.
- Ubuntu runterfahren, Windows starten ( An der Stelle startet Grub noch mit
einer "Stage 1.5" Meldung), Verschlüsselung der Windows-
Systempartition starten.
- Wenn fertig, Windows neu starten und Daumen drücken. Wenn alles geklappt hat,
dann meldet sich der TC Bootloader, frägt nach dem Passwort und nach
erfolgreicher Eingabe startet GRUB. Ohne ESC vorher drücken zu müssen.
Kurzfassung:
- Windows installieren (mit Truecrypt)
- Ubuntu installieren
- grub starten
- setup --stage2=/boot/grub/stage2 (hd0,3) (hd0,3)
- Mit fdisk Bootflag auf Linux-Root-Partition setzen
- Die beiden letzten Anweisungen in dieser Reihenfolge. Sonst funktioniert es
nicht.
- In /boot/grub/menu.lst im Windowseintrag die "makeactive" Zeile löschen
- Ubuntu runter- und Windows rauffahren. Verschluesselung mit TC anstoßen.
Tipp: Daemon-Tools installieren. Das spart einem das Brennen einer CD.
Zumindest in VMWare sinnvoll. Auf einem "richtigen" System sollte auf jeden
Fall eine gebrannt werden.
- Zum Testen Windows neu booten, Passwort eingeben, sich an GRUB erfreuen :)
- Systempartition zu Ende verschluesseln. Feddisch.
Disclaimer:
Wer sich das System abschießt: "Beschweren Sie sich nicht bei mir."
Alle Angaben sind ohne Gewähr. Ob und wie es bei Systemen mit logischen
Partitionen funktioniert weiß ich nicht.
Ein Wiki zum Thema "Truecrypt und Multiboot" wäre vielleicht interessant.
Hat jemand eines?
|