Hey Guys, wusstet ihr, dass Windows 7 auch in der Lage ist VHD-Dateien (also virtuelle Festplatten) nativ zu booten? Es ist eine Schande das jetzt erst zu erzählen, aber ich habe das bis vor kurzem nicht als eine besondere Innovation empfunden. Nachdem aber jeder, dem ich das erzähle, aus dem Häuschen ist, blogge ich das doch gleich mal.

Also kurz zusammen gefasst. Der Windows 7 Bootloader akzeptiert nicht nur klassische Festplatten, sondern kann auch ein System aus einer VHD-Datei heraus booten. VHD’s kennt man, wenn man vielleicht schon mal mit VirutalPC ein System aufgesetzt hat. Wenn einem aber eine virtuelle Umgebung zu langsam ist oder man native Hardware-Unterstützung braucht (z.B. DirectX), dann bootet man seine VHD halt einfach nativ.

Wie das geht? Das Zaubertool heißt bcdedit.exe und verantwortet die Konfiguration des Bootloaders.

bcdedit /copy {current} /d "Virtuelle Festplatte"
bcdedit /set <guid> device vhd=[driveletter:]\<directory>\<vhd filename>
bcdedit /set <guid> osdevice vhd=[driverletter:]\<directory>\<vhd filename>
bcdedit /set <guid> detecthal on

Zeile 1 kopiert einen vorhandenen Boot-Eintrag – in dem Falle den, mit dem aktuell gebootet wurde – und erstellt einen neuen Eintrag mit dem Namen “Virtuelle Festplatte”. Name beliebig änderbar :) Dieser Befehl spuckt eine Guid aus, die später in den Platzhalter für die Guid eingesetzt wird.

Zeile 2 und 3 setzen das Bootlaufwerk auf die gewünschte VHD-Datei. Bitte beachtet, dass die eckigen Klammern beim Laufwerksbuchstaben zur Syntax gehören. Also der Pfad lautet anschließend “[D:]\VHDs\meineVhd.vhd” oder so. Platzhalter <guid> bitte durch die GUID aus Zeile 1 ersetzen.

Mit Zeile 4 bewegt man den HAL (Hardware Abstraction Layer) des Clientsystems dazu, sich die Hardware nochmal genauer anzuschauen und die passenden Treiber nachzuladen.

Thats it! Beim nächsten Systemstart wird dann eine weitere Bootoption angezeigt.