
Wie kann ich einen Dual-Boot zwischen einem mit TrueCrypt verschlüsselten Windows 7 und Ubuntu 11.10 durchführen, wenn beide separat auf unterschiedlichen physischen Laufwerken installiert sind?
Ich habe zwei Festplatten. hd0 hat eine TrueCrypt-verschlüsselte Windows 7-Installation mit dem TrueCrypt-Bootloader. hd1 hat eine Ubuntu 11.10-Installation mit dem Grub2-Bootloader.
Die Ausgabe fdisk -l
lautet wie folgt:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 976771071 488282112 7 HPFS/NTFS/exFAT
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 968517631 484257792 83 Linux
/dev/sdb2 968519678 976771071 4125697 5 Extended
/dev/sdb5 968519680 976771071 4125696 82 Linux swap / Solaris
Ich kann beide Betriebssysteme erfolgreich starten, indem ich die Startreihenfolge im BIOS ändere, möchte dies aber nicht immer wieder tun müssen. Meine Optionen sind entweder:
- Fügen Sie den TrueCrypt-Bootloader zur Grub2-Konfiguration hinzu und laden Sie ihn kettenweise mit Grub2.
- Starten Sie den TrueCrypt-Bootloader und starten Sie grub2, wenn Sie die Kennworteingabe mit der Escape-Taste beenden.
Ich hatte Schwierigkeiten mit Option 1, da TrueCrypt beim Drücken von Escape keine andere bootfähige Partition findet. So wie ich es verstehe, sollte es nach anderen bootfähigen Datenträgern suchen.
Ich hatte auch Schwierigkeiten mit Option 2 und mit Folgendem darin /etc/grub.d/40_custom
(und dann beim Ausführen update-grub2
) …
menuentry "Windows 7" {
set root=(hd0,1)
chainloader +1
}
(Ich habe auch versucht root=(hd0,0)
und root=(hd0,2)
)
... Ich erhalte Fehler, wenn keine solche Partition vorhanden ist. Ich habe auch verschiedene Quellen gelesen, die darauf hinweisen, dass dies mit Grub2 nicht möglich ist, ohne vor dem Booten von Windows die TrueCrypt-Rettungsdiskette ISO zu mounten und zu booten. Ist das notwendig?
Was mache ich falsch?
Antwort1
Ich kann Ihnen bei einem Workaround helfen. Es ist ziemlich knifflig, stellen Sie also sicher, dass Sie es verstehen.
Erstens: BackUP alle Zweitens: Es erfordert zwei physische Festplatten, mit nur einer kam ich nicht dazu
Kommen wir zum kniffligen Teil, dem Bestellvorgang für die Boot-Sequenz:
- Das BIOS bootet von einer Festplatte (normalerweise der ersten).
- Legen Sie dort den GRUB2-Bootloader ein
- Mit einem solchen GRUB können Sie von Partitionen auf der ersten Festplatte oder von der zweiten Festplatte booten (das ist der schwierige Teil).
- Wenn Sie Linux booten möchten, booten Sie einfach von einer anderen Partition auf derselben Festplatte
- Wenn Sie den TrueCrypt Bootloader starten möchten, sagen Sie ihm einfach, dass er von der zweiten Festplatte und nicht von einer Partition booten soll
Wie kann man das vor diesem Hintergrund archivieren? Ganz einfach, folgen Sie diesen Schritten:
- Setzen Sie nur eine leere Festplatte in den PC ein
- Konfigurieren Sie das BIOS so, dass davon gebootet wird (nur für dieses Mal).
- Installieren Sie Windows und TrueCrypt darauf
- Sagen Sie TrueCrypt, dass es alles verschlüsseln soll (nur eine Festplatte ist vorhanden)
- Neustart, Windows-Start testen
- Richtig ausschalten
- Fügen Sie eine zweite Festplatte hinzu
- Erstellen Sie auf dieser zweiten Festplatte einige Partitionen
- Eine für /boot (wo GRUB2 hinkommt)
- Der Rest nach Wunsch für Ubuntu /, SWAP, etc...
- Konfigurieren Sie GRUB2, um Ubuntu zu booten und die gesamte zweite Festplatte kettenzuladen (achten Sie darauf, keine Partition anzugeben, sondern nur die gesamte Festplatte).
- Neustart
- Trickreich: Sagen Sie dem BIOS, dass es von der zweiten Festplatte booten soll (wie Sie sagen, dass es das kann), und zwar seit jetzt schon für immer.
- Testen Sie, ob beim Booten GRUB2 ausgeführt wird
- Testen Sie, ob die GRUB2-Kette den ersten HDD-Bootloader (TrueCrypt Loader) korrekt lädt, geben Sie jedoch keine Kennwortphrase ein und lassen Sie Windows nicht booten. Starten Sie einfach neu, wenn nach dem Kennwort gefragt wird.
- Wenn nicht erledigt, starten Sie neu ... und testen Sie die Linux-Option GRUB2 ... wird nicht booten, da Ubuntu noch nicht installiert ist, aber TrueCrypt wird nicht geladen, also sehen Sie, dass es funktioniert
- Installieren Sie Linux mit großer Sorgfalt. Lassen Sie nicht zu, dass die Partitionstabelle geändert wird. Installieren Sie es einfach auf der zweiten Festplatte unter Verwendung der vorhandenen Partitionen. Und wenn Sie nach dem Bootloader gefragt werden, sagen Sie ihm, dass er Grub oder Lilo usw. auf der Linux-Partition und nicht auf dem HDD-MBR installieren soll.
Damit erhalten Sie dieses Schema:
- HDD0 - MBR mit TrueCrypt, Der Rest für Windows
- HDD1 - MBR und /boot-Partition mit GRUB2, eine weitere Partition für / (Ihr Ubuntu), in der sich ein weiterer Grub-, Lilo- oder Grub2-Loader auf /boot befindet, zusätzliche Partitionen nach Wunsch
Der Trick ist:
- Sagen Sie TrueTrypt, dass es verschlüsseln soll, da es eine volle Festplatte mit einem eigenen Bootloader kennt.
- Booten Sie GRUB2 von einer anderen Festplatte (das BIOS muss in der Lage sein, von der zweiten Festplatte zu booten)
Beim Booten passiert Folgendes:
- BIOS liest seine Konfiguration auf CMOS
- BIOS siehe Booten von der zweiten Festplatte
- BIOS liest den MBR der zweiten Festplatte
- GRUB2 ist geladen
- GRUB2 zeigt das Menü: „Windows booten/Ubuntu booten“
- Wenn Sie Ubuntu auswählen, lädt GRUB2 einen anderen Grub, Lilo usw. in die Ubuntu-Root-Partition, ein solcher anderer Bootloader lädt Ihr Linux Ubuntu
- Wenn Sie Windows auswählen, wird GRUB2 auf die erste Festplatte kettengeladen, so als ob das BIOS von der ersten Festplatte booten würde.
Auf diese Weise:
- TrueCrypt weiß nichts über die zweite Festplatte zum Booten, ist nicht davon abhängig
- GRUB2 und Linux überschreiben bzw. berühren nichts auf einer solchen ersten Festplatte.
- Das BIOS bootet von der zweiten Festplatte
Hoffe, es ist klar genug.
Dinge, die Sie zum Archivieren beachten sollten:
- Führen Sie zunächst einige Tests mit einer VirtualBOX durch, bevor Sie dies auf einer realen physischen Maschine tun, damit Sie sich mit dem Prozess vertraut machen
- Zweitens: Notieren Sie sich auf einem Blatt Papier die Schritte, die Sie befolgen, während Sie sie ausführen, damit Sie nichts vergessen.
Nun muss ich sagen, dass es möglich ist, ohne den PC zu öffnen ... wobei beide Festplatten immer angeschlossen sein müssen.
Stell dir das vor:
- HDD0 ohne Partition
- HDD1 ohne Partition
- Installieren Sie Windows wie gewohnt nur auf HDD0, partitionieren Sie HDD1 jedoch nicht
- Installieren Sie TrueCrypt und sagen Sie, dass die gesamte Festplatte HDD0 verschlüsselt werden soll. Bei HDD1 passiert nichts.
- Testen Sie, ob alles richtig läuft
- Booten Sie von einer LiveCD wie einer SystemRescueCD, erstellen Sie Partitionen auf HDD1
- Stellen Sie sicher, dass Sie eine dedizierte Partition für /boot nur für GRUB2 erstellen, die nicht mit Ihrem Linux zusammenhängt. Mit 512 MB können Sie auch SystemRescueCD.iso darauf ablegen und GRUB2 so konfigurieren, dass der Bootload von der ISO-Datei in einer Schleife ausgeführt wird (siehe dazu die SystemRescueCD-Website).
- Installieren Sie GRUB2 auf HDD1 MBR und HDD1 /boot-Partition
- Konfigurieren Sie grub.cfg eines solchen GRUB2, um von Ihrem Linux-Root auf HDD1 zu booten und einen Chainload auf HDD0 durchzuführen (nicht auf eine beliebige Partition auf HDD0).
- Testen Sie, ob GRUB2 alle Optionen korrekt bootet. Testen Sie einfach, ob die Ladekette korrekt ist. Wenn Windows bootet und TrueCrypt nach der Passphrase fragt, starten Sie einfach neu. Verlieren Sie keine Zeit, um Windows selbst zu booten.
- Installieren Sie Ubuntu auf der Root-Partition von HDD1 und weisen Sie es an, sein eigenes Grub auf der Root-Partition von HDD1 zu installieren, wo Ihre wichtigsten Linux-Ubuntu-Dateien hingehen, sodass es die Boot-Partition von HDD1 überhaupt nicht berührt.
Das ist das Schwierige!!!
Die Idee: Nutzen Sie ein anderes Medium für das eigentliche Boot-Menü, in dem Sie auswählen können, was gebootet werden soll.
Persönlich habe ich auf meinem Netbook diese Kette:
- /boot mit GRUB2-Menü mit Optionen zum Booten: WindowsVista, Windows7, Linux Ubuntu 32bits, Linux Ubuntu 64bits, SystemRescueCD.iso, memtext86+, Diskette, ... usw.
- Wenn ich Linux Ubuntu 32 Bits auswähle, wird ein anderer GRUB2 mit den folgenden Optionen geladen: Zurück (Booten von HDD MBR), Kernel X, Kernel X-Debug, Kernel Y, Kernel Y-Debug usw.
- Wenn ich „Linux Ubuntu 64 Bits“ auswähle, wird ein anderer GRUB2 mit den folgenden Optionen geladen: Zurück (Booten von HDD MBR), Kernel X, Kernel X-Debug, Kernel Y, Kernel Y-Debug usw.
Das ist die Idee... mehr als einen GRUB im Bootvorgang haben!!
Warum mehr als eines? Ganz einfach: Wenn das System Grub aktualisiert, wird das von mir als Startmenü verwendete Menü nicht berührt. Einfach und effektiv.
Nun zum TrueCrypt-Problem: Wenn es die Systempartition verschlüsselt, muss dies im MBR sein, es lässt keine andere Möglichkeit zu (außer über RecoveryCD).
Wenn TrueTrypt also eine Windows-Systempartition verschlüsselt, lassen Sie es besser die gesamte Festplatte
Hey! Linux kann aus Leistungsgründen auch auf derselben Festplatte wie Windows installiert werden ... und die Daten auf der anderen ...
Erste Festplatte mit:
- /dev/sda -> TrueCrypt-Loader (Der MBR)
- /dev/sda0 -> Windows mit TrueCrypt verschlüsselt (einige GB)
- /dev/sda1 -> Linux Ubuntu / (einige GB) es enthält ein weiteres Grub, einen Unterordner namens „Boot“ und alle Systemdateien usw.
Zweite Festplatte mit:
- /dev/sdb -> GRUB2-Loader (Der MBR), ich werde es als „BootMenu“ bezeichnen
- /dev/sdb1 -> /boot für GRUB2 „BootMenu“ (512 MB, wenn Sie die Datei SystemRescueCD.iso darauf haben möchten)
- /dev/sdb2 -> NTFS-Partition für DATA, die unter Windows und Linux (wenn nicht verschlüsselt) als
Ich hoffe, Sie werden es schaffen.
Ich hatte dies nur so erklärt, weil ich dachte, Sie wüssten, wie man von einer CD bootet, das BIOS konfiguriert, Partitionen erstellt, GRUB2 installiert usw.
Das ist nichts für Anfänger. Enthält sehr fortgeschrittene technische Schritte und ist kein HowTo ...
Die Idee dahinter ist lediglich, von einem anderen Medium zu booten. Solche anderen Medien (CD, Diskette usw.) enthalten ein Boot-Menü, in dem Sie auswählen können, ob Sie von der ersten Festplatte oder von einer Partition usw. booten möchten, also von GRUB2.
Ich hoffe, Sie finden es nützlich.
Antwort2
Die einfachste Lösung hierfür scheint zu sein, den Windows-Bootloader zum Booten in Grub zu verwenden und nicht umgekehrt. Grub scheint selbst mit nicht in der Lage zu sein, in eine verschlüsselte Windows-Partition zu booten --force
.
Es gibt ein Tool namens EasyBCD (kostenlos für nichtkommerzielle Nutzung), das den Windows-Bootloader richtig konfiguriert, sodass er Grub bootet, sobald Sie Ihr TrueCrypt-Passwort eingegeben haben. Ich habe jetzt mein Windows-Laufwerk als erstes Bootgerät im BIOS und Grub als Standard-Bootelement im Windows-Bootloader. Sie können Windows genauso einfach zum Standard machen.
Antwort3
Sie können einfach das Startmenü aufrufen und die Festplatte auswählen, von der Sie starten möchten.
In meinem Fall mache ich das, indem ich drücke, F11wenn die POST-Nachrichten angezeigt werden. In Ihrem Fall kann es eine andere FTaste sein.