Truecrypt-Laufwerke per Batch-Datei automatisch einbinden

Angenommen man hat eine oder mehrere externe Festplatten an den PC angeschlossen, die mit Truecrypt verschlüsselt sind. Diese Festplatten sollen beim Start von Windows automatisch als Laufwerke eingebunden werden, damit man mit ihnen arbeiten kann.

Das sollte ja kein Problem sein. Schließlich gibt es in Truecrypt die System Favorite Volumes, die bei Systemstart automatisch mit dem gleichen Laufwerksbuchstaben eingebunden werden. Idealerweise vor dem Start anderer Programme, damit diese direkt auf die externe Festplatte zugreifen können.

Oder sagen wir: werden sollten. Bei mir funktioniert das nämlich nur sporadisch. Vor allem wenn ich die USB-Ports wechsele oder weitere Datenträger anschließe, kommt Truecrypt offenbar mit den Laufwerksbezeichnungen durcheinander und mountet nichts.

Abhilfe schafft eine Batch-Datei. Man öffne Notepad oder einen Texteditor, speichere die Datei z.B. unter “mount.bat” ab und schreibe den Befehl zum Mounten eines Volumes hinein:

“c:\Program Files\TrueCrypt\TrueCrypt.exe” /v \\?\Volume{41e110e7-7a02-4170-dec4-001ae134ec62}\ /l E /a /s /quit

Dabei bedeuten die Optionen im Einzelnen

TrueCrypt.exe – der Installationspfad (könnte abweichen)
/v \\?\Volume{…}\ – der Volume Name
/l E  -  setzt den gewünschten Laufwerksbuchstaben auf E:
/a – mounte es automatisch
/s – keine Benutzerinteraktion
/quit – schließe das TrueCrypt-Fenster, wenn das Einbinden abgeschlossen ist

Und was ist mit dem Passwort?

Mit dem Schalter /p “Passwort”  könnte man das Passwort in der Batchdatei angeben. Das ist aber höchst riskant! Da kann man das Verschlüsseln eigentlich auch gleich sein lassen. Deswegen verwende ich es nicht.

Was also tun? Schließlich soll das Volume automatisch eingebunden werden.

Ich benutze dafür die pree-boot authentication mit gecachetem Passwort. Das lässt sich in Truecrypt unter System, Settings einstellen.

Dann wird das Passwort beim Anschalten des PCs einmalig abgefragt und wird in Windows automatisch auf alle zu mountenden Volumes verwendet. Witzigerweise ist es dafür nicht erforderlich, die Systemfestplatte tatsächlich zu verschlüsseln. Man könnte es also so einrichten, dass das Passwort abgefragt wird, der PC bei Drücken der ESC-Taste trotzdem ganz normal bootet. Dennoch würde ich grundsätzlich empfehlen, die Systemfestplatte zu verschlüsseln. Gerade bei diesem Vorgehen ist es ja nicht einmal mehr Aufwand.

Die so erstellte Batch-Datei kann man jetzt in den Autostart-Ordner im Startmenü kopieren, dann wird das Volume bei der Windows-Anmeldung automatisch als entsprechendes Laufwerk gemountet. Demnächst folgt ein Artikel, wie man die Batch-Datei vor dem Anmelden bei Windows startet.

