CompletePC Backup & VHDs direkt in Vista mounten

Long will ja durch eine Stellenanzeige wissen, dass Windows 7 VHDs (virtuelle Festplatten) direkt ins System einbinden kann. Gute Sache, aber das kann ich mit Vista auch -auf eigene Gefahr (siehe Nachsatz).

Wozu?

  • Schnell mal eine Datei aus einer VHD rausziehen oder reinschreiben ohne Hochstarten
  • Das „Complete PC Backup“ ist ebenfalls ein VHD File…

Damit dürfte klar sein, dass das eine massive Erleichterung wäre. Und tatsächlich enthält der Virtual Server 2005 R2 SP1 ein Tool namens vhdmount. Und theoretisch installiert man das einfach und schon geht’s. Praktisch liefere ich hier eine Anleitung.

Step-by-Step Anleitung:

  1. Virtual Server herunterladen
  2. Virtual Server (nicht) installieren. Da ich eigentlich nur das Tool VHDmount haben will, wähle ich alles andere ab.
    vhd_setup1 vhd_setup2
  3. VS2005R2SP1 ist nicht supportet unter Vista SP1. Also Update für Virtual Server herunterladen. Und wie mir KB948515 verrät ist die Installation des selbigen in der Commandline (als Administrator!) zu starten:
    msiexec /p path of .msp file
    Damit ist der Support wieder hergestellt.
  4. Das Update ist noch zu wenig, es müssen die Treiber trotzdem manuell eingespielt werden. Zuerst der „Microsoft Virtual Server Storage Bus“. Dazu geht man in den Gerätemanager (z.B. mit Rechtsklick im Startmenü auf Computer –> Verwalten):
    Dann wählt man „Legacy Hardware hinzufügen“
    Hardware manuell aus einer Liste wählen, alle Geräte, Datenträger. Im Verzeichnis
    „%programfiles%\\Microsoft Virtual Server\\vhdmount“ finden sich zwei inf dateien.
    vhd_setup3vhd_setup4
  5. Dort aus einer der inf Dateien zuerst den „Microsoft Virtual Server Storage Bus“ installieren.
    vhd_setup5
  6. Nächster Schritt: in einer Administrator cmd eine VHD mounten.
    „%programfiles%\\Microsoft Virtual Server\\vhdmount\\vhdmount.exe“ /p deinevhd
  7. Wieder in den Gerätemanager: dort sollte es ein Virtual Server Storage Device mit Fragezeichen geben. Diesen Treiber aktualisieren, die richtige Versionsnummer muss 1.1.623.0 sein. Ist er das nicht oder findet sich gar kein „Virtual Server Storage Device“, dann Treiber aktualisieren, genauso wie beim Bus Treiber (Datenträger,..)
    vhd_setup6
  8. So, sollte jetzt eigentlich schon gehen, die Platte von vorhin versuchen wir gleich noch mal, erst mit vhdmount /u /c wieder auswerfen, dann noch mal starten mit /p.

Wenn alles geklappt hat, dann sollte man (bei gemounteter VHD) im Gerätemanager in den Laufwerken eine VS SCSI Disk haben und die Storage Devices als eigene Kategorie. Und die gemountete Disk ist ganz normal über Explorer Filesystem zugänglich.

vhdmount7_6f7879f8-a925-48f9-ab7b-34bd281e10d3

Und jetzt noch per Mausklick

vhd_setup9So das ist schon mal ganz toll, aber jetzt müßte ich jedesmal die Commandline bemühen. Deswegen noch eine kleine Registry Änderung, damit das mit der Maus auch geht. Bevor ich das aber mache, gehe ich nochmal im Explorer in „%programfiles%\\Microsoft Virtual Server\\vhdmount\\“ und verpasse mit Rechtsklick der vhdmount.exe Kompatibilitätseinstellungen – durch die Änderung an der Hardware sind erhöhte Rechte notwendig. Unschön.

Dann noch ein paar Zeilen zur Registry hinzugefügt. Anmerkung: ich beende hier automatisch mit dem Schalter commit, d.h. Änderungen werden übernommen. Es gäbe auch andere Möglichkeiten, siehe dazu vhdmount.exe /? Man könnte z.B. noch mehrere Optionen dem Kontextmenü hinzufügen, aber für mich reicht das so:

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Virtual.Machine.HD][HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Virtual.Machine.HD\\shell]@="Mount"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Virtual.Machine.HD\\shell\\Dismount][HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Virtual.Machine.HD\\shell\\Dismount\\command]@="\\"C:\\\\Program Files\\\\Microsoft Virtual Server\\\\Vhdmount\\\\vhdmount.exe\\" /u /c \\"%1\\""[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Virtual.Machine.HD\\shell\\Mount][HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Virtual.Machine.HD\\shell\\Mount\\command]@="\\"C:\\\\Program Files\\\\Microsoft Virtual Server\\\\Vhdmount\\\\vhdmount.exe\\" /p \\"%1\\""[HKEY_CLASSES_ROOT\\.vhd]@="Virtual.Machine.HD"

Fertiges Registry File herunterladen:<% file name=“VHDMount_Explorer-reg“ %>

Ergebnis:

Mit Rechtsklick/Doppelklick kann ich nun bequem VHDs mounten, bzw. wieder unmounten:

vhdmount8_094454a4-2351-496d-9d08-60199ca9d81c

Die VHD steht mir im Explorer als Laufwerk zur Verfügung. Nice.

Nachsatz: es war mühsamer als hier beschrieben. Warum auch immer, es hat nicht so gleich wollen und die Update Prozedur war… strange. Ich hoffe die Schritte habe ich nun in richtiger Reihenfolge, ich musste da ein wenig herumprobieren. Wenns wer selbst versuchen will, dann gerne, stehe mit Rat und Tat zur Seite. Probleme waren unter anderem, dass der Installer vom Virtual Server nicht wollte (aber dann doch hat), dass das manuelle Reinschieben des Bus Treibers zwar letztlich funktioniert hat, aber offenbar eine Kernel Protection auf den Plan rief (wodurch der nicht gespeicherte Live Writer Post futsch war), dass der Storage Treiber sich mit Code 10 in der Systemsteuerung nicht aktivierbar ließ,… letztlich hat’s funktioniert. Na vielleicht geht’s dann in Windows 7 einfacher🙂

Quellen:

Die Idee zu dem Artikel stammt übrigens auch aus der TechEd Session „Tricks of the Windows Vista Masters„, da wurde vhdmount auch erwähnt.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s