Windows 7 in eine VHD installieren
Tja, die Nacht war für mich um drei Uhr beendet. Schlaflos in Bremerhaven. Wohl zu spät zu viel Chilli gegessen, don’t know. Zeit mal ein wenig zu frickeln und mal wieder Sachen auszuprobieren. Heute: die Installation von Windows 7 in eine VHD. Vorab die Beantwortung der Frage, was überhaupt eine Installation in eine VHD bringt. Eine VHD ist eine virtuelle Festplatte, ihr installiert euer Betriebssystem also nicht direkt auf die Festplatte (im herkömmlichen Sinne) sondern in eine Art Container. Dieser Container (bzw. das Betriebssystem darin) wird dann von einem ganz normalen Bootloader geladen. Ist simpel ausgedrückt aber sollte als grobe Erklärung reichen. Techfreaks wissen sicherlich, wo und wie sie sich schlau lesen können.
Der Vorteil von VHDs liegt auf der Hand: einfachstes Backup und die Möglichkeit ganz simpel mehrere Systeme laufen haben zu können. Ich habe das ganze mal auf einer komplett leeren 64 Gigabyte großen Festplatte installiert. Einfach mal um zu zeigen, was man für Schritte durchlaufen muss. Vieles wird man sicherlich auch woanders im Netz finden, die nötigen Quellen findet ihr am Ende des Beitrags. Damit ich euch bessere Screenshots zeigen kann, habe ich das Ganze mal in eine virtuelle Maschine (Parallels unter Mac OS X) installiert. Die Schritte sind aber identisch zur nativen Installation auf einem normalen Boliden.
Die Festplatte vorbereiten. Sofern diese jungfräulich ist, muss diese mittels Diskpart noch eingerichtet werden. Das ist relativ simpel wenn man noch einen Zweitrechner hat, an dem man sich schlau lesen kann. Diskpart müsst ihr starten, nachdem ihr (wie auf dem ersten Screenshot oben zu sehen) auf „Weiter“ geklickt habt. Wie? Ganz einfach: Shift+F10 drücken.
Nun ruft man diskpart auf. Mit list disk die Platten gegebenenfalls anzeigen lassen. Mit create partition primary erstellt ihr eine große primäre Partition. Nachträglich partitionieren kann man ja später in bunt.
Danach könnt ihr euch mit list volume noch euer Ergebnis anzeigen. Auch könnt ihr noch mit format c: /q eure Platte schnell formatieren.
Nun geht es an die Erstellung der VHD. Hier habe ich einmal die Vorgaben gemäß des HowTos von Johann Nitsch übernommen. Hackt folgendes in der Kommandozeile ein:
create vdisk file=“c:\win7.vhd“ type=expandable maximum=12000
select vdisk file=“c:\win7.vhd“
attach vdisk
Erklärung: Ihr erstellt damit auf dem Laufwerk C: eine bis zu 12 Gigabyte große VHD. Expandable heisst: sie wächst an. Verbraucht ihr weniger ist sie kleiner. Die maximale Größe beträgt allerdings 12 Gigabyte. Solltet ihr eine zu kleine VHD erstellt haben, so kann diese später noch mit dem VHD-Resizer vergrößert werden. Der Name der VHD ist übrigens frei wählbar. Wie auch der Name des GodMode für Wndows 7 😉
Mit der zweimaligen Eingabe von exit kommt ihr wieder in den normalen Installationsmodus und könnt Windows 7 benutzerdefiniert installieren.
Zu erwähnen ist, dass ihr nur Windows 7 Ultimate aus einer VHD booten könnt. Ihr könnt zwar jedes Windows 7 installieren, aber nicht booten. Ob es da irgendwelche Tipps & Tricks gibt kann ich aus dem Stehgreif nicht sagen, da ich hier nur Windows 7 Ultimate in Gebrauch habe.
Nach der Installation. Ihr werdet in eurem Explorer einmal eure gemountete VHD vorfinden und als nächstes Laufwerk die eigentliche Festplatte, welche eure VHD bereit stellt. Klingt komisch, ist aber so.
Das Schöne: ihr könnt diese VHD im laufenden Betrieb zur Sicherung irgendwo hin kopieren.
Kleines Beispiel gefällig? Erstellt von dieser VHD mal eine Kopie auf dem Laufwerk, so zum Beispiel:
Was ihr davon habt? Na, eine echte 1:1-Kopie eures lauffähigen Systems. Ihr könntet jetzt lustig Sachen ausprobieren und installieren. Läuft euer System unstabil oder ihr wollt einen alten Zustand (zum Beispiel vor einer Software-Installation haben), dann kloppt ihr die aktuelle VHD einfach in die Tonne und ihr nehmt eure angelegte Kopie (umbenennen nicht vergessen!). Des Weiteren könnt ihr auch eine VHD ganz einfach in euer System einhängen – zum Beispiel um Daten aus der VHD zu ziehen. Wie das geht beschrieb ich ja schon in diesem Beitrag: VHDs automatisch einbinden und die Verschlüsselung mit Bitlocker. Sieht dann so aus:
Alternativ könnt ihr mit der kopierten VHD auch ein zweites System nur zum Testen booten. Diese VHD muss dafür nur mit dem Bootmanager von Windows bekannt gemacht werden. Wie das geht? Eigentlich ganz easy. Führt die Kommandozeile als Admin aus (cmd, Rechtsklick: als Administrator ausführen):
Hackt nun folgendes in die Kommandozeile:
bcdedit /copy {current} /d "Boot Description"
„Boot Description“ sollte durch euren eigenen Boot-Text ersetzt werden, kann man aber später ändern (dazu gleich was).
Kopiert euch nun eure ID heraus und fügt folgendes ein:
bcdedit /set {557b2157-0aee-11df-b907-c148aff72235} osdevice vhd=[D:]\win7Testsystem.vhd
gefolgt von:
bcdedit /set {557b2157-0aee-11df-b907-c148aff72235} device vhd=[D:]\win7Testsystem.vhd
Den Pfad bzw. Namen müsst ihr logischerweise durch den eurer VHD ersetzen. Bootet ihr nun euer System, so wird euch folgendes anlächeln:
Wollt ihr Namen oder Bootreihenfolge ändern, so könnt ihr die Freeware EasyBCD benutzen.
Alternativ gibt es das gute alte msconfig:
So, jetzt ist es kurz nach halb sechs und der erste Kaffee will getrunken werden. Ich hoffe, dass ihr wenigstens ein bisschen Nutzen aus meiner Schlaflosigkeit ziehen konntet. Mit VHDs lässt sich noch wesentlich mehr bewerkstelligen, vielleicht schreibe ich in der nächsten schlaflosen Nacht noch etwas dazu 😉
Weiterführende Quellen und Lesenswertes:
Microsoft Technet: Erstellen von Partitionen mit diskpart
Windows 7 parallel zu Windows XP oder Windows Vista in eine VHD installieren
BCDEdit im Microsoft Technet erklärt
Wie funktioniert das Booten von VHDs
Adding a existent VHD to the Windows 7 Boot Loader
Windows 7: Natives Booten von VHD
Windows 7 VHD Mount
@caschy
Wenn ich jetzt böse mit Dir wäre, würde ich Dir empfehlen, die gut gemeinten Ratschläge zur Nachtruhe nicht zu befolgen, denn da hast Du immer so gute Einfälle … 🙂
Lieben Gruß (heute nicht aus Ulm, sondern Bonn)
hmm, ich habe mit virtual box ein neues System erstellt für win7 und dazu gleiche eine neue virtuelle HDD mit 64 GB.
Gestartet und mit list disk die Platten anzeigen lassen. Nachdem ich den leeren Datenträger ausgewählt habe, habe ich mit „create partition primary“ eine neue primäre Partition erstellt.
Nun wollte ich mir die Volumes anzeigen lassen und dort steht dann:
http://www.icyslounge.de/bild_anzeigen.php?bild_anzeigen=bilder/screenshots/win7vhd_1.jpg
Dann habe ich die partition ausgewählt und format eingegeben und nun formatiert er die Partition. format /q ging nicht und format c: /q ja auch nicht, weil kein Laufwerksbuchstabe vorhanden. Mal sehen, was dabei herauskommt, wenn er damit fertig ist.
@Marko: Hast du es danach (in diskpart) mit „assign letter=X“ versucht, der Partition einen Laufwerksbuchstaben zu geben?
tja, das hätte ich natürlich mal probieren können. Übrigens hat er bei 78% des Formatierens nichts mehr gemacht.
Habe dann neugestartet und bin das Setup durchgegangen bis zum formatieren. Habe dann das Setup wieder abgebrochen und nochmals mit diskpart eine VHD erstellt und in diese installiert „er“ gerade Windows7.
:nachtrag: <– sry dafür
Tja, ich habe natürlich Windows 7 Home Premium und da ist das Booten von einer VHD nicht gestattet. 🙁
http://www.icyslounge.de/bild_anzeigen.php?bild_anzeigen=bilder/screenshots/win7vhd_2.jpg
Gibt es auch eine Möglichkeit eine „Hardware Festplatte“ in eine virtuelle Festplatte zu konvertieren bzw. eine Kopie meiner Festplatte als lauffähige Virtuelle Maschine zu erstellen?
Ja -> http://technet.microsoft.com/en-nz/sysinternals/ee656415%28en-us%29.aspx
@Jo: Das OS der „Hardware Festplatte“ wurde auf einem PC mit realen Komponenten installiert. Eine virtuelle Maschine liefert allerdings nur Standard-Komponenten, also ein ganz anderes System, von daher bin ich da eher skeptisch.
@Marko: Ja, nur die Ultimate lässt sich anschließend auch booten.
DANKE! Das ist mal wieder ein Artikel, von dem ich vorher gar nicht wusste, dass ich ihn bisher vermisst hatte 😉
Ich werde flugs versuchen, auch mal W7 von einer VHD zu Booten. Was für eine praktische Angelegenheit…
Ich muss mein Professional wohl nur noch auf Ultimate upgraden? Lese ich das hier richtig?
@Hapepe82:
Da versuch ich lieber, ob ich mir die Schuhe mit den Zähnen zubinden kann, das erscheint mir nich weniger kompliziert, grins.
Obwohl ich ein Upgrade-Problem nich hätte – ich hab Ultimate…
VHDs kannst du auch im laufenden WiN7-System über die Computerverwaltung erstellen; rechtsklick auf Datenträgerverwaltung: Festplatte erstellen/anfügen, wobei die so eingefügte VHD nicht gebootet werden kann. Das klappt nur über diskpart s.o.
– Du brauchts nicht nur eine Ultimate/Enterprise auch das Bios muss mit VHDs umgehen können! Dafür gibts ein tool, womit diese VHD-Boot-Geschichte getestet werden kann, mir will nur der Name dieses tools nicht einfallen … google findet es ..
@Jo mit „Disk2VHD“ kannst du eine „echte“ Festplatte in eine VHD kopieren.
http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx
@all mit „vhdattach“ kann eine VHD als Laufwerk in ein laufendes System eingehängt werden.
http://www.jmedved.com/default.aspx?page=vhdattach&rendering=xhtml
Werden die Änderungen, die ich an meinem System mache sofort in die VHD übernommen, oder erst bei einem Herunterfahren?
Sprich: Habe ich alle Änderungen bis vor wenigen Sekunden in der VHD, falls ich diese zur Sicherung kopiere?
Man benötigt also gar kein fest installiertes System mehr, sehe ich das richtig?
Wie sinnvoll ist es eigentlich jede win 7 Installation einfach von Haus aus in eine vhd zu hauen. Also statt der normalen Installation auf Partition C, einfach in eine VHD mit maximaler Größe in C installieren. Der Vorteil wäre, ich könnte jederzeit und ohne Imageprogramm das jetzige Image aus dem laufenden Betrieb einfach woanders hin kopieren ? Oder frisst der Betrieb im diesem vhd-Container Ressourcen? Da dieses vhd-Zeugs treibermäßig wohl sehr nah am System ist(muss es ja uch wenn es mehr oder weniger eine HDD für das OS simuliert), also kein simpler Aufsatz am Ende der Kette ist, sollte man doch keine Probleme haben oder ?
Als Laie hab ich mir das so erklärt:
Ich habe bereits WinXP installiert und möchte parallel beispielsweise Win7 Ultimate betreiben. Wie oben beschreiben einfach Windows 7 in einer VHD installieren. Dabei wird unter anderem auch der Bootmanager umgeschrieben, so dass ich 2 Einträge bekomme: a) Frühere Windows Versionen b) Windows 7. Wenn ich Win7 boote, sehe ich meine C-Partition als Laufwerk D. Wenn ich WinXP boote, sehe ich lediglich auf Laufwerk C eine *.vhd Datei, die ich unter anderem kopieren und auch ersetzen kann. Unter Win7 sehe ich ebenfalls (auf LW D) die *.vhd Datei, so dass man ein zweites System eigentlich nicht mehr benötigt.
Ich habe mal Windows7 mit VirtualBox.org in eine VHD installiert. Ging relativ einfach und -soweit ich mich errinnern kann- ohne irgendein Kommandozeilen-Tool!
@Caschy: Erklär doch mal bitte weshalb Du hier dafür Parallels Desktop und nicht VirtualBox benutzt hast. Was sind ggf. die Vor- und/oder Nachteile, sofern es welche gibt. Danke.
@Georg: Caschy hat eine VM doch nur wegen der Screenshots genutzt. Also ists doch egal von wem die VM ist.
Die Datei wird soviel ich verstanden habe hier nativ gebootet, d.h. es braucht hierfür kein separates Proggi wie VirtualBox und Co, hier läuft das System (fast) wie es auf direkter Festplatte installiert wurde.
Mich würde interessieren, ob die Treiber Z.B. einer TV- Karte hier funktionieren bzw. direkt angesprochen werden, denn in Virtual Box funktioniert keine TV – Karte.
@rokokokko: Ein VHD-„Container“ ist nur ein reservierter Platz auf dem Datenträger, keine virtuelle Maschine. Die TV-Karte müsste also, wie alles andere auch, direkt ansprechbar sein.
OK,dann werd ich’s auch mal probieren, wenn ich Zeit finde..
Anstatt auf einer Partition mehrere VHDs zu installieren, müsste es die „alte“ Variante auch doch bringen, so dass man jedes Betriebssystems auf eine eigene Parttition installiert.