18 Kommentare

  1. Jaypack
    Erstellt am 27. September 2011 um 23:39 | Permanent-Link

    Hallo, irgendwie geht das bei mir nicht. Ich teste gerade mit einem USB Stick. Er hat den Namen: Wechseldatenträger. Hab das script wie folgt geändert :

    “C:\Program Files\Anwender\system\TrueCrypt\TrueCrypt.exe” /v \\?\Volume{WECHSELDATENTRÄGER}\ /l K /a /s

    geht aber so nicht. Leider kann ich auch nicht lesen was der Fehler ist, das Fenster in dem der Batch ausgeführt wird, schließt gleich. Bitte um Hilfe… Danke

  2. Chris
    Erstellt am 28. September 2011 um 18:12 | Permanent-Link

    Hi Jaypack,

    was du da eingegeben hast (“Wechseldatenträger”) ist das VOLUME LABEL. Was du brauchst ist der VOLUME NAME. Siehe dazu die Anleitung hier: http://www.chrisjones.de/2011/05/was-ist-der-volume-name-meiner-festplatte/

  3. Sascha
    Erstellt am 14. Oktober 2011 um 14:20 | Permanent-Link

    Hi,

    vielen Dank für die Anregung.

    Gibt es auch einen Weg, unter Linux mit einem Script einen Container auf einem USB-Drive zu mounten, der mit einem auf dem Linux-System gespeicherten Keyfile gesichert ist? (Das Keyfile eventuell sogar nur TrueCrypt lesbar?)

    Ziel ist es, einen USB-Datenträger für Sicherungszwecke zu bauen, der nur auf bestimmten Rechnern gelesen werden kann. Das jemand das Keyfile kopiert, soll mal nicht das Problem sein, denn wer Zugang zum Server oder zum Netzwerk hat, kommt auch an die unverschlüsselten Datenbankfiles.

    Primär ist das Anliegen, daß eventuell verlorene Sicherungsdatenträger außerhalb der Firma nicht nutzbar sind (Patientendaten).

    Danke fürs kurz grübeln …

  4. Harald
    Erstellt am 11. November 2011 um 05:02 | Permanent-Link

    Wie genau geht das mit dem /p passwort schalter???
    “c:\Program Files\TrueCrypt\TrueCrypt.exe” /v \\?\Volume{41e110e7-7a02-4170-dec4-001ae134ec62}\ /l E /p passwort /a /s /quit funktioniert nicht
    ich habs mal so und mal in anderer reihenfolge versucht aber ich muss das ps immer
    manuell beim starten eingeben .
    pree-boot authentication kann ich nicht nehmen weil ich mehrere Platten mounten will und zwar mit verschiedenen Passwörtern…

  5. Chris
    Erstellt am 11. November 2011 um 23:04 | Permanent-Link

    Steht das Passwort in Anführungsstrichen?

    Vgl. http://www.truecrypt.org/docs/?s=command-line-usage

  6. Michael S.
    Erstellt am 21. November 2011 um 16:10 | Permanent-Link

    Super Tipp, ich hatte das gleiche Problem.
    Nun muss ich noch die Bibliotheken in Ordnung kriegen. Da Volume mount via Autostart scheinbar fürs System zu spät kommt, sind Bibliotheken oft kaputt, die auf Truecrypt-Laufwerke verweisen. Ich nutze keine Vollverschlüsselung…

  7. Chris
    Erstellt am 12. Dezember 2011 um 14:32 | Permanent-Link

    Hi Michael,

    das Problem hatte ich auch. Dazu habe ich einen Artikel angefangen. Den habe ich leider nie fertiggestellt oder veröffentlicht – letzteres habe ich jetzt mal nachgeholt.

    Vielleicht hilft’s?

    http://www.chrisjones.de/2011/12/programm-vor-windows-logon-starten/

  8. Joe
    Erstellt am 22. April 2012 um 08:21 | Permanent-Link

    Klasse. Danke. Ich habe nun nur noch folgendes Problem: Ich will eine Partition von dem Laufwerk nehmen und nicht das ganze Laufwerk – geht das auch?

    So klappt es irgendwie nicht:

    TrueCrypt.exe” /volume \\?\Volume{3625134tzer-7322-1111-93d6-806e6f6e6963}\Partition4 /ld /q

    Danke, Grüße
    Joe

  9. Affe
    Erstellt am 10. Juni 2012 um 19:30 | Permanent-Link

    /wipecache or /w
    Wipes any passwords cached in the driver memory.

    Diese Option solltest du dringend am Ende noch in den Batch aufnehmen!
    cu

  10. Chris
    Erstellt am 10. Juni 2012 um 20:13 | Permanent-Link

    Super, danke!

  11. Affe
    Erstellt am 17. Juni 2012 um 03:19 | Permanent-Link

    “c:\Program Files\TrueCrypt\TrueCrypt.exe” /v \\?\Volume{41e110e7-7a02-4170-dec4-001ae134ec62}\ /l E /a /s /quit

    habe ich einfach kopiert, das sollte eigentlich in Win 7 funktionieren, es hat aber nicht funktioniert.
    Warum? Weil das Abführungszeichen hinter TrueCrypt.exe ein Abführungszeichen aus einer Textverarbeitung ist und vom Batch nicht / nicht immer erkannt wird.
    Also bitte mit einem normalen ” ersetzen. Das erste Anführungszeichen funktioniert merkwürdigerweise, sollte aber trotzdem auch ersetzt werden.

  12. MtlBoy
    Erstellt am 1. Juli 2012 um 15:34 | Permanent-Link

    Hallo Chris Jones,

    finde deine Anleitung zum einfügen von Festplatten per Batch einfach super. Habe nur eine Frage dazu, was muss ich eingeben wenn ich mehrere Festplatten gleichzeitig mit dem gleichen Passwort (was ich manuell eingebe) per Batch einbinden möchte?

    Vielen lieben Dank

  13. verzweifelt
    Erstellt am 7. August 2012 um 15:32 | Permanent-Link

    Hallo Chris Jones.

    Ich bin auf der Suche nach einer Lösung für mein Problem auf diesem Blog gelandet und habe große Hoffnung, dass mir hier jemand helfen kann.

    Ich schildere mal kurz mein/e Problem/Frage

    Ich habe ein Image von Windows erstellt. Das Image soll über PXE geladen werden um eine Reihe neuer PC´s aufzusetzen.

    TC ist bereits installiert, nun versuche ich mittels einem Script TC dazu zubewegen auf ein, zuvor eingebundenes

    Netzlaufwerk zu schauen um dort ein Keyfile zu benutzen um einen Container an einer bestimmten stelle der Festplatte zu

    erstellen.

    Auf dem Netzlaufwerk sollen anfangs 100 fortlaufend nummerierte Keyfiles liegen, die nach gebrauch umbenannt werden.
    Das Script soll bei 1 anfangen zu suchen und dann das nächste Keyfile benutzen von 1-100, solange bis keine

    durchnummerierten Keyfiles mehr da sind.
    Hat schon mal jemand etwas in dieser Richtung gemacht oder hat jemand eine Idee, wie ich TC vermitteln kann was es machen

    soll?

    Sollte das überhaupt funktionieren, würde es damit weitergehen, dass ich TC automatisch mitteilen möchte dass, der

    erstellte Container mit bestimmten Parametern zu den Favoriten hinzugefügt wird.

    Bsp. Das Keyfile liegt danach auf einem USB-Stick und der Container soll automatisch als Laufwerk X: eingebunden werden,

    wenn der USB Stick eingesteckt wird.

    Diese und ähnliche Parameter würde ich gerne direkt mitgeben

    Vilen Dank vorab !

  14. Chris
    Erstellt am 14. August 2012 um 11:27 | Permanent-Link

    @MtlBoy das würde ich über Variablen lösen. Man kann zunächst das Passwort abfragen und dann als Parameter an die einzelnen Truecrypt-Befehle übernehmen.

    @verzeweifelt das erscheint mir mit Batch lösbar, aber zu komplex für einen kurzen Tipp nebenbei. Sind Sie an einem Beratungsvertrag interessiert?

  15. cris
    Erstellt am 26. August 2012 um 07:54 | Permanent-Link

    Hi,
    du schreibst “…Witzigerweise ist es dafür nicht erforderlich, die Systemfestplatte tatsächlich zu verschlüsseln. ”
    Verstehe ich nicht ganz, denn wenn die Systemplatte nicht verschlüsselt ist wird der Dialog unter System, Settings nicht angezeigt bzw. der TC bootloader nicht installiert..

  16. Chris
    Erstellt am 26. August 2012 um 08:40 | Permanent-Link

    Hi!
    Du kannst die Systemverschlüsselung starten und nach der Installation des Bootloaders einfach nicht weiter machen.

  17. Thomas
    Erstellt am 14. Februar 2013 um 15:27 | Permanent-Link

    Hallo,
    ich möchte ein Truecrypt Container welcher auf einem NAS liegt per Batch mounten. Die TrueCrypt.exe liegt auch auf dem NAS.
    Folgender Batch-Befehl funktioniert, wenn ich zuvor über den Explorer in den Ordner auf der NAS gegangen bin (nach Benutzername und Password eingeben).
    “\\fritz.nas\TrueCrypt\TrueCrypt.exe” /l G /v \\fritz.nas\tccontainer /a /q

    ich möchte mir den ersten Schritt (Anmeldung über Explorer) sparen und das Kennwort für das Netzlaufwerk (nicht das TrueCrypt-Kennwort) mit in die Batchdatei schreiben. So wie man es z.B. bei “net use” macht.

    Der Befehlt würde dann so aussehen?
    “\\fritz.nas\TrueCrypt\TrueCrypt.exe” password /user:benutzer /l G /v \\fritz.nas\tccontainer /a /q
    geht aber leider nicht (Anmeldung fehlgeschlagen).

    Ich freue mich auf eure Antwort. Besten Dank.

  18. TM
    Erstellt am 14. Juni 2013 um 11:42 | Permanent-Link

    >>Chris
    >>Erstellt am 26. August 2012 um 08:40 | Permanent-Link
    >>
    >>Hi!
    >>Du kannst die Systemverschlüsselung starten und nach der Installation des Bootloaders
    >>einfach nicht weiter machen.

    Hallo,

    insgesamt eine super Anleitung

    Wie kann man dann die andauernde Aufforderung zum RESUME des Vorgangs dauerhaft abschalten, wenn man wie von dir beschrieben nach Installation des PreBoot-Loaders aber vor der Systemverschlüsselung abgebrochen hat ?

Ihr Kommentar

Ihre E-Mail wird niemals veröffentlicht oder verteilt.

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>