VHDs automatisch einbinden und die Verschlüsselung mit BitLocker
Seit Windows 7 bin ich echter Fan von VHDs. Kleiner Exkurs für die, die nicht wissen was das ist: eine Datei, die sich einfach verhält wie eine Festplatte. Nicht mehr, nicht weniger. Man kann also ganz easy im Computer-Management eine virtuelle Festplatte anlegen und ins System einhängen. Hat dann beispielsweise den Buchstaben X:, die Datei liegt aber auf C:. Hat man dann vielleicht noch Windows 7 Enterprise oder Ultimate, dann kann man diese auch ganz einfach per Bitlocker verschlüsseln. Eine virtuelle Festplatte wird dann mittels BitLocker to go verschlüsselt (siehe auch: Portable BitLocker, wie man seinen USB-Stick verschlüsselt).
Nun haben VHDs einen großen Nachteil. Standardmäßig verschwinden sie nach einem Reboot aus dem Arbeitsplatz. Man müsste sie erst wieder über die Datenträgerverwaltung einhängen – doch es geht auch einfacher.
Folgende Fragen wird dieser Beitrag beantworten: Wie erstelle ich eine VHD? Wie verschlüssle ich eine VHD mit BitLocker? Wie binde ich eine VHD automatisch ein?
Fangen wir mal mit dem absoluten Urschleim an. Wer bereits weiß wie man eine VHD erstellt, der kann weiter nach unten springen.
Bei der Erstellung von VHDs führen viele Wege nach Rom, ich stelle mal wirklich die einfachste vor. Macht einen Rechtsklick auf euren Arbeitsplatz und wählt „Verwalten“. Besucht den Punkt „Datenträgerverwaltung“ und wählt unter „Aktion“, dass ihr eine neue VHD anlegen wollt.
Diesen Datenträger müsst ihr nun initialisieren und formatieren. Lässt sich beides per Rechtsklick auf die VHD in der Datenträgerverwaltung bewerkstelligen.
Das war also Part 1 des Beitrags. Ihr wisst nun, wie man eine VHD erstellt. Nach der Formatierung taucht (sofern ihr einen Laufwerksbuchstaben vergeben habt) die VHD im Arbeitsplatz auf. Von hier aus könnt ihr sie per Kontextmenü mit BitLocker verschlüsseln. Wie das geht hatte ich ja bereits hier beschrieben. Wer nur einen PC hat und nicht zwingend TrueCrpyt nutzt kann ruhig BitLocker nutzen. Finde ich legitim.
Nun aber zum eigentlichen Problem: VHDs sind nach jedem Reboot getrennt, Einstellungsmöglichkeiten gibt es da (soweit ich weiss) keine. Bene und ich haben Ewigkeiten über diese Problematik gelabert und herausgekommen ist ein Tool, mit dem ihr VHDs per Kontextmenü mounten könnt (unabhängig von VHD Attach). Das funktioniert auch bisher soweit, als das man VHDs via Kontextmenü mounten kann. Nur leider wird bisher der vorgegebene Zielbuchstabe nicht auf allen Systemen übernommen.Dauert also noch ein bisschen bis zum Release.
Wem es reicht, dass eine VHD den nächsten freien Buchstaben bekommt, der muss einfach zum automatischen Einbinden eine Batch erstellen.
Besser gesagt sind es zwei Dateien. Die erste ruft diskpart mit der jeweiligen Parameter-Datei auf. Sehr verworren, aber bedankt euch bei Microsoft. Die erste Datei ist dann zum Beispiel eine mount_vhd.cmd mit folgendem Inhalt:
diskpart -s mountvhd.txt
Die mountvhd.txt muss dann folgenden Inhalt haben:
select vdisk file=“C:\Users\caschy\Desktop\Test.vhd“
attach vdisk
Wichtig ist hier der volle qualifizierte Pfad zur VHD. Den kann man ganz einfach in die Zwischenablage kopieren indem man per gedrückter Shift-Taste einen Rechtsklick auf die VHD macht und „Als Pfad kopieren“ wählt. Das Aushängen der VHD erfolgt auch nach diesem Schema. Ausser, dass in der Datei statt attach vdisk detach vdisk stehen muss.
Natürlich ist die erste Einrichtung ein wenig umständlich. Wenn man aber alles geschnallt hat, dann sollte das in wenigen Augenblicken von der Hand gehen. Per Batch-Datei hat man zudem noch einen schönen Automatismus drin, der das Mounten von VHDs vereinfacht.
Mein Fazit: VHDs und das Erstellen von solchen ist schon aus Backupzwecken sinnvoll. Schließlich kann man so auf Software wie Acronis TrueImage verzichten (siehe Kostenloses und vollautomatisches Backup für Windows 7). Des Weiteren kann man VHDs wunderbar in reinen Windows-Umgebungen nutzen um Daten zu verschlüsseln (per BitLocker, sofern man Windows 7 Enterprise oder Ultimate sein Eigen nennt). Übrigens, wer per BitLocker verschlüsselte Laufwerke (verschlüsselte USB-Sticks) auch unter XP / Vista nutzen will, der sollte das erforderliche BitLocker to Go Lesetool von Microsoft auf den betreffenden Maschinen installieren.
@R2D2: Kommandozeile -> manage-bde -lock Laufwerksbuchstabe:
@Bene
You are my Hero !!
Ich kann dir garnicht sagen wie lange ich danach gesucht habe.
DANKE, DANKE, DANKE
@caschy: ich habe wohl mitbekommen dass es Bene gesundheitlich nicht gut geht (alles Gute an dieser Stelle), aber habt ihr vielleicht trotzdem weiter an Eurem Tool gebastelt?
Wenns jemand braucht… Ich habe mir gerade etwas mit AutoIt gebastelt um meine Bitlocker-VHD zu mounten:
AutoIt-Mounter
Einfaches Ding aber es erfüllt seinen Zweck.
Hier ein Beispiel für eine BCD-Datei.
Ich habe einfach mal die Kommandozeilenausgabe von bcdedit in eine Datei umgeleitet. Im Boot-Menü stehen mir jetzt 3 Optionen zur Auswahl. Ich benötige zum Beispiel verschiedene Installationen für verschiedene Aufgaben. Die erste (default)-Option ist eine Win7-Instanz, die sich komplett in einer VHD-Datei befindet. Will ich verhindern, daß die Installation verändert werden kann, brauche ich nur die VHD-Datei mit einer Kopie derselben auszutauschen. Bit-Locker könnte beim Booten Probleme bereiten.
Man sollte zudem auch noch beachten, daß man die Partition, auf der sich die VHD-Datei befindet und zusätzlich die gemountete VHD-Datei ordentlich defragmentiert. Das bringt zusätzliche Performance. Einen Performanceverlust durch die Verwendung einer VHD-Installation kann ich nicht feststellen.
Meine beiden anderen Optionen befinden sich auf normalen Partitionen. So genug gelabert! Hier die BCD-Datei:
##ANFANG##
Windows-Start-Manager
———————
Bezeichner {bootmgr}
device boot
description Windows Boot Manager
locale de-DE
inherit {globalsettings}
default {default}
resumeobject {88b48709-d025-11df-bae6-00248c48a9b2}
displayorder {default}
{current}
{0223d820-d00d-11df-b2e6-00248c48a9b2}
toolsdisplayorder {memdiag}
timeout 30
Windows-Startladeprogramm
————————-
Bezeichner {default}
device vhd=[C:]VHDSEVENwin7.vhd
path Windowssystem32winload.exe
description Seven-VHD
locale de-DE
inherit {bootloadersettings}
recoverysequence {88b4870b-d025-11df-bae6-00248c48a9b2}
recoveryenabled Yes
osdevice vhd=[C:]VHDSEVENwin7.vhd
systemroot Windows
resumeobject {88b48709-d025-11df-bae6-00248c48a9b2}
nx OptIn
Windows-Startladeprogramm
————————-
Bezeichner {current}
device partition=C:
path Windowssystem32winload.exe
description Microsoft Windows 7
locale de-DE
osdevice partition=C:
systemroot Windows
resumeobject {4f284cd6-d020-11df-8c38-806e6f6e6963}
sos No
debug No
Windows-Startladeprogramm
————————-
Bezeichner {0223d820-d00d-11df-b2e6-00248c48a9b2}
device partition=F:
path Windowssystem32winload.exe
description se7en
locale de-DE
osdevice partition=F:
systemroot Windows
resumeobject {c1fc5a1a-d43b-11df-9ff9-806e6f6e6963}
sos No
debug No
##ENDE##
Coole Seite hier übrigens!
Gruß nine
Das war natürlich blöd jetzt. Ich hatte einen Rechtschreibfehler gefunden und den Text bearbeitet. Jetzt viel mir auf, daß alle Backslashes aus dem Text entfernt wurden. Vielleicht kann das ja mal jemand fixen und meinen vorigen Beitrag einfach löschen. Wenns geht danach dann auch diesen Abschnitt hier. Ich schreib den Text jetzt einfach nochmal. Hoffe es geht jetzt.
Hier ein Beispiel für eine BCD-Datei.
Ich habe einfach mal die Kommandozeilenausgabe von bcdedit in eine Datei umgeleitet. Im Boot-Menü stehen mir jetzt 3 Optionen zur Auswahl. Ich benötige zum Beispiel verschiedene Installationen für verschiedene Aufgaben. Die erste (default)-Option ist eine Win7-Instanz, die sich komplett in einer VHD-Datei befindet. Will ich verhindern, daß die Installation verändert werden kann, brauche ich nur die VHD-Datei mit einer Kopie derselben auszutauschen. Bit-Locker könnte beim Booten Probleme bereiten.
Man sollte zudem auch noch beachten, daß man die Partition, auf der sich die VHD-Datei befindet und zusätzlich die gemountete VHD-Datei ordentlich defragmentiert. Das bringt zusätzliche Performance. Einen Performanceverlust durch die Verwendung einer VHD-Installation kann ich nicht feststellen.
Meine beiden anderen Optionen befinden sich auf normalen Partitionen. So genug gelabert! Hier die BCD-Datei:
##ANFANG##
Windows-Start-Manager
———————
Bezeichner {bootmgr}
device boot
description Windows Boot Manager
locale de-DE
inherit {globalsettings}
default {default}
resumeobject {88b48709-d025-11df-bae6-00248c48a9b2}
displayorder {default}
{current}
{0223d820-d00d-11df-b2e6-00248c48a9b2}
toolsdisplayorder {memdiag}
timeout 30
Windows-Startladeprogramm
————————-
Bezeichner {default}
device vhd=[C:]\VHD\SEVEN\win7.vhd
path \Windows\system32\winload.exe
description Seven-VHD
locale de-DE
inherit {bootloadersettings}
recoverysequence {88b4870b-d025-11df-bae6-00248c48a9b2}
recoveryenabled Yes
osdevice vhd=[C:]\VHD\SEVEN\win7.vhd
systemroot \Windows
resumeobject {88b48709-d025-11df-bae6-00248c48a9b2}
nx OptIn
Windows-Startladeprogramm
————————-
Bezeichner {current}
device partition=C:
path \Windows\system32\winload.exe
description Microsoft Windows 7
locale de-DE
osdevice partition=C:
systemroot \Windows
resumeobject {4f284cd6-d020-11df-8c38-806e6f6e6963}
sos No
debug No
Windows-Startladeprogramm
————————-
Bezeichner {0223d820-d00d-11df-b2e6-00248c48a9b2}
device partition=F:
path \Windows\system32\winload.exe
description se7en
locale de-DE
osdevice partition=F:
systemroot \Windows
resumeobject {c1fc5a1a-d43b-11df-9ff9-806e6f6e6963}
sos No
debug No
##ENDE##
Coole Seite hier übrigens!
Gruß nine
Das Anbinden/Trennen der VHD geht auch einfacher, mit einer batch:
mount.cmd
select vdisk file=C:\disk.vhd
attach vdisk
diskpart /s C:\mount.cmd
unmount.cmd
select vdisk file=C:\disk.vhd
detach vdisk
diskpart /s C:\unmount.cmd
Gruß
Siggi