Sysinternals Disk2vhd v2.02 freigegeben

Windows[English]Kleiner Hinweis für Leser, die gelegentlich eine Windows-Installation in eine virtuelle Maschine überführen müssen. Microsoft hat im Oktober das Tool Disk2vhd v2.02 in der kostenlosen Sysinternals-Suite freigegeben. Mit dem Tool kann man eine Windows-Installation in einen .vhd-Disk übertragen lassen, die sich dann mit Virtual PC oder Hyper-V ausführen lässt. Ich hatte vor langer Zeit schon mal über diese Thematik gebloggt. Nachdem mich ein Blog-Leser auf die neue Version aufmerksam gemacht hat, hier nochmals ein kurzer Überblick – inklusives eines Sicherheitshinweises.


Anzeige

Ich selbst habe seit ewigen Zeiten nichts mehr mit Disk2vhd gemacht, das ich Hyper-V nicht mehr einsetze und Virtual PC so gut wie tot ist. Es war eine kurze Mail von Thomas Z., die mich auf das Thema hinwies (danke für die Info). Thomas schrieb:

Hallo Herr Born,

Version 2.02 dürfte ganz frisch sein – bin gerade drüber gefallen. Neu scheint die 64-Bit Version und "Prepare for use in Virtual PC" zu sein Vielleicht einen Beitrag wert.

Der Mail hatte er noch den Download-Link auf disk2vhd beigefügt.

Was ist Disk2vhd v2.02?

Der Tool-Name Disk2vhd umreißt bereits die Funktion des Tools: Es dient dazu, den Inhalt eines logischen Laufwerks in eine virtuelle Disk (.vhd-Datei) zu kopieren. Diese .vhd-Dateien lassen sich dann in Virtual PC oder Hyper-V laden. In der Beschreibung von disk2vhd heißt es:

Disk2vhd ist ein Dienstprogramm, das VHD-Versionen (Virtual Hard Disk – Microsofts Festplattenformat für virtuelle Maschinen) von physischen Festplatten zur Verwendung in virtuellen Maschinen (VMs) von Microsoft Virtual PC oder Microsoft Hyper-V erstellt.

Microsoft gibt an, dass der Unterschied zwischen Disk2vhd und anderen Tools zur Umwandlung von physischen in virtuelle Festplatten darin besteht, dass sich das Tool Disk2vhd auf einem System ausführen lässt, das online ist. Disk2vhd nutzt dazu die in Windows XP eingeführte Volume Snapshot-Funktion von Windows, um konsistente Point-in-Time-Snapshots der Volumes zu erstellen, die Sie in eine Konvertierung einbeziehen möchten. Man kann Disk2vhd sogar veranlassen, die VHDs auf lokalen Datenträgern zu erstellen, auch auf denen, die gerade konvertiert werden. Allerdings sollte einem bewusst sein, dass die Leistung besser ist, wenn sich die Ziel-VHD auf einem anderen Datenträger befindet als auf dem zu konvertierenden Laufwerk.


Anzeige

Disk2vhd

Das Tool kann nach dem Download der ZIP-Archivdatei lokal in eine Verzeichnis entpackt werden. Dann lässt es sich als 32- oder 64-Bit-Version direkt aus dem betreffenden Ordner ausführen. Es ist keine Installation erforderlich, die Ausführung erfordert jedoch Administratorberechtigungen. Das Tool meldet sich dann mit dem in obigem Screenshot gezeigten Fenster. Dort lassen sich der Pfad und der Name der Zieldatei (vhd oder vhdx) angeben und einige Optionen wählen. Zudem kann über Kontrollkästchen vorgegeben werden, welche Partitionen/logischen Laufwerke einer Harddisk in die virtuelle Disk übertragen werden sollen.

Die Option zur Bereitstellung der .vhd für Virtual PC dürfte inzwischen nicht mehr relevant sein. Das Produkt Virtual PC wurde bis 2009 kostenlos abgegeben, und konnte eine Virtualisierung bereitstellen. In Windows 7 wurden Teile im Windows XP Mode verwendet – ab Windows 8 kann das Produkt nicht mehr verwendet werden. Der Nachfolger ist Hyper-V.

Am Artikelende finden sich einige Artikel aus meinem Blog rund um Virtual PC und auch das Tool disk2vhd. Die Beiträge stammen aus 2010 und 2011, als ich mit der Technologie experimentiert habe. Aber es gab immer wieder Probleme mit den in virtuelle Disks kopierten und dann virtualisierten Betriebssystemkopien. Ich habe dann das Tool nicht mehr verwendet. Wie die Sachlage mit der zum 12. Oktober 2021 freigegebenen Version 2.02 ausschaut, kann ich nicht sagen. Weitere Details zur Handhabung des Tools (diese unterstützt auch einen Aufruf über die Eingabeaufforderung) und der Restriktionen sind der Sysinternals-Seite für Disk2vhd zu entnehmen.

Disk2vhd mit DLL-Hijacking-Schwachstelle

Bevor jetzt die gesamte Leserschaft vor Begeisterung dahin schmilzt und Stefan Kanthak hier herein grätscht, weise ich vorsorglich auf einen nicht so dollen Sachverhalt hin. Wer Disk2vhd ausführt, muss dem Tool Administrator-Berechtigungen gewähren und sollte daher sicher sein, dass sein System frei von Schadsoftware ist. Denn Disk2vhd weist (wie auch andere Sysinternals-Tools) eine DLL-Hijacking-Schwachstelle auf.

Disk2vhd mit DLL-Hijacking-Schwachstelle

Ich habe (weil mir das noch im Hinterkopf war), das Tool disk2vhd.exe über mein Testbett gejagt und bekam eine ganze Reihe Warnmeldungen wie die oben im Screenshot gezeigte. Das Tool disk2vhd.exe benötigt zur Laufzeit verschiedene Windows DLL-Dateien, sucht diese aber nicht in den Windows-Ordnern, sondern überlässt Windows die Suche. Befindet sich eine DLL mit dem gesuchten Namen im Ordner, aus dem disk2vhd.exe aufgerufen wird, wird diese Kopie geladen. Für Malware ein gefundenes Fressen – es muss lediglich eine DLL-Datei des betreffenden Namens im Programmverzeichnis untergebracht werden. Dann bekommt diese DLL über den disk2vhd-Prozess administrative Berechtigungen. Nicht so optimal, wenn man eine Festplatte in eine virtuelle Disk zur späteren Virtualisierung überführen möchte.

Anmerkungen: Einige Hinweise zum Testbett von Stefan Kanthak zur Ermittlung von DLL-Hijacking-Schwachstellen habe ich im Blog-Beitrag AdwCleaner 8.0.6 schließt erneut DLL-Hijacking-Schwachstelle gegeben. Hinweise zum Thema DLL-Hijacking-Schwachstellen finden sich im Blog-Beitrag Die Nirsoft-Tools und die DLL-Hijacking-Schwachstellen.  Damit kann niemand mehr mit "ich habe das nicht gewusst" argumentieren.

Ähnliche Artikel:
2. Microsoft Virtual PC 2007 und Windows Virtual PC
Windows Virtual PC: bedingt tauglich!
Windows Virtual PC: Keine VMs anlegbar
Viel Ärger mit disk2vhd
Windows 10 und die Falle bei der VHD-Installation
Windows-Aktivierungsprobleme bei der P2V-Umsetzung


Anzeige

Dieser Beitrag wurde unter Virtualisierung, Windows abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

17 Antworten zu Sysinternals Disk2vhd v2.02 freigegeben

  1. 1ST1 sagt:

    "Microsoft gibt an, dass der Unterschied zwischen Disk2vhd und anderen Tools zur Umwandlung von physischen in virtuelle Festplatten darin besteht, dass sich das Tool Disk2vhd auf einem System ausführen lässt, das online ist."

    Das macht der VMWare-Converter auch.

  2. Stefan sagt:

    Jetzt wäre noch interessant was "Prepare for use in virtual PC" nun wirklich macht. Changelog hab ich noch keinen gefunden. VirtualPC ist ja tot, vielleicht wird auch "prepare to run in !A! virtual PC" gemeint und tauscht zb. die Controllertreiber gegen generische aus, obwohl das auch nur bis 7/2K8R2 ein Problem war ¯\_(ツ)_/¯ .

    • 1ST1 sagt:

      Das setzt in der Registry einen Flag für Sysprep.

      • Stefan sagt:

        Ok, klingt jetzt nicht sehr nützlich aber ok.

        • 1ST1 sagt:

          Ist aber wichtig, damit die virtualisierte Kiste beim ersten Boot anfängt die virtuelle Hardware zu erschnüffeln um neue Gerätetreiber insbesondere für den Diskcontroller, Netzwerkkarte und Grafikkarte erschnüffelt.

          • Stefan sagt:

            Hätt ich jetzt noch nicht gebraucht. Sysprep serialisiert das System, sprich setzt Accounts und die OOBE zurück, sowas brauch ich nicht. Die Controllertreiber waren zu 2003-Zeiten interessant weil das System sonst nicht startete wenn es noch an den alten Hardwareraidcontroller glaubte. Da musste man noch den msahci auf 1 stellen. Später brauchte man das nicht weil IDE und Sata immer mitgeladen wurden und er die Treiber automatisch austauschte. Die Hyper-V-Integrationservices sind ja nicht ohne Grund bestandteil des Betriebsystems.

  3. Sven Fischer sagt:

    Danke für die Info. Ich nutze disk2vhd schon einige Zeit und gerne, um Installationen vom Blech in VMs zu konvertieren. Nur schade, das da die max. Partitionsgröße auf 127 GB geblieben ist.

    • Stefan sagt:

      Das betrifft nur das steinalte VirtualPC, weder die vhd nich die vhdx-Größe an sich sei es als Container für HyperV oder direkt als Laufwerk im System.

      • Sven Fischer sagt:

        Danke, das mit VirtualPC steht auch so in der Doku. Da war ich in der Annahme, das das 127 GB Limit allgemein ist. Ich nutze da ausschließlich VirtualBox und KVM/QEMU.

  4. mvo sagt:

    Ich nutze Disk2VHD seit Jahren. Einfacherer und schneller kann man nicht von Blech auf Hyper-V migrieren.

  5. Martin sagt:

    Ich sichere mit der Commandline-Funktion von Disk2vhd über einen Aufgabenplanungsjob meine Downloadplatte als vhdx auf eine Backupplatte. Das funktionierte mit der Version 2.01 immer tadellos.

    Mit der Version 2.02 musste ich bei den anderen Jobs für vhd Dateien den Pfad von disk2vhd.exe lediglich in disk2vhd64.exe ändern und es gibt keine Probleme, aber bei vhdx funktioniert es partout nicht. Disk2vhd64 gibt da einen Syntaxfehler aus und Disk2vhd.exe (2.02) funktioniert auf einem 64 Bit System nicht. Auch wenn man die GUI nutzt und als Zieldatei vhdx angibt, ohne die Checkbox VHDX zu aktivieren, gibt es einen Fehler. Die Hilfedateien von v2.01 und v2.02 sind identisch und im Netz finde ich auch nichts.

    Eine Hilfe zu den command line Parametern gibt das Programm weder mit -? noch mit /? her. Die 2.02 hat wohl einen command line Bug. Ich bin zurück auf die 2.01.

    • Martin sagt:

      Ich habe auf gut Glück etwas herumprobiert. Der bislang undokumentierte commnad line Parameter -x bringt die Lösung, um eine vhdx zu erstellen.

      Es gibt aber einen anderen command line Bug: Die disk2vhd64.exe (2.02) nutzt den "Volume Shadow Copy Service" nicht mehr – weder ohne, noch mit dem Parameter -c. Und dazu muss ich auch noch gleich meinen obigen Beitrag korrigieren, denn ohne den Parameter -c, der ja "Volume Shadow Copy" deaktiviert, bringt disk2vhd64.exe einen Syntax-Fehler und es funktioniert gar nicht. Nun könnte es ja sein, dass man jetzt vielleicht für die Steuerung des "Volume Shadow Copy Service" unbedingt einen Parameter angeben muss, also beispielsweise -c für deaktiviert und -v für aktiviert, aber -v scheint entweder ignoriert oder wie -c behandelt zu werden (ich habe im Taskmanager natürlich nachgesehen, ob der Prozess VSSVC.exe startet).

      Das Ganze habe ich unter Windows 7 x64 getestet.

      Für die command line Nutzung muss man also zurück zur 2.01.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